org.aspectj.compiler.crosscuts.ast
Class AroundAdviceDec

java.lang.Object
  extended byorg.aspectj.compiler.base.CompilerObject
      extended byorg.aspectj.compiler.base.ast.ASTObject
          extended byorg.aspectj.compiler.base.ast.Stmt
              extended byorg.aspectj.compiler.base.ast.Dec
                  extended byorg.aspectj.compiler.base.ast.CodeDec
                      extended byorg.aspectj.compiler.crosscuts.ast.AdviceDec
                          extended byorg.aspectj.compiler.crosscuts.ast.AroundAdviceDec
All Implemented Interfaces:
AspectMember, org.aspectj.compiler.crosscuts.joinpoints.JpPlannerMaker, PossibleSoftThrowable

public class AroundAdviceDec
extends AdviceDec


Field Summary
 java.util.List joinPoints1
           
 java.util.List joinPoints2
           
protected  TypeD resultTypeD
           
 
Fields inherited from class org.aspectj.compiler.crosscuts.ast.AdviceDec
pcd, thisDynamicJoinPointFormal, thisStaticEnclosingJoinPointFormal, thisStaticJoinPointFormal
 
Fields inherited from class org.aspectj.compiler.base.ast.CodeDec
_throws, body, formals, modifiers
 
Fields inherited from class org.aspectj.compiler.base.ast.Dec
forcePublic, owner, semanticObject
 
Fields inherited from class org.aspectj.compiler.base.ast.ASTObject
dummySource, parent, sourceLocation
 
Constructor Summary
  AroundAdviceDec(Modifiers _modifiers, TypeD _resultTypeD, Formals _formals, TypeDs __throws, Pcd _pcd, CodeBody _body)
           
  AroundAdviceDec(Modifiers _modifiers, TypeD _resultTypeD, Formals _formals, TypeDs __throws, Pcd _pcd, Stmt[] _body)
           
protected AroundAdviceDec(SourceLocation source)
           
  AroundAdviceDec(SourceLocation location, Modifiers _modifiers, TypeD _resultTypeD, Formals _formals, TypeDs __throws, Pcd _pcd, CodeBody _body)
           
 
Method Summary
 boolean checkPlan(org.aspectj.compiler.crosscuts.joinpoints.AdvicePlan plan)
           
 void checkSpec()
           
 ASTObject copyWalk(CopyWalker walker)
           
protected  java.lang.String getAdviceKind()
           
 ASTObject getChildAt(int childIndex)
           
 int getChildCount()
           
 java.lang.String getChildNameAt(int childIndex)
           
 java.lang.String getDefaultDisplayName()
           
 FormalDec getExtraFormal()
          returns the after returning or after throwing formal.
 MethodDec getMethodDec()
           
 TypeD getResultTypeD()
           
 Type getReturnType()
           
protected  CodeBody makeMethodBody()
          returns the method body used for the java method corresponding to this advice this method body is my actual body in the AST, never a copy
 void preScope(ScopeWalker walker)
           
 void setChildAt(int childIndex, ASTObject child)
           
 void setResultTypeD(TypeD _resultTypeD)
           
 java.lang.String unparse()
           
 void unparse(org.aspectj.compiler.base.CodeWriter writer)
           
protected  Stmts wrapStmts(Stmts stmts, org.aspectj.compiler.crosscuts.joinpoints.AdvicePlan plan)
          returns a new wrapped advised Stmts object.
 
Methods inherited from class org.aspectj.compiler.crosscuts.ast.AdviceDec
addJoinPointFormals, dominates, finishMethodDec, getAspectDec, getExtraArgType, getId, getKind, getPcd, isAfterAdvice, makeBodyScope, makeCall, makeConcreteMethod, makeFormals, makeJoinPointFormal, makeJoinPointStaticPartFormal, makePlanner, needsCallSiteContext, needsDynamicJoinPointFormal, needsStaticEnclosingJoinPointFormal, needsStaticJoinPointFormal, postFixAST, reverseSortOrder, setPcd, setupFlowWalker, toShortString, wrapJoinPoint
 
Methods inherited from class org.aspectj.compiler.base.ast.CodeDec
addThrows, addThrowsType, appearsStaticToCaller, blockToBody, canThrow, cgCodeMember, cgMember, cleanup, computeMinimalThrows, conflictsWith, getBody, getCallExprs, getDescriptor, getEffectivelyFinalFormals, getFormals, getFrameSize, getModifiers, getPossibleCheckedExceptions, getResultType, getStackDelta, getThrows, hasThis, isAlmostApplicable, isApplicable, isMoreSpecificThan, isSoftThrowable, postCleanup, postScope, setBody, setBody, setFormals, setFrameSize, setModifiers, setSoftThrowable, setThrows, walkAnalysis, walkCleanup, walkFlow, walkFrameLoc, walkInnerInfo
 
Methods inherited from class org.aspectj.compiler.base.ast.Dec
addIntroducedFromType, checkOverride, dominates, forcePublic, getBytecodeId, getCorrespondingSemanticObject, getDeclaringType, getLexicalType, getName, getOutermostLexicalType, getSignatureString, inStaticContext, isAbstract, isAccessible, isAccessible, isDeprecated, isFinal, isInherited, isIntroduced, isLanguageVisible, isMoreAccessibleThan, isPrivate, isProtected, isPublic, isStatic, isSynthetic, lookupDeclaringType, lookupLexicalType, makeBlockScope, makeCorrespondingSemanticObject, postCopy, preCopy, preMove, requireStmt, samePackage, setAllEnclosingTypes, setBytecodeId, setDeclaringType, setDeprecated, setExplicitlyNonSynthetic, setFromLexicalScope, setId, setLanguageVisible, setLexicalType, walkForwardReference, writeModifiers, writeNames
 
Methods inherited from class org.aspectj.compiler.base.ast.Stmt
cgStmt, cgTop, completesNormally, isBreakable, isContinuable, isEmpty, mustBeLive, registerLocation, requireBlockStmt, setCompletesNormally
 
Methods inherited from class org.aspectj.compiler.base.ast.ASTObject
addComment, buildAccessMethod, checkNoSharing, clearComment, clearParent, contains, containsTypes, copy, display, fixAccessPost, fixAST, fromSource, getAST, getBeginColumn, getBeginLine, getBytecodeType, getBytecodeTypeDec, getComment, getCompilationUnit, getEnclosingCodeDec, getEnclosingDec, getEndColumn, getEndLine, getEndPosition, getFormalComment, getOutermostBytecodeType, getParent, getSourceDirectoryName, getSourceFile, getSourceFileName, getSourceLocation, getStartPosition, hasLegalProtectedAccess, hasSource, hasSourceLocation, implementMixin, indexOf, isLeaf, makeChild, makeChild, postAssignmentCheck, postImplementMixin, postInnerAccess, postInnerInfo, postLift, postMove, postThreading, preAssignmentCheck, preIntroduction, preLift, preThreading, remove, remove, removeChildAt, replaceWith, setFormalComment, setParent, setParents, setSource, setSourceLocation, setSyntheticSource, showError, showMessage, showTypeError, showWarning, toString, walk, walkAssignmentCheck, 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
 
Methods inherited from interface org.aspectj.compiler.crosscuts.ast.AspectMember
cgTop, cleanup, setParent
 

Field Detail

joinPoints1

public java.util.List joinPoints1

joinPoints2

public java.util.List joinPoints2

resultTypeD

protected TypeD resultTypeD
Constructor Detail

AroundAdviceDec

public AroundAdviceDec(SourceLocation location,
                       Modifiers _modifiers,
                       TypeD _resultTypeD,
                       Formals _formals,
                       TypeDs __throws,
                       Pcd _pcd,
                       CodeBody _body)

AroundAdviceDec

public AroundAdviceDec(Modifiers _modifiers,
                       TypeD _resultTypeD,
                       Formals _formals,
                       TypeDs __throws,
                       Pcd _pcd,
                       CodeBody _body)

AroundAdviceDec

public AroundAdviceDec(Modifiers _modifiers,
                       TypeD _resultTypeD,
                       Formals _formals,
                       TypeDs __throws,
                       Pcd _pcd,
                       Stmt[] _body)

AroundAdviceDec

protected AroundAdviceDec(SourceLocation source)
Method Detail

getMethodDec

public MethodDec getMethodDec()
Overrides:
getMethodDec in class AdviceDec

getAdviceKind

protected java.lang.String getAdviceKind()
Specified by:
getAdviceKind in class AdviceDec

wrapStmts

protected Stmts wrapStmts(Stmts stmts,
                          org.aspectj.compiler.crosscuts.joinpoints.AdvicePlan plan)
returns a new wrapped advised Stmts object.

Overrides:
wrapStmts in class AdviceDec
Parameters:
stmts - -- the statements of the join point static shadow
plan - -- an object to give the parameters of the advice, among other things.

getExtraFormal

public FormalDec getExtraFormal()
Description copied from class: AdviceDec
returns the after returning or after throwing formal. Overridden in AfterReturningAdviceDec and AfterThrowingAdviceDec and AroundAdviceDec.

Overrides:
getExtraFormal in class AdviceDec

makeMethodBody

protected CodeBody makeMethodBody()
Description copied from class: AdviceDec
returns the method body used for the java method corresponding to this advice this method body is my actual body in the AST, never a copy

Overrides:
makeMethodBody in class AdviceDec

checkPlan

public boolean checkPlan(org.aspectj.compiler.crosscuts.joinpoints.AdvicePlan plan)

getReturnType

public Type getReturnType()
Overrides:
getReturnType in class AdviceDec

preScope

public void preScope(ScopeWalker walker)
Overrides:
preScope in class AdviceDec

checkSpec

public void checkSpec()
Overrides:
checkSpec in class AdviceDec

getResultTypeD

public TypeD getResultTypeD()
Overrides:
getResultTypeD in class AdviceDec

setResultTypeD

public void setResultTypeD(TypeD _resultTypeD)

copyWalk

public ASTObject copyWalk(CopyWalker walker)
Overrides:
copyWalk in class ASTObject

getChildAt

public ASTObject getChildAt(int childIndex)
Overrides:
getChildAt in class AdviceDec

unparse

public java.lang.String unparse()
Specified by:
unparse in interface AspectMember
Overrides:
unparse in class ASTObject

unparse

public void unparse(org.aspectj.compiler.base.CodeWriter writer)
Specified by:
unparse in interface AspectMember
Overrides:
unparse in class AdviceDec

getChildNameAt

public java.lang.String getChildNameAt(int childIndex)
Overrides:
getChildNameAt in class AdviceDec

setChildAt

public void setChildAt(int childIndex,
                       ASTObject child)
Overrides:
setChildAt in class AdviceDec

getChildCount

public int getChildCount()
Overrides:
getChildCount in class AdviceDec

getDefaultDisplayName

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