org.aspectj.compiler.crosscuts.ast
Class PerClause

java.lang.Object
  extended byorg.aspectj.compiler.base.CompilerObject
      extended byorg.aspectj.compiler.base.ast.ASTObject
          extended byorg.aspectj.compiler.crosscuts.ast.PerClause
Direct Known Subclasses:
PerCFlow, PerCFlowBelow, PerObject, PerSingleton, PerThisOrTarget

public abstract class PerClause
extends ASTObject


Field Summary
 
Fields inherited from class org.aspectj.compiler.base.ast.ASTObject
dummySource, parent, sourceLocation
 
Constructor Summary
PerClause(SourceLocation location)
           
 
Method Summary
 AspectDec getAspectDec()
           
 Type getDeclaringType()
          returns the declaring type of a method.
 java.lang.String getDefaultDisplayName()
           
 Type getLexicalType()
          per-clauses have a unique notion of their lexically enclosing type even though they're not in the body of their declaring aspect, they need to be treated as if they were.
 Expr makeAspectOfExpr(Expr fromObject)
           
protected abstract  MethodDec makeAspectOfMethod()
           
protected  MethodDec makeAspectOfMethod(Formals formals, BlockStmt body)
           
protected abstract  MethodDec makeHasAspectMethod()
           
protected  MethodDec makeHasAspectMethod(Formals formals, BlockStmt body)
           
abstract  org.aspectj.compiler.crosscuts.joinpoints.JpPlanner makeInitializerPlanner(PlanData planData)
           
abstract  org.aspectj.compiler.crosscuts.joinpoints.JpPlanner makeInnerPlanner(PlanData planData)
           
 void setupAspect()
           
 
Methods inherited from class org.aspectj.compiler.base.ast.ASTObject
addComment, buildAccessMethod, checkNoSharing, checkSpec, cleanup, clearComment, clearParent, contains, containsTypes, copy, copyWalk, display, fixAccessPost, fixAST, fromSource, getAST, getBeginColumn, getBeginLine, getBytecodeType, getBytecodeTypeDec, getChildAt, getChildCount, getChildNameAt, getComment, getCompilationUnit, getEnclosingCodeDec, getEnclosingDec, getEndColumn, getEndLine, getEndPosition, getFormalComment, getOutermostBytecodeType, getOutermostLexicalType, getParent, getSourceDirectoryName, getSourceFile, getSourceFileName, getSourceLocation, getStartPosition, hasLegalProtectedAccess, hasSource, hasSourceLocation, implementMixin, indexOf, inStaticContext, isLanguageVisible, isLeaf, isSynthetic, makeChild, makeChild, postAssignmentCheck, postCleanup, postCopy, postFixAST, postImplementMixin, postInnerAccess, postInnerInfo, postLift, postMove, postScope, postThreading, preAssignmentCheck, preCopy, preIntroduction, preLift, preMove, preScope, preThreading, remove, remove, removeChildAt, replaceWith, setChildAt, setFormalComment, setParent, setParents, setSource, setSourceLocation, setSyntheticSource, showError, showMessage, showTypeError, showWarning, toShortString, toString, unparse, unparse, walk, walkAnalysis, walkAssignmentCheck, walkCleanup, walkFlow, walkForwardReference, walkFrameLoc, walkInnerInfo, walkMemberMunger, walkScope
 
Methods inherited from class org.aspectj.compiler.base.CompilerObject
getCompiler, getOptions, getTypeManager, getWorld
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

PerClause

public PerClause(SourceLocation location)
Method Detail

getAspectDec

public AspectDec getAspectDec()

getLexicalType

public Type getLexicalType()
per-clauses have a unique notion of their lexically enclosing type even though they're not in the body of their declaring aspect, they need to be treated as if they were.

Overrides:
getLexicalType in class ASTObject

getDeclaringType

public Type getDeclaringType()
Description copied from class: ASTObject
returns the declaring type of a method. For non-static methods, this type will always be the type of 'this' within the method. For static methods, this type will always be the type used to name the method for outside of its scope, i.e. DeclaringType.m() For a comparision with getLexicalType() and getBytecodeTypeDec() see getLexicalType().

Overrides:
getDeclaringType in class ASTObject

makeInnerPlanner

public abstract org.aspectj.compiler.crosscuts.joinpoints.JpPlanner makeInnerPlanner(PlanData planData)

makeInitializerPlanner

public abstract org.aspectj.compiler.crosscuts.joinpoints.JpPlanner makeInitializerPlanner(PlanData planData)

makeAspectOfMethod

protected MethodDec makeAspectOfMethod(Formals formals,
                                       BlockStmt body)

makeHasAspectMethod

protected MethodDec makeHasAspectMethod(Formals formals,
                                        BlockStmt body)

makeAspectOfMethod

protected abstract MethodDec makeAspectOfMethod()

makeHasAspectMethod

protected abstract MethodDec makeHasAspectMethod()

setupAspect

public void setupAspect()

makeAspectOfExpr

public Expr makeAspectOfExpr(Expr fromObject)

getDefaultDisplayName

public java.lang.String getDefaultDisplayName()
Overrides:
getDefaultDisplayName in class ASTObject