org.aspectj.compiler.base.ast
Class ConstructorDec

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.base.ast.ConstructorDec
All Implemented Interfaces:
AspectMember, ClassMember, PossibleSoftThrowable
Direct Known Subclasses:
MajConstructorDec

public class ConstructorDec
extends CodeDec
implements AspectMember, ClassMember


Field Summary
protected  FormalDec enclosingInstanceFormal
           
 
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
protected ConstructorDec(SourceLocation source)
           
  ConstructorDec(SourceLocation location, Modifiers _modifiers, FormalDec _enclosingInstanceFormal, Formals _formals, TypeDs __throws, CodeBody _body)
           
  ConstructorDec(SourceLocation location, Modifiers _modifiers, Formals _formals, TypeDs __throws, CodeBody _body)
           
 
Method Summary
 boolean appearsStaticToCaller()
           
protected  void cgCodeMember(org.aspectj.compiler.base.bcg.CodeBuilder cb)
          generate code for the body.
 ASTObject copyWalk(CopyWalker walker)
           
protected  void fixIntroducedAccessibility()
           
 void fixIntroducedDec(TypeDec onTypeDec)
           
 ASTObject getChildAt(int childIndex)
           
 int getChildCount()
           
 java.lang.String getChildNameAt(int childIndex)
           
 Constructor getConstructor()
           
 java.lang.String getDefaultDisplayName()
           
 java.lang.String getDescriptor()
          return the bytecode type descriptor for the member.
 FormalDec getEnclosingInstanceFormal()
           
 Expr getExtraArgExpr()
           
 FormalDec getExtraFormalDec()
           
 java.lang.String getId()
           
 java.lang.String getKind()
           
 ConstructorDec getNextConstructorDec()
           
 TypeD getResultTypeD()
           
 int getStackDelta()
          return the change in stack that would result from invoking this codeDec.
 boolean hasThis()
           
 boolean isFinal()
           
 boolean isStatic()
           
 boolean isSuper()
           
 SemanticObject makeCorrespondingSemanticObject()
           
protected  void makeMixinConcrete(TypeDec onTypeDec)
           
 void makePublicAccessible()
           
 ASTObject postFixAST(org.aspectj.compiler.base.ASTFixerPass fixer)
           
 ASTObject postImplementMixin(org.aspectj.compiler.crosscuts.MixinImplementationPass fixer)
           
 ASTObject postThreading(org.aspectj.compiler.base.LocalClassPass.ThreadingWalker walker)
           
 void preThreading(org.aspectj.compiler.base.LocalClassPass.ThreadingWalker walker)
           
 void setChildAt(int childIndex, ASTObject child)
           
 void setEnclosingInstanceFormal(FormalDec _enclosingInstanceFormal)
           
 java.lang.String toShortString()
           
 java.lang.String toString()
           
 void unparse(org.aspectj.compiler.base.CodeWriter writer)
           
 void walkAnalysis(org.aspectj.compiler.base.LocalClassPass.AnalysisWalker walker)
           
 ASTObject walkMemberMunger(org.aspectj.compiler.base.MemberClassMunger w)
           
 
Methods inherited from class org.aspectj.compiler.base.ast.CodeDec
addThrows, addThrowsType, blockToBody, canThrow, cgMember, checkSpec, cleanup, computeMinimalThrows, conflictsWith, getBody, getCallExprs, getEffectivelyFinalFormals, getFormals, getFrameSize, getModifiers, getPossibleCheckedExceptions, getResultType, getThrows, isAlmostApplicable, isApplicable, isMoreSpecificThan, isSoftThrowable, postCleanup, postScope, preScope, setBody, setBody, setFormals, setFrameSize, setModifiers, setSoftThrowable, setThrows, setupFlowWalker, 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, isInherited, isIntroduced, isLanguageVisible, isMoreAccessibleThan, isPrivate, isProtected, isPublic, isSynthetic, lookupDeclaringType, lookupLexicalType, makeBlockScope, 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, postInnerAccess, postInnerInfo, postLift, postMove, preAssignmentCheck, preIntroduction, preLift, remove, remove, removeChildAt, replaceWith, setFormalComment, setParent, setParents, setSource, setSourceLocation, setSyntheticSource, showError, showMessage, showTypeError, showWarning, unparse, walk, walkAssignmentCheck, 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, unparse
 
Methods inherited from interface org.aspectj.compiler.base.ast.ClassMember
cgTop, cleanup, setParent, unparse
 

Field Detail

enclosingInstanceFormal

protected FormalDec enclosingInstanceFormal
Constructor Detail

ConstructorDec

public ConstructorDec(SourceLocation location,
                      Modifiers _modifiers,
                      Formals _formals,
                      TypeDs __throws,
                      CodeBody _body)

ConstructorDec

public ConstructorDec(SourceLocation location,
                      Modifiers _modifiers,
                      FormalDec _enclosingInstanceFormal,
                      Formals _formals,
                      TypeDs __throws,
                      CodeBody _body)

ConstructorDec

protected ConstructorDec(SourceLocation source)
Method Detail

isSuper

public boolean isSuper()

getNextConstructorDec

public ConstructorDec getNextConstructorDec()

postFixAST

public ASTObject postFixAST(org.aspectj.compiler.base.ASTFixerPass fixer)
Overrides:
postFixAST in class ASTObject

getId

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

getResultTypeD

public TypeD getResultTypeD()
Specified by:
getResultTypeD in class CodeDec

isFinal

public boolean isFinal()
Overrides:
isFinal in class Dec

isStatic

public boolean isStatic()
Overrides:
isStatic in class Dec

appearsStaticToCaller

public boolean appearsStaticToCaller()
Overrides:
appearsStaticToCaller in class CodeDec

hasThis

public boolean hasThis()
Overrides:
hasThis in class CodeDec

toShortString

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

getKind

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

makeCorrespondingSemanticObject

public SemanticObject makeCorrespondingSemanticObject()
Overrides:
makeCorrespondingSemanticObject in class Dec

getConstructor

public Constructor getConstructor()

toString

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

getExtraFormalDec

public FormalDec getExtraFormalDec()

getExtraArgExpr

public Expr getExtraArgExpr()

fixIntroducedAccessibility

protected void fixIntroducedAccessibility()

makeMixinConcrete

protected void makeMixinConcrete(TypeDec onTypeDec)

makePublicAccessible

public void makePublicAccessible()

fixIntroducedDec

public void fixIntroducedDec(TypeDec onTypeDec)

postImplementMixin

public ASTObject postImplementMixin(org.aspectj.compiler.crosscuts.MixinImplementationPass fixer)
Overrides:
postImplementMixin in class ASTObject

unparse

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

walkAnalysis

public void walkAnalysis(org.aspectj.compiler.base.LocalClassPass.AnalysisWalker walker)
Overrides:
walkAnalysis in class CodeDec

preThreading

public void preThreading(org.aspectj.compiler.base.LocalClassPass.ThreadingWalker walker)
Overrides:
preThreading in class ASTObject

postThreading

public ASTObject postThreading(org.aspectj.compiler.base.LocalClassPass.ThreadingWalker walker)
Overrides:
postThreading in class ASTObject

walkMemberMunger

public ASTObject walkMemberMunger(org.aspectj.compiler.base.MemberClassMunger w)
Overrides:
walkMemberMunger in class ASTObject

cgCodeMember

protected void cgCodeMember(org.aspectj.compiler.base.bcg.CodeBuilder cb)
Description copied from class: CodeDec
generate code for the body. Assumes there is a body.

Overrides:
cgCodeMember in class CodeDec
Parameters:
cb - the codeBuilder into which to generate code

getDescriptor

public java.lang.String getDescriptor()
Description copied from class: CodeDec
return the bytecode type descriptor for the member.

Overrides:
getDescriptor in class CodeDec

getStackDelta

public int getStackDelta()
Description copied from class: CodeDec
return the change in stack that would result from invoking this codeDec. This is the size of the return value minus the size of the argument values (including the implicit this object). It is typically negative for coded members with arguments.

Overrides:
getStackDelta in class CodeDec

getEnclosingInstanceFormal

public FormalDec getEnclosingInstanceFormal()

setEnclosingInstanceFormal

public void setEnclosingInstanceFormal(FormalDec _enclosingInstanceFormal)

copyWalk

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

getChildAt

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

getChildNameAt

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

setChildAt

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

getChildCount

public int getChildCount()
Overrides:
getChildCount in class CodeDec

getDefaultDisplayName

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