public abstract class ASTVisitor
extends java.lang.Object
Clients may subclass.
Modifier and Type | Field and Description |
---|---|
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 |
shouldVisitAttributes
Set this flag to visit attributes.
|
boolean |
shouldVisitBaseSpecifiers
Set this flag to visit base specifiers off composite types.
|
boolean |
shouldVisitCaptures
Set this flag to visit captures
|
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 |
shouldVisitDecltypeSpecifiers
Set this flag to visit decltype-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 |
shouldVisitImplicitDestructorNames
Implicit destructor names are created to mark code locations where destructors of temporaries and
variables going out of scope are called, normally they are not visited, set this flag to true to visit
them.
|
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 |
shouldVisitTokens
Set this flag to visit token nodes.
|
boolean |
shouldVisitTranslationUnit
Set this flag to visit translation units.
|
boolean |
shouldVisitTypeIds
Set this flag to visit typeids.
|
boolean |
shouldVisitVirtSpecifiers
Set this flag to visit virt-specifiers.
|
Constructor and Description |
---|
ASTVisitor()
Creates a visitor that does not visit any kind of node per default.
|
ASTVisitor(boolean visitNodes)
Creates a visitor.
|
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 shouldVisitAttributes
public boolean shouldVisitTokens
public boolean shouldVisitExpressions
public boolean shouldVisitStatements
public boolean shouldVisitTypeIds
public boolean shouldVisitEnumerators
public boolean shouldVisitTranslationUnit
public boolean shouldVisitProblems
public boolean shouldVisitDesignators
public boolean shouldVisitBaseSpecifiers
public boolean shouldVisitNamespaces
public boolean shouldVisitTemplateParameters
public boolean shouldVisitCaptures
public boolean shouldVisitVirtSpecifiers
public boolean shouldVisitDecltypeSpecifiers
public boolean includeInactiveNodes
true
.public boolean shouldVisitAmbiguousNodes
true
ambiguous nodes are visited, their children
are not.public boolean shouldVisitImplicitNames
visit(IASTName)
,
IASTImplicitName
public boolean shouldVisitImplicitNameAlternates
visit(IASTName)
,
IASTImplicitName
public boolean shouldVisitImplicitDestructorNames
visit(IASTName)
,
IASTImplicitDestructorName
public ASTVisitor()
public ASTVisitor(boolean visitNodes)
visitNodes
- whether visitor is setup to visit all nodes per default, except
ambiguous nodes (shouldVisitAmbiguousNodes
),
inactive nodes (includeInactiveNodes
),
implicit names (shouldVisitImplicitNames
),
and tokens (shouldVisitTokens
).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(IASTAttribute attribute)
public int visit(IASTAttributeSpecifier specifier)
public int visit(IASTToken token)
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 visit(ICPPASTCompositeTypeSpecifier.ICPPASTBaseSpecifier baseSpecifier)
public int visit(ICPPASTNamespaceDefinition namespaceDefinition)
public int visit(ICPPASTTemplateParameter templateParameter)
public int visit(ICPPASTCapture capture)
public int visit(ICASTDesignator designator)
public int visit(ICPPASTVirtSpecifier virtSpecifier)
public int visit(ICPPASTClassVirtSpecifier classVirtSpecifier)
public int visit(ICPPASTDecltypeSpecifier decltypeSpecifier)
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(IASTAttribute attribute)
public int leave(IASTAttributeSpecifier specifier)
public int leave(IASTToken token)
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)
public int leave(ICPPASTCompositeTypeSpecifier.ICPPASTBaseSpecifier baseSpecifier)
public int leave(ICPPASTNamespaceDefinition namespaceDefinition)
public int leave(ICPPASTTemplateParameter templateParameter)
public int leave(ICPPASTCapture capture)
public int leave(ICASTDesignator designator)
public int leave(ICPPASTVirtSpecifier virtSpecifier)
public int leave(ICPPASTClassVirtSpecifier virtSpecifier)
public int leave(ICPPASTDecltypeSpecifier decltypeSpecifier)
@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.Copyright (c) IBM Corp. and others 2004, 2014. All Rights Reserved.