org.aspectj.compiler.crosscuts.ast
Class AspectDec

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.TypeDec
                      extended byorg.aspectj.compiler.base.ast.ClassDec
                          extended byorg.aspectj.compiler.crosscuts.ast.AspectDec
All Implemented Interfaces:
AspectJCompUnitMember, AspectMember, ClassMember, CompUnit, JavaCompUnitMember

public class AspectDec
extends ClassDec
implements AspectJCompUnitMember


Field Summary
protected  GenTypeName dominates
           
protected  java.util.List myJpPlannerMakers
           
protected  PerClause perClause
           
 
Fields inherited from class org.aspectj.compiler.base.ast.ClassDec
superClass
 
Fields inherited from class org.aspectj.compiler.base.ast.TypeDec
body, id, joinPointFactoryDec, joinPoints0, joinPoints1, joinPoints2, memberTypeNames, modifiers, superInterfaces, type
 
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
  AspectDec(Modifiers _modifiers, java.lang.String _id, TypeD _superClass, TypeDs _superInterfaces, GenTypeName _dominates, PerClause _perClause, AspectMembers _body)
           
protected AspectDec(SourceLocation source)
           
  AspectDec(SourceLocation location, Modifiers _modifiers, java.lang.String _id, TypeD _superClass, TypeDs _superInterfaces, GenTypeName _dominates, PerClause _perClause, AspectMembers _body)
           
 
Method Summary
 void addConstructorDec(ConstructorDec constructorDec)
           
 void addDec(Dec dec)
           
 void addInterface(TypeD interfaceD)
           
 void addMember(AspectMember dec)
           
 void checkSpec()
           
 ASTObject copyWalk(CopyWalker walker)
           
 boolean dominates(AspectDec otherAspect)
           
protected  boolean explicitDominates(AspectDec otherAspect)
           
 PerClause findPerClause()
           
 ASTObject getChildAt(int childIndex)
           
 int getChildCount()
           
 java.lang.String getChildNameAt(int childIndex)
           
 java.lang.String getDefaultDisplayName()
           
 GenTypeName getDominates()
           
 java.util.Map getExtraPlanners()
           
 java.util.List getIntroductions()
           
 java.util.List getJpPlannerMakers()
           
 java.lang.String getKind()
           
 AspectDec getParentAspect()
           
 PerClause getPerClause()
           
 Type getSuperClassType()
           
 boolean hasAdvicesOrIntroductions()
           
 boolean isInner()
          Only classes can be inners, so this is overridden by ClassDec
protected  void maybeShowWarning(Dec dec)
           
 void postIntroductionFinish()
           
 void setChildAt(int childIndex, ASTObject child)
           
 void setDominates(GenTypeName _dominates)
           
 void setPerClause(PerClause _perClause)
           
 void unparse(org.aspectj.compiler.base.CodeWriter writer)
           
protected  void walkBody(ScopeWalker walker)
           
protected  void walkExtendsAndImplements(ScopeWalker walker)
           
 
Methods inherited from class org.aspectj.compiler.base.ast.ClassDec
addMember, getSuperClass, isAnonymous, postCopy, setIsAnonymous, setIsInner, setSuperClass, walkInnerInfo
 
Methods inherited from class org.aspectj.compiler.base.ast.TypeDec
addAssertionField, addDecs, addExtraWithinType, addFieldDec, addInitializerDec, addInnerTypes, addIntroducedDec, addMember, addMemberMethodDec, addMemberTypeDec, addMethodDec, addPointcutDec, addSuperInterfaceType, addToBody, addToBodyAndType, addToTypeGraph, addToTypeGraph, addTypeDec, allocateLocalTypeIndex, buildSignatures, buildSignatures, canOverride, cgMember, collectInitializers, collectInitializers, fixAST, generateBytecode, getAssertionsDisabledField, getBody, getBytecodeTypeDec, getDeclaringTypeDec, getDepth, getEnclosingInstanceType, getEnclosingInstanceTypeDec, getEnclosingScope, getEnclosingTypeDec, getExtendedId, getExtraWithinTypes, getFullName, getId, getInitializerExecutionJoinPoints, getModifiers, getNameType, getOutermostBytecodeType, getOutermostLexicalType, getOutermostType, getOutermostTypeDec, getPackageDir, getPackageName, getPrettyString, getSingleInitializerDec, getSoleConstructorDec, getSourceExtendedId, getSuperInterfaces, getSuperInterfaceTypes, getType, hasGlobalName, isConcrete, isInnerType, isInnerTypeOf, isLocal, isLocallyDefined, isPackageMember, isRoot, makeCorrespondingSemanticObject, makeInterfaceTypesFromTypeDs, postLift, postMove, postThreading, preCopy, preLift, preMove, preThreading, setBody, setEnclosingTypeDec, setId, setInnerDiscoveries, setLocal, setModifiers, setSoleConstructorDec, setSuperInterfaces, setType, toShortString, toString, walkAnalysis, walkFlow, walkForwardReference, walkMemberMunger, walkScope
 
Methods inherited from class org.aspectj.compiler.base.ast.Dec
addIntroducedFromType, checkOverride, cleanup, conflictsWith, dominates, forcePublic, getBytecodeId, getCorrespondingSemanticObject, getDeclaringType, getDescriptor, getLexicalType, getName, getSignatureString, getStackDelta, inStaticContext, isAbstract, isAccessible, isAccessible, isAlmostApplicable, isApplicable, isDeprecated, isFinal, isInherited, isIntroduced, isLanguageVisible, isMoreAccessibleThan, isMoreSpecificThan, isPrivate, isProtected, isPublic, isStatic, isSynthetic, lookupDeclaringType, lookupLexicalType, makeBlockScope, requireStmt, samePackage, setAllEnclosingTypes, setBytecodeId, setDeclaringType, setDeprecated, setExplicitlyNonSynthetic, setFromLexicalScope, setLanguageVisible, setLexicalType, 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, fromSource, getAST, getBeginColumn, getBeginLine, getBytecodeType, getComment, getCompilationUnit, getEnclosingCodeDec, getEnclosingDec, getEndColumn, getEndLine, getEndPosition, getFormalComment, getParent, getSourceDirectoryName, getSourceFile, getSourceFileName, getSourceLocation, getStartPosition, hasLegalProtectedAccess, hasSource, hasSourceLocation, implementMixin, indexOf, isLeaf, makeChild, makeChild, postAssignmentCheck, postCleanup, postFixAST, postImplementMixin, postInnerAccess, postInnerInfo, postScope, preAssignmentCheck, preIntroduction, preScope, remove, remove, removeChildAt, replaceWith, setFormalComment, setParent, setParents, setSource, setSourceLocation, setSyntheticSource, showError, showMessage, showTypeError, showWarning, unparse, walk, walkAssignmentCheck, walkCleanup, walkFrameLoc
 
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.AspectJCompUnitMember
cgTop, cleanup, setParent, unparse
 
Methods inherited from interface org.aspectj.compiler.base.ast.JavaCompUnitMember
cgTop, cleanup, setParent, unparse
 

Field Detail

myJpPlannerMakers

protected java.util.List myJpPlannerMakers

dominates

protected GenTypeName dominates

perClause

protected PerClause perClause
Constructor Detail

AspectDec

public AspectDec(SourceLocation location,
                 Modifiers _modifiers,
                 java.lang.String _id,
                 TypeD _superClass,
                 TypeDs _superInterfaces,
                 GenTypeName _dominates,
                 PerClause _perClause,
                 AspectMembers _body)

AspectDec

public AspectDec(Modifiers _modifiers,
                 java.lang.String _id,
                 TypeD _superClass,
                 TypeDs _superInterfaces,
                 GenTypeName _dominates,
                 PerClause _perClause,
                 AspectMembers _body)

AspectDec

protected AspectDec(SourceLocation source)
Method Detail

getKind

public java.lang.String getKind()
Overrides:
getKind in class ClassDec

getSuperClassType

public Type getSuperClassType()
Overrides:
getSuperClassType in class ClassDec

findPerClause

public PerClause findPerClause()

getParentAspect

public AspectDec getParentAspect()

checkSpec

public void checkSpec()
Overrides:
checkSpec in class TypeDec

explicitDominates

protected boolean explicitDominates(AspectDec otherAspect)

dominates

public boolean dominates(AspectDec otherAspect)

hasAdvicesOrIntroductions

public boolean hasAdvicesOrIntroductions()

maybeShowWarning

protected void maybeShowWarning(Dec dec)

getIntroductions

public java.util.List getIntroductions()

addDec

public void addDec(Dec dec)
Overrides:
addDec in class TypeDec

postIntroductionFinish

public void postIntroductionFinish()
Overrides:
postIntroductionFinish in class TypeDec

getExtraPlanners

public java.util.Map getExtraPlanners()

walkExtendsAndImplements

protected void walkExtendsAndImplements(ScopeWalker walker)
Overrides:
walkExtendsAndImplements in class ClassDec

walkBody

protected void walkBody(ScopeWalker walker)
Overrides:
walkBody in class TypeDec

addConstructorDec

public void addConstructorDec(ConstructorDec constructorDec)
Overrides:
addConstructorDec in class TypeDec

getJpPlannerMakers

public java.util.List getJpPlannerMakers()

isInner

public boolean isInner()
Description copied from class: TypeDec
Only classes can be inners, so this is overridden by ClassDec

Overrides:
isInner in class ClassDec

getDominates

public GenTypeName getDominates()

setDominates

public void setDominates(GenTypeName _dominates)

getPerClause

public PerClause getPerClause()

setPerClause

public void setPerClause(PerClause _perClause)

addInterface

public void addInterface(TypeD interfaceD)

addMember

public void addMember(AspectMember dec)

copyWalk

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

getChildAt

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

getChildNameAt

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

setChildAt

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

getChildCount

public int getChildCount()
Overrides:
getChildCount in class ClassDec

getDefaultDisplayName

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

unparse

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