Eclipse CDT
Pre-release 3.0

org.eclipse.cdt.core.dom.ast
Class ASTVisitor

java.lang.Object
  extended by org.eclipse.cdt.core.dom.ast.ASTVisitor
Direct Known Subclasses:
CASTVisitor, CPPASTVisitor

public abstract class ASTVisitor
extends Object

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.


Field Summary
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 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 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 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()
           
 
Method Summary
 int leave(IASTComment comment)
          Deprecated. use IASTTranslationUnit.getComments(), instead.
 int leave(IASTDeclaration declaration)
           
 int leave(IASTDeclarator declarator)
           
 int leave(IASTDeclSpecifier declSpec)
           
 int leave(IASTEnumerationSpecifier.IASTEnumerator enumerator)
           
 int leave(IASTExpression expression)
           
 int leave(IASTInitializer initializer)
           
 int leave(IASTName name)
           
 int leave(IASTParameterDeclaration parameterDeclaration)
           
 int leave(IASTProblem problem)
           
 int leave(IASTStatement statement)
           
 int leave(IASTTranslationUnit tu)
           
 int leave(IASTTypeId typeId)
           
 int visit(IASTComment comment)
          Deprecated. use IASTTranslationUnit.getComments(), instead.
 int visit(IASTDeclaration declaration)
           
 int visit(IASTDeclarator declarator)
           
 int visit(IASTDeclSpecifier declSpec)
           
 int visit(IASTEnumerationSpecifier.IASTEnumerator enumerator)
           
 int visit(IASTExpression expression)
           
 int visit(IASTInitializer initializer)
           
 int visit(IASTName name)
           
 int visit(IASTParameterDeclaration parameterDeclaration)
           
 int visit(IASTProblem problem)
           
 int visit(IASTStatement statement)
           
 int visit(IASTTranslationUnit tu)
           
 int visit(IASTTypeId typeId)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PROCESS_SKIP

public static final int PROCESS_SKIP
Skip the traversal of children of this node, don't call leave on this node.

See Also:
Constant Field Values

PROCESS_ABORT

public static final int PROCESS_ABORT
Abort the entire traversal.

See Also:
Constant Field Values

PROCESS_CONTINUE

public static final int PROCESS_CONTINUE
Continue with traversing the children of this node.

See Also:
Constant Field Values

shouldVisitNames

public boolean shouldVisitNames
Set this flag to visit names.


shouldVisitDeclarations

public boolean shouldVisitDeclarations
Set this flag to visit declarations.


shouldVisitInitializers

public boolean shouldVisitInitializers
Set this flag to visit initializers.


shouldVisitParameterDeclarations

public boolean shouldVisitParameterDeclarations
Set this flag to visit parameter declarations.


shouldVisitDeclarators

public boolean shouldVisitDeclarators
Set this flag to visit declarators.


shouldVisitDeclSpecifiers

public boolean shouldVisitDeclSpecifiers
Set this flag to visit declaration specifiers.


shouldVisitExpressions

public boolean shouldVisitExpressions
Set this flag to visit expressions.


shouldVisitStatements

public boolean shouldVisitStatements
Set this flag to visit statements.


shouldVisitTypeIds

public boolean shouldVisitTypeIds
Set this flag to visit typeids.


shouldVisitEnumerators

public boolean shouldVisitEnumerators
Set this flag to visit enumerators.


shouldVisitTranslationUnit

public boolean shouldVisitTranslationUnit
Set this flag to visit translation units.


shouldVisitProblems

public boolean shouldVisitProblems
Set this flag to visit problem nodes.


shouldVisitDesignators

public boolean shouldVisitDesignators
Set this flag to visit designators of initializers. Your visitor needs to implement ICASTVisitor to make this work.


shouldVisitBaseSpecifiers

public boolean shouldVisitBaseSpecifiers
Set this flag to visit base specifiers off composite types. Your visitor needs to implement ICPPASTVisitor to make this work.


shouldVisitNamespaces

public boolean shouldVisitNamespaces
Set this flag to visit to visit namespaces. Your visitor needs to implement ICPPASTVisitor to make this work.


shouldVisitTemplateParameters

public boolean shouldVisitTemplateParameters
Set this flag to visit template parameters. Your visitor needs to implement ICPPASTVisitor to make this work.

Constructor Detail

ASTVisitor

public ASTVisitor()
Method Detail

visit

public int visit(IASTTranslationUnit tu)

visit

public int visit(IASTName name)

visit

public int visit(IASTDeclaration declaration)

visit

public int visit(IASTInitializer initializer)

visit

public int visit(IASTParameterDeclaration parameterDeclaration)

visit

public int visit(IASTDeclarator declarator)

visit

public int visit(IASTDeclSpecifier declSpec)

visit

public int visit(IASTExpression expression)

visit

public int visit(IASTStatement statement)

visit

public int visit(IASTTypeId typeId)

visit

public int visit(IASTEnumerationSpecifier.IASTEnumerator enumerator)

visit

public int visit(IASTProblem problem)

leave

public int leave(IASTTranslationUnit tu)

leave

public int leave(IASTName name)

leave

public int leave(IASTDeclaration declaration)

leave

public int leave(IASTInitializer initializer)

leave

public int leave(IASTParameterDeclaration parameterDeclaration)

leave

public int leave(IASTDeclarator declarator)

leave

public int leave(IASTDeclSpecifier declSpec)

leave

public int leave(IASTExpression expression)

leave

public int leave(IASTStatement statement)

leave

public int leave(IASTTypeId typeId)

leave

public int leave(IASTEnumerationSpecifier.IASTEnumerator enumerator)

leave

public int leave(IASTProblem problem)

visit

@Deprecated
public int visit(IASTComment comment)
Deprecated. use IASTTranslationUnit.getComments(), instead.


leave

@Deprecated
public int leave(IASTComment comment)
Deprecated. use IASTTranslationUnit.getComments(), instead.


Eclipse CDT
Pre-release 3.0

Copyright (c) IBM Corp. and others 2004. All Rights Reserved.