org.aspectj.compiler.base.ast
Class ClassDec

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
All Implemented Interfaces:
AspectMember, ClassMember, CompUnit, JavaCompUnitMember
Direct Known Subclasses:
AspectDec

public class ClassDec
extends TypeDec
implements JavaCompUnitMember


Field Summary
protected  TypeD 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
  ClassDec(Modifiers _modifiers, ClassDec _classDec)
           
  ClassDec(Modifiers _modifiers, Identifier _id, TypeD _superClass, TypeDs _superInterfaces, ClassMembers _body)
           
  ClassDec(Modifiers _modifiers, Identifier _id, TypeD _superClass, TypeDs _superInterfaces, Decs _body)
           
  ClassDec(Modifiers _modifiers, java.lang.String _id, TypeD _superClass, TypeDs _superInterfaces, ClassMembers _body)
           
protected ClassDec(SourceLocation source)
           
  ClassDec(SourceLocation location, Modifiers _modifiers, java.lang.String _id, TypeD _superClass, TypeDs _superInterfaces, Decs _body)
           
 
Method Summary
 void addMember(ClassMember dec)
           
 ASTObject copyWalk(CopyWalker walker)
           
 ASTObject getChildAt(int childIndex)
           
 int getChildCount()
           
 java.lang.String getChildNameAt(int childIndex)
           
 java.lang.String getDefaultDisplayName()
           
 java.lang.String getKind()
           
 TypeD getSuperClass()
           
 Type getSuperClassType()
           
 boolean isAnonymous()
           
 boolean isInner()
          Only classes can be inners, so this is overridden by ClassDec
 ASTObject postCopy(CopyWalker walker, ASTObject oldObject)
          We now explicitly can't copy local types from one type dec to another
 void setChildAt(int childIndex, ASTObject child)
           
 void setIsAnonymous()
           
 void setIsInner(boolean b)
           
 void setSuperClass(TypeD _superClass)
           
 void unparse(org.aspectj.compiler.base.CodeWriter writer)
           
protected  void walkExtendsAndImplements(ScopeWalker walker)
           
 void walkInnerInfo(org.aspectj.compiler.base.InnerInfoPass w)
           
 
Methods inherited from class org.aspectj.compiler.base.ast.TypeDec
addAssertionField, addConstructorDec, addDec, addDecs, addExtraWithinType, addFieldDec, addInitializerDec, addInnerTypes, addIntroducedDec, addMember, addMemberMethodDec, addMemberTypeDec, addMethodDec, addPointcutDec, addSuperInterfaceType, addToBody, addToBodyAndType, addToTypeGraph, addToTypeGraph, addTypeDec, allocateLocalTypeIndex, buildSignatures, buildSignatures, canOverride, cgMember, checkSpec, 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, postIntroductionFinish, postLift, postMove, postThreading, preCopy, preLift, preMove, preThreading, setBody, setEnclosingTypeDec, setId, setInnerDiscoveries, setLocal, setModifiers, setSoleConstructorDec, setSuperInterfaces, setType, toShortString, toString, walkAnalysis, walkBody, 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.base.ast.JavaCompUnitMember
cgTop, cleanup, setParent, unparse
 

Field Detail

superClass

protected TypeD superClass
Constructor Detail

ClassDec

public ClassDec(SourceLocation location,
                Modifiers _modifiers,
                java.lang.String _id,
                TypeD _superClass,
                TypeDs _superInterfaces,
                Decs _body)

ClassDec

public ClassDec(Modifiers _modifiers,
                java.lang.String _id,
                TypeD _superClass,
                TypeDs _superInterfaces,
                ClassMembers _body)

ClassDec

public ClassDec(Modifiers _modifiers,
                Identifier _id,
                TypeD _superClass,
                TypeDs _superInterfaces,
                ClassMembers _body)

ClassDec

public ClassDec(Modifiers _modifiers,
                Identifier _id,
                TypeD _superClass,
                TypeDs _superInterfaces,
                Decs _body)

ClassDec

public ClassDec(Modifiers _modifiers,
                ClassDec _classDec)

ClassDec

protected ClassDec(SourceLocation source)
Method Detail

getKind

public java.lang.String getKind()
Specified by:
getKind in class Dec

isAnonymous

public boolean isAnonymous()
Specified by:
isAnonymous in class TypeDec

setIsAnonymous

public void setIsAnonymous()

postCopy

public ASTObject postCopy(CopyWalker walker,
                          ASTObject oldObject)
Description copied from class: TypeDec
We now explicitly can't copy local types from one type dec to another

Overrides:
postCopy in class TypeDec

walkExtendsAndImplements

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

getSuperClassType

public Type getSuperClassType()
Overrides:
getSuperClassType in class TypeDec

unparse

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

walkInnerInfo

public void walkInnerInfo(org.aspectj.compiler.base.InnerInfoPass w)
Overrides:
walkInnerInfo in class TypeDec

setIsInner

public void setIsInner(boolean b)
Overrides:
setIsInner in class TypeDec

isInner

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

Overrides:
isInner in class TypeDec

getSuperClass

public TypeD getSuperClass()

setSuperClass

public void setSuperClass(TypeD _superClass)

addMember

public void addMember(ClassMember dec)

copyWalk

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

getChildAt

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

getChildNameAt

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

setChildAt

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

getChildCount

public int getChildCount()
Overrides:
getChildCount in class TypeDec

getDefaultDisplayName

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