|
Eclipse CDT 7.0 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.eclipse.cdt.core.dom.ast.ASTVisitor
public abstract class ASTVisitor
Abstract base class for all visitors to traverse ast nodes.
visit() methods implement a top-down traversal, and
leave() methods implement a bottom-up traversal.
To visit c- or c++-specific nodes you need to implement ICASTVisitor
and/or ICPPASTVisitor
in addition to deriving from this class.
Clients may subclass.
Field Summary | |
---|---|
boolean |
includeInactiveNodes
Per default inactive nodes are not visited. |
static int |
PROCESS_ABORT
Abort the entire traversal. |
static int |
PROCESS_CONTINUE
Continue with traversing the children of this node. |
static int |
PROCESS_SKIP
Skip the traversal of children of this node, don't call leave on this node. |
boolean |
shouldVisitAmbiguousNodes
Normally neither ambiguous nodes nor their children are visited. |
boolean |
shouldVisitArrayModifiers
Set this flag to visit array modifiers. |
boolean |
shouldVisitBaseSpecifiers
Set this flag to visit base specifiers off composite types. |
boolean |
shouldVisitDeclarations
Set this flag to visit declarations. |
boolean |
shouldVisitDeclarators
Set this flag to visit declarators. |
boolean |
shouldVisitDeclSpecifiers
Set this flag to visit declaration specifiers. |
boolean |
shouldVisitDesignators
Set this flag to visit designators of initializers. |
boolean |
shouldVisitEnumerators
Set this flag to visit enumerators. |
boolean |
shouldVisitExpressions
Set this flag to visit expressions. |
boolean |
shouldVisitImplicitNameAlternates
Sometimes more than one implicit name is created for a binding, set this flag to true to visit more than one name for an implicit binding. |
boolean |
shouldVisitImplicitNames
Implicit names are created to allow implicit bindings to be resolved, normally they are not visited, set this flag to true to visit them. |
boolean |
shouldVisitInitializers
Set this flag to visit initializers. |
boolean |
shouldVisitNames
Set this flag to visit names. |
boolean |
shouldVisitNamespaces
Set this flag to visit to visit namespaces. |
boolean |
shouldVisitParameterDeclarations
Set this flag to visit parameter declarations. |
boolean |
shouldVisitPointerOperators
Set this flag to visit pointer operators of declarators. |
boolean |
shouldVisitProblems
Set this flag to visit problem nodes. |
boolean |
shouldVisitStatements
Set this flag to visit statements. |
boolean |
shouldVisitTemplateParameters
Set this flag to visit template parameters. |
boolean |
shouldVisitTranslationUnit
Set this flag to visit translation units. |
boolean |
shouldVisitTypeIds
Set this flag to visit typeids. |
Constructor Summary | |
---|---|
ASTVisitor()
Creates a visitor that does not visit any kind of node per default. |
|
ASTVisitor(boolean visitNodes)
Creates a visitor. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final int PROCESS_SKIP
public static final int PROCESS_ABORT
public static final int PROCESS_CONTINUE
public boolean shouldVisitNames
public boolean shouldVisitDeclarations
public boolean shouldVisitInitializers
public boolean shouldVisitParameterDeclarations
public boolean shouldVisitDeclarators
public boolean shouldVisitDeclSpecifiers
public boolean shouldVisitArrayModifiers
public boolean shouldVisitPointerOperators
public boolean shouldVisitExpressions
public boolean shouldVisitStatements
public boolean shouldVisitTypeIds
public boolean shouldVisitEnumerators
public boolean shouldVisitTranslationUnit
public boolean shouldVisitProblems
public boolean shouldVisitDesignators
ICASTVisitor
to make this work.
public boolean shouldVisitBaseSpecifiers
ICPPASTVisitor
to make this work.
public boolean shouldVisitNamespaces
ICPPASTVisitor
to make this work.
public boolean shouldVisitTemplateParameters
ICPPASTVisitor
to make this work.
public boolean includeInactiveNodes
true
.
public boolean shouldVisitAmbiguousNodes
true
ambiguous nodes are visited, their children
are not.
public boolean shouldVisitImplicitNames
public boolean shouldVisitImplicitNameAlternates
Constructor Detail |
---|
public ASTVisitor()
public ASTVisitor(boolean visitNodes)
visitNodes
- whether visitor is setup to visit all nodes per default, except
ambiguous nodes (shouldVisitAmbiguousNodes
),
inactive nodes (includeInactiveNodes
),
and implicit names (@link shouldVisitImplicitNames
).Method Detail |
---|
public int visit(IASTTranslationUnit tu)
public int visit(IASTName name)
public int visit(IASTDeclaration declaration)
public int visit(IASTInitializer initializer)
public int visit(IASTParameterDeclaration parameterDeclaration)
public int visit(IASTDeclarator declarator)
public int visit(IASTDeclSpecifier declSpec)
public int visit(IASTArrayModifier arrayModifier)
public int visit(IASTPointerOperator ptrOperator)
public int visit(IASTExpression expression)
public int visit(IASTStatement statement)
public int visit(IASTTypeId typeId)
public int visit(IASTEnumerationSpecifier.IASTEnumerator enumerator)
public int visit(IASTProblem problem)
public int leave(IASTTranslationUnit tu)
public int leave(IASTName name)
public int leave(IASTDeclaration declaration)
public int leave(IASTInitializer initializer)
public int leave(IASTParameterDeclaration parameterDeclaration)
public int leave(IASTDeclarator declarator)
public int leave(IASTDeclSpecifier declSpec)
public int leave(IASTArrayModifier arrayModifier)
public int leave(IASTPointerOperator ptrOperator)
public int leave(IASTExpression expression)
public int leave(IASTStatement statement)
public int leave(IASTTypeId typeId)
public int leave(IASTEnumerationSpecifier.IASTEnumerator enumerator)
public int leave(IASTProblem problem)
@Deprecated public int visit(IASTComment comment)
IASTTranslationUnit.getComments()
, instead.
@Deprecated public int leave(IASTComment comment)
IASTTranslationUnit.getComments()
, instead.
public int visit(org.eclipse.cdt.internal.core.dom.parser.ASTAmbiguousNode astAmbiguousNode)
shouldVisitAmbiguousNodes
is set to true, the
visitor will be called for ambiguous nodes. However, the children of an ambiguous will not be
traversed.
|
Eclipse CDT 7.0 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |