org.aspectj.compiler.crosscuts.ast
Class IntroducedDec

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.crosscuts.ast.IntroducedDec
All Implemented Interfaces:
org.aspectj.compiler.crosscuts.joinpoints.TypeDecPlanner

public class IntroducedDec
extends Dec
implements org.aspectj.compiler.crosscuts.joinpoints.TypeDecPlanner


Field Summary
protected  Dec dec
           
protected  GenTypeName targets
           
 
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
 
Fields inherited from interface org.aspectj.compiler.crosscuts.joinpoints.TypeDecPlanner
BODY, SIGNATURE, TYPE
 
Constructor Summary
protected IntroducedDec(SourceLocation source)
           
  IntroducedDec(SourceLocation location, GenTypeName _targets, Dec _dec)
           
  IntroducedDec(SourceLocation location, java.lang.String introduceType, IdentifierStar[] exprs)
           
 
Method Summary
protected  void cgMember(org.aspectj.compiler.base.bcg.ClassfileBuilder maker)
          This method takes care of generating code for Member decs.
 ASTObject copyWalk(CopyWalker walker)
           
 ASTObject getChildAt(int childIndex)
           
 int getChildCount()
           
 java.lang.String getChildNameAt(int childIndex)
           
 Dec getDec()
           
 java.lang.String getDefaultDisplayName()
           
 java.lang.String getId()
           
 java.lang.String getKind()
           
 Modifiers getModifiers()
           
 GenTypeName getTargets()
           
 java.lang.String getUniqueIdString(Type onType)
           
 boolean isStatic()
           
 void plan(TypeDec typeDec, int phase)
           
 void setChildAt(int childIndex, ASTObject child)
           
 void setDec(Dec _dec)
           
 void setTargets(GenTypeName _targets)
           
 java.lang.String toShortString()
           
 java.lang.String unparse()
           
 void unparse(org.aspectj.compiler.base.CodeWriter writer)
           
 void walkScope(ScopeWalker walker)
           
 
Methods inherited from class org.aspectj.compiler.base.ast.Dec
addIntroducedFromType, checkOverride, cleanup, conflictsWith, dominates, forcePublic, getBytecodeId, getCorrespondingSemanticObject, getDeclaringType, getDescriptor, getLexicalType, getName, getOutermostLexicalType, getSignatureString, getStackDelta, inStaticContext, isAbstract, isAccessible, isAccessible, isAlmostApplicable, isApplicable, isDeprecated, isFinal, isInherited, isIntroduced, isLanguageVisible, isMoreAccessibleThan, isMoreSpecificThan, isPrivate, isProtected, isPublic, 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, checkSpec, 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, postCleanup, postFixAST, postImplementMixin, postInnerAccess, postInnerInfo, postLift, postMove, postScope, postThreading, preAssignmentCheck, preIntroduction, preLift, preScope, preThreading, remove, remove, removeChildAt, replaceWith, setFormalComment, setParent, setParents, setSource, setSourceLocation, setSyntheticSource, showError, showMessage, showTypeError, showWarning, toString, walk, walkAnalysis, walkAssignmentCheck, walkCleanup, walkFlow, walkFrameLoc, walkInnerInfo, walkMemberMunger
 
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
 

Field Detail

targets

protected GenTypeName targets

dec

protected Dec dec
Constructor Detail

IntroducedDec

public IntroducedDec(SourceLocation location,
                     java.lang.String introduceType,
                     IdentifierStar[] exprs)

IntroducedDec

public IntroducedDec(SourceLocation location,
                     GenTypeName _targets,
                     Dec _dec)

IntroducedDec

protected IntroducedDec(SourceLocation source)
Method Detail

unparse

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

unparse

public void unparse(org.aspectj.compiler.base.CodeWriter writer)
             throws java.io.IOException
Overrides:
unparse in class ASTObject
Throws:
java.io.IOException

getModifiers

public Modifiers getModifiers()
Specified by:
getModifiers in class Dec

walkScope

public void walkScope(ScopeWalker walker)
Overrides:
walkScope in class ASTObject

isStatic

public boolean isStatic()
Overrides:
isStatic in class Dec

getUniqueIdString

public java.lang.String getUniqueIdString(Type onType)

plan

public void plan(TypeDec typeDec,
                 int phase)
Specified by:
plan in interface org.aspectj.compiler.crosscuts.joinpoints.TypeDecPlanner

getKind

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

getId

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

toShortString

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

cgMember

protected void cgMember(org.aspectj.compiler.base.bcg.ClassfileBuilder maker)
Description copied from class: Dec
This method takes care of generating code for Member decs. At this point in the compilation, we should only have two kinds of Member decs, FieldDec and CodeDec. Moreover, FieldDecs should not have initializers unless they're constants. This method throws an error if it is ever invoked: FieldDec and CodeDec override it.

Overrides:
cgMember in class Dec

getTargets

public GenTypeName getTargets()

setTargets

public void setTargets(GenTypeName _targets)

getDec

public Dec getDec()

setDec

public void setDec(Dec _dec)

copyWalk

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

getChildAt

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

getChildNameAt

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

setChildAt

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

getChildCount

public int getChildCount()
Overrides:
getChildCount in class ASTObject

getDefaultDisplayName

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