org.aspectj.compiler.base.ast
Class NewInstanceExpr

java.lang.Object
  extended byorg.aspectj.compiler.base.CompilerObject
      extended byorg.aspectj.compiler.base.ast.ASTObject
          extended byorg.aspectj.compiler.base.ast.Expr
              extended byorg.aspectj.compiler.base.ast.JavaExpr
                  extended byorg.aspectj.compiler.base.ast.AnyCallExpr
                      extended byorg.aspectj.compiler.base.ast.NewExpr
                          extended byorg.aspectj.compiler.base.ast.NewInstanceExpr
All Implemented Interfaces:
MajPrimaryExpr, PossibleSoftThrowable, SOLink
Direct Known Subclasses:
NewInnerInstanceExpr

public class NewInstanceExpr
extends NewExpr
implements SOLink


Field Summary
protected  Exprs args
           
protected  Constructor constructor
           
protected  Expr enclosingInstanceExpr
           
protected  TypeDec typeDec
           
 
Fields inherited from class org.aspectj.compiler.base.ast.NewExpr
typeD
 
Fields inherited from class org.aspectj.compiler.base.ast.Expr
type
 
Fields inherited from class org.aspectj.compiler.base.ast.ASTObject
dummySource, parent, sourceLocation
 
Constructor Summary
  NewInstanceExpr(Identifier id, Exprs args)
           
protected NewInstanceExpr(SourceLocation source)
           
  NewInstanceExpr(SourceLocation source, Constructor constructor, Exprs args)
           
  NewInstanceExpr(SourceLocation location, Expr _enclosingInstanceExpr, TypeD _typeD, Exprs _args, TypeDec _typeDec, Constructor _constructor)
           
  NewInstanceExpr(SourceLocation source, TypeD typeD, Exprs args)
           
  NewInstanceExpr(SourceLocation location, TypeD _typeD, Exprs _args, TypeDec _typeDec, Constructor _constructor)
           
  NewInstanceExpr(TypeD typeD, Exprs args)
           
  NewInstanceExpr(TypeD _typeD, Exprs _args, TypeDec _typeDec, Constructor _constructor)
           
 
Method Summary
protected  void cgEffect(org.aspectj.compiler.base.bcg.CodeBuilder cb)
          Evaluates the expression in a context where its value is unnecessary (i.e., from ExprStmt, or in a FieldAccessExpr when the field is static but there is an expression there nonetheless).
protected  void cgValue(org.aspectj.compiler.base.bcg.CodeBuilder cb)
          Leaves the value of this expression on the stack.
 void checkSpec()
           
 ASTObject copyWalk(CopyWalker walker)
           
 Type discoverType()
           
 ASTObject fixAccessPost(org.aspectj.compiler.crosscuts.AccessFixer fixer)
           
 void fixForIntroductions()
           
 Exprs getArgs()
           
 Type getCalledType()
           
 ASTObject getChildAt(int childIndex)
           
 int getChildCount()
           
 java.lang.String getChildNameAt(int childIndex)
           
 CodeDec getCodeDec()
           
 Constructor getConstructor()
           
 ConstructorDec getConstructorDec()
           
 java.lang.String getDefaultDisplayName()
           
 Expr getEnclosingInstanceExpr()
           
 SemanticObject getTarget()
           
 TypeDec getTypeDec()
           
 boolean hasLegalProtectedAccess(Type fromType)
          Section 6.6.2.2 from JLSv2 access to protected is only allowed from outside package if typeDec != null
 boolean isLegalStmt()
           
 ASTObject postFixAST(org.aspectj.compiler.base.ASTFixerPass fixer)
           
 ASTObject postInnerAccess(org.aspectj.compiler.base.InnerAccessFixer w)
          Converts an expression accessing inaccessable context to one that is legal.
 void postInnerInfo(org.aspectj.compiler.base.InnerInfoPass w)
           
 ASTObject postMove(MovingWalker walker)
           
 ASTObject postScope(ScopeWalker walker)
           
 void preLift(org.aspectj.compiler.base.LocalClassPass.LiftWalker walker)
           
 void preThreading(org.aspectj.compiler.base.LocalClassPass.ThreadingWalker walker)
           
 void remove(int index)
           
 void setArgs(Exprs _args)
           
 void setChildAt(int childIndex, ASTObject child)
           
 void setConstructor(Constructor _constructor)
           
 void setConstructorDec(ConstructorDec md)
           
 void setEnclosingInstanceExpr(Expr _enclosingInstanceExpr)
           
 void setTarget(SemanticObject newTarget)
           
 void setTypeDec(TypeDec _typeDec)
           
 void unparse(org.aspectj.compiler.base.CodeWriter writer)
           
 void walkFlow(org.aspectj.compiler.base.FlowCheckerPass w)
           
 void walkInnerInfo(org.aspectj.compiler.base.InnerInfoPass w)
           
 
