Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/ASTQueries.java')
-rw-r--r--core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/ASTQueries.java12
1 files changed, 12 insertions, 0 deletions
diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/ASTQueries.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/ASTQueries.java
index fe6042abc05..7c3736634e1 100644
--- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/ASTQueries.java
+++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/ASTQueries.java
@@ -172,4 +172,16 @@ public class ASTQueries {
}
return null;
}
+
+ /**
+ * Check whether 'ancestor' is an ancestor of 'descendant' in the AST.
+ */
+ public static boolean isAncestorOf(IASTNode ancestor, IASTNode descendant) {
+ do {
+ if (descendant == ancestor)
+ return true;
+ descendant = descendant.getParent();
+ } while (descendant != null);
+ return false;
+ }
}

Back to the top