diff options
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.java | 12 |
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; + } } |