org.aspectj.compiler.base.ast
Class CastExpr

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.CastExpr

public class CastExpr
extends JavaExpr


Field Summary
protected  Expr expr
           
protected  TypeD 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
protected CastExpr(SourceLocation source)
           
  CastExpr(SourceLocation location, TypeD _typeD, Expr _expr)
           
  CastExpr(TypeD _typeD, Expr _expr)
           
 
Method Summary
 boolean canBeCopied()
          Can this expression be copied without changing the semantics of the program.
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 getChildAt(int childIndex)
           
 int getChildCount()
           
 java.lang.String getChildNameAt(int childIndex)
           
 java.lang.String getDefaultDisplayName()
           
 Expr getExpr()
           
 TypeD getTypeD()
           
 boolean isPossibleCast()
           
 boolean isUltimatelyLiteral()
          Is this expression ultimately a literal expression.
 ASTObject postAssignmentCheck(org.aspectj.compiler.base.AssignmentCheckerPass walker)
           
 void setChildAt(int childIndex, ASTObject child)
           
 void setExpr(Expr _expr)
           
 void setTypeD(TypeD _typeD)
           
 Expr toExpr()
           
 void unparse(org.aspectj.compiler.base.CodeWriter writer)
           
 
Methods inherited from class org.aspectj.compiler.base.ast.Expr
assertType, cgBuffer, cgEffect, cgTest, cgValue, cleanup, getType, isAssignableTo, isConstantFalse, isConstantTrue, isConstantZero, isInConstructorCallExpr, isInExprStmt, isLegalStmt, isMethodConvertableTo, 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, fixAccessPost, 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, hasLegalProtectedAccess, hasSource, hasSourceLocation, implementMixin, indexOf, inStaticContext, isLanguageVisible, isLeaf, isSynthetic, makeChild, makeChild, postCleanup, postFixAST, postImplementMixin, postInnerAccess, postInnerInfo, postLift, postMove, postScope, postThreading, preAssignmentCheck, preCopy, preIntroduction, preLift, preMove, preScope, preThreading, remove, remove, removeChildAt, replaceWith, setFormalComment, setParent, setParents, setSource, setSourceLocation, setSyntheticSource, showError, showMessage, showTypeError, showWarning, toShortString, toString, unparse, walk, walkAnalysis, walkAssignmentCheck, walkFlow, walkForwardReference, walkInnerInfo, 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
 

Field Detail

typeD

protected TypeD typeD

expr

protected Expr expr
Constructor Detail

CastExpr

public CastExpr(SourceLocation location,
                TypeD _typeD,
                Expr _expr)

CastExpr

public CastExpr(TypeD _typeD,
                Expr _expr)

CastExpr

protected CastExpr(SourceLocation source)
Method Detail

toExpr

public Expr toExpr()

canBeCopied

public boolean canBeCopied()
Description copied from class: Expr
Can this expression be copied without changing the semantics of the program.

Overrides:
canBeCopied in class Expr

isUltimatelyLiteral

public boolean isUltimatelyLiteral()
Description copied from class: Expr
Is this expression ultimately a literal expression. The only difference between this and canBeCopied is that 'this' is NOT ultimatelyLiteral, and that a cast is only copiable if its expression is ultimatelyLiteral.

Overrides:
isUltimatelyLiteral in class Expr

isPossibleCast

public boolean isPossibleCast()

checkSpec

public void checkSpec()
Overrides:
checkSpec in class Expr

discoverType

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

unparse

public void unparse(org.aspectj.compiler.base.CodeWriter writer)
Overrides:
unparse 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

postAssignmentCheck

public ASTObject postAssignmentCheck(org.aspectj.compiler.base.AssignmentCheckerPass walker)
Overrides:
postAssignmentCheck in class ASTObject

getTypeD

public TypeD getTypeD()

setTypeD

public void setTypeD(TypeD _typeD)

getExpr

public Expr getExpr()

setExpr

public void setExpr(Expr _expr)

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 Expr