Methods inherited from class org.aspectj.compiler.base.ast.NewExpr
getExpr, getExprOrThis, getId, getReturnType, getTypeD, setExpr, setTypeD
 
Methods inherited from class org.aspectj.compiler.base.ast.AnyCallExpr
isSoftThrowable, setSoftThrowable
 
Methods inherited from class org.aspectj.compiler.base.ast.Expr
assertType, canBeCopied, cgBuffer, cgTest, cgValue, cleanup, getType, isAssignableTo, isConstantFalse, isConstantTrue, isConstantZero, isInConstructorCallExpr, isInExprStmt, isMethodConvertableTo, isUltimatelyLiteral, makeQualifiedThis, makeReference, postCopy, setType, showOperatorTypeError, showOperatorTypeError, walkCleanup, walkFrameLoc
 
Methods inherited from class org.aspectj.compiler.base.ast.ASTObject
addComment, buildAccessMethod, checkNoSharing, clearComment, clearParent, contains, containsTypes, copy, display, fixAST, fromSource, getAST, getBeginColumn, getBeginLine, getBytecodeType, getBytecodeTypeDec, getComment, getCompilationUnit, getDeclaringType, getEnclosingCodeDec, getEnclosingDec, getEndColumn, getEndLine, getEndPosition, getFormalComment, getLexicalType, getOutermostBytecodeType, getOutermostLexicalType, getParent, getSourceDirectoryName, getSourceFile, getSourceFileName, getSourceLocation, getStartPosition, hasSource, hasSourceLocation, implementMixin, indexOf, inStaticContext, isLanguageVisible, isLeaf, isSynthetic, makeChild, makeChild, postAssignmentCheck, postCleanup, postImplementMixin, postLift, postThreading, preAssignmentCheck, preCopy, preIntroduction, preMove, preScope, remove, removeChildAt, replaceWith, setFormalComment, setParent, setParents, setSource, setSourceLocation, setSyntheticSource, showError, showMessage, showTypeError, showWarning, toShortString, toString, unparse, walk, walkAnalysis, walkAssignmentCheck, walkForwardReference, 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.base.ast.MajPrimaryExpr
unparse
 

Field Detail

enclosingInstanceExpr

protected Expr enclosingInstanceExpr

args

protected Exprs args

typeDec

protected TypeDec typeDec

constructor

protected Constructor constructor
Constructor Detail

NewInstanceExpr

public NewInstanceExpr(SourceLocation location,
                       TypeD _typeD,
                       Exprs _args,
                       TypeDec _typeDec,
                       Constructor _constructor)

NewInstanceExpr

public NewInstanceExpr(SourceLocation source,
                       Constructor constructor,
                       Exprs args)

NewInstanceExpr

public NewInstanceExpr(SourceLocation source,
                       TypeD typeD,
                       Exprs args)

NewInstanceExpr

public NewInstanceExpr(TypeD typeD,
                       Exprs args)

NewInstanceExpr

public NewInstanceExpr(Identifier id,
                       Exprs args)

NewInstanceExpr

public NewInstanceExpr(TypeD _typeD,
                       Exprs _args,
                       TypeDec _typeDec,
                       Constructor _constructor)

