org.aspectj.ajdt.internal.core.builder
Class AsmHierarchyBuilder

java.lang.Object
  extended by org.aspectj.org.eclipse.jdt.internal.compiler.ASTVisitor
      extended by org.aspectj.ajdt.internal.core.builder.AsmHierarchyBuilder

public class AsmHierarchyBuilder
extends ASTVisitor

At each iteration of processCompilationUnit the declarations for a particular compilation unit are added to the hierarchy passed as a a parameter.

Clients who extend this class need to ensure that they do not override any of the existing behavior. If they do, the structure model will not be built properly and tools such as IDE structure views and ajdoc will fail.

Note: this class is not considered public API and the overridable methods are subject to change.


Field Summary
protected  AjBuildConfig buildConfig
          Reset for every compilation unit.
protected  AsmElementFormatter formatter
           
protected  ImportReference packageDecl
           
protected  java.util.Stack<IProgramElement> stack
          Reset for every compilation unit.
 
Constructor Summary
AsmHierarchyBuilder()
           
 
Method Summary
 void buildStructureForCompilationUnit(CompilationUnitDeclaration cuDeclaration, AsmManager structureModel, AjBuildConfig buildConfig)
           
 void endVisit(ConstructorDeclaration constructorDeclaration, ClassScope scope)
           
 void endVisit(FieldDeclaration fieldDeclaration, MethodScope scope)
           
 void endVisit(ImportReference importRef, CompilationUnitScope scope)
           
 void endVisit(MethodDeclaration methodDeclaration, ClassScope scope)
           
 void endVisit(TypeDeclaration memberTypeDeclaration, BlockScope scope)
           
 void endVisit(TypeDeclaration memberTypeDeclaration, ClassScope scope)
           
 void endVisit(TypeDeclaration typeDeclaration, CompilationUnitScope scope)
           
protected  void genBytecodeInfo(MethodDeclaration methodDeclaration, IProgramElement peNode)
           
protected  java.lang.String generateJavadocComment(ASTNode astNode)
          Checks if comments should be added to the model before generating.
protected  java.lang.String genSourceSignature(FieldDeclaration fieldDeclaration)
           
protected  int getEndLine(ASTNode n)
           
protected  int getStartLine(ASTNode n)
           
protected  ISourceLocation makeLocation(ASTNode node)
           
 boolean visit(ConstructorDeclaration constructorDeclaration, ClassScope scope)
           
 boolean visit(FieldDeclaration fieldDeclaration, MethodScope scope)
           
 boolean visit(ImportReference importRef, CompilationUnitScope scope)
           
 boolean visit(Initializer initializer, MethodScope scope)
           
 boolean visit(MethodDeclaration methodDeclaration, ClassScope scope)
           
 boolean visit(TypeDeclaration memberTypeDeclaration, BlockScope scope)
           
 boolean visit(TypeDeclaration memberTypeDeclaration, ClassScope scope)
           
 boolean visit(TypeDeclaration typeDeclaration, CompilationUnitScope scope)
           
 
Methods inherited from class org.aspectj.org.eclipse.jdt.internal.compiler.ASTVisitor
acceptProblem, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, endVisit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit, visit
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

formatter

protected AsmElementFormatter formatter

buildConfig

protected AjBuildConfig buildConfig
Reset for every compilation unit.


stack

protected java.util.Stack<IProgramElement> stack
Reset for every compilation unit.


packageDecl

protected ImportReference packageDecl
Constructor Detail

AsmHierarchyBuilder

public AsmHierarchyBuilder()
Method Detail

buildStructureForCompilationUnit

public void buildStructureForCompilationUnit(CompilationUnitDeclaration cuDeclaration,
                                             AsmManager structureModel,
                                             AjBuildConfig buildConfig)
Parameters:
cuDeclaration -
buildConfig -
structureModel - hiearchy to add this unit's declarations to

visit

public boolean visit(TypeDeclaration typeDeclaration,
                     CompilationUnitScope scope)
Overrides:
visit in class ASTVisitor

endVisit

public void endVisit(TypeDeclaration typeDeclaration,
                     CompilationUnitScope scope)
Overrides:
endVisit in class ASTVisitor

visit

public boolean visit(TypeDeclaration memberTypeDeclaration,
                     ClassScope scope)
Overrides:
visit in class ASTVisitor

endVisit

public void endVisit(TypeDeclaration memberTypeDeclaration,
                     ClassScope scope)
Overrides:
endVisit in class ASTVisitor

visit

public boolean visit(TypeDeclaration memberTypeDeclaration,
                     BlockScope scope)
Overrides:
visit in class ASTVisitor

endVisit

public void endVisit(TypeDeclaration memberTypeDeclaration,
                     BlockScope scope)
Overrides:
endVisit in class ASTVisitor

visit

public boolean visit(MethodDeclaration methodDeclaration,
                     ClassScope scope)
Overrides:
visit in class ASTVisitor

genBytecodeInfo

protected void genBytecodeInfo(MethodDeclaration methodDeclaration,
                               IProgramElement peNode)

endVisit

public void endVisit(MethodDeclaration methodDeclaration,
                     ClassScope scope)
Overrides:
endVisit in class ASTVisitor

visit

public boolean visit(ImportReference importRef,
                     CompilationUnitScope scope)
Overrides:
visit in class ASTVisitor

endVisit

public void endVisit(ImportReference importRef,
                     CompilationUnitScope scope)
Overrides:
endVisit in class ASTVisitor

visit

public boolean visit(FieldDeclaration fieldDeclaration,
                     MethodScope scope)
Overrides:
visit in class ASTVisitor

endVisit

public void endVisit(FieldDeclaration fieldDeclaration,
                     MethodScope scope)
Overrides:
endVisit in class ASTVisitor

generateJavadocComment

protected java.lang.String generateJavadocComment(ASTNode astNode)
Checks if comments should be added to the model before generating.


genSourceSignature

protected java.lang.String genSourceSignature(FieldDeclaration fieldDeclaration)

visit

public boolean visit(ConstructorDeclaration constructorDeclaration,
                     ClassScope scope)
Overrides:
visit in class ASTVisitor

endVisit

public void endVisit(ConstructorDeclaration constructorDeclaration,
                     ClassScope scope)
Overrides:
endVisit in class ASTVisitor

visit

public boolean visit(Initializer initializer,
                     MethodScope scope)
Overrides:
visit in class ASTVisitor

makeLocation

protected ISourceLocation makeLocation(ASTNode node)

getStartLine

protected int getStartLine(ASTNode n)

getEndLine

protected int getEndLine(ASTNode n)