NewInstanceExpr

public NewInstanceExpr(SourceLocation location,
                       Expr _enclosingInstanceExpr,
                       TypeD _typeD,
                       Exprs _args,
                       TypeDec _typeDec,
                       Constructor _constructor)

NewInstanceExpr

protected NewInstanceExpr(SourceLocation source)
Method Detail

getCodeDec

public CodeDec getCodeDec()
Specified by:
getCodeDec in class AnyCallExpr

getConstructorDec

public ConstructorDec getConstructorDec()

setConstructorDec

public void setConstructorDec(ConstructorDec md)

getTarget

public SemanticObject getTarget()
Specified by:
getTarget in interface SOLink

setTarget

public void setTarget(SemanticObject newTarget)
Specified by:
setTarget in interface SOLink

isLegalStmt

public boolean isLegalStmt()
Overrides:
isLegalStmt in class Expr

walkInnerInfo

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

postInnerInfo

public void postInnerInfo(org.aspectj.compiler.base.InnerInfoPass w)
Overrides:
postInnerInfo in class ASTObject

checkSpec

public void checkSpec()
Overrides:
checkSpec in class Expr

fixAccessPost

public ASTObject fixAccessPost(org.aspectj.compiler.crosscuts.AccessFixer fixer)
Overrides:
fixAccessPost in class ASTObject

walkFlow

public void walkFlow(org.aspectj.compiler.base.FlowCheckerPass w)
Overrides:
walkFlow in class ASTObject

hasLegalProtectedAccess

public boolean hasLegalProtectedAccess(Type fromType)
Section 6.6.2.2 from JLSv2 access to protected is only allowed from outside package if typeDec != null

Overrides:
hasLegalProtectedAccess in class ASTObject

postMove

public ASTObject postMove(MovingWalker walker)
Overrides:
postMove in class ASTObject

postScope

public ASTObject postScope(ScopeWalker walker)
Overrides:
postScope in class ASTObject

discoverType

public Type discoverType()
Specified by:
discoverType in class Expr

getCalledType

public Type getCalledType()
Overrides:
getCalledType in class NewExpr

fixForIntroductions

public void fixForIntroductions()

postFixAST

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

unparse

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

postInnerAccess

public ASTObject postInnerAccess(org.aspectj.compiler.base.InnerAccessFixer w)
Description copied from class: ASTObject
Converts an expression accessing inaccessable context to one that is legal.

Overrides:
postInnerAccess in class ASTObject

cgValue

protected void cgValue(org.aspectj.compiler.base.bcg.CodeBuilder cb)
Description copied from class: Expr
Leaves the value of this expression on the stack. May self-call Expr.cgTest(CodeBuilder, Label, Label).

Overrides:
cgValue in class Expr

cgEffect

protected void cgEffect(org.aspectj.compiler.base.bcg.CodeBuilder cb)
Description copied from class: Expr
Evaluates the expression in a context where its value is unnecessary (i.e., from ExprStmt, or in a FieldAccessExpr when the field is static but there is an expression there nonetheless). May self-call Expr.cgValue(CodeBuilder).

Overrides:
cgEffect in class Expr

preLift

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

preThreading

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

remove

public void remove(int index)
Overrides:
remove in class ASTObject

getEnclosingInstanceExpr

public Expr getEnclosingInstanceExpr()

setEnclosingInstanceExpr

public void setEnclosingInstanceExpr(Expr _enclosingInstanceExpr)

getArgs

public Exprs getArgs()
Specified by:
getArgs in class AnyCallExpr

setArgs

public void setArgs(Exprs _args)
Overrides:
setArgs in class NewExpr

getTypeDec

public TypeDec getTypeDec()

setTypeDec

public void setTypeDec(TypeDec _typeDec)

getConstructor

public Constructor getConstructor()

setConstructor

public void setConstructor(Constructor _constructor)

copyWalk

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

getChildAt

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

getChildNameAt

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

setChildAt

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

getChildCount

public int getChildCount()
Overrides:
getChildCount in class NewExpr

getDefaultDisplayName

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