|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.aspectj.compiler.base.CompilerObject
org.aspectj.compiler.base.ast.ASTObject
org.aspectj.compiler.base.ast.Expr
org.aspectj.compiler.base.ast.JavaExpr
org.aspectj.compiler.base.ast.AssignableExpr
org.aspectj.compiler.base.ast.VarExpr
Field Summary | |
protected VarDec |
varDec
|
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 | |
|
VarExpr(Identifier ident)
|
protected |
VarExpr(SourceLocation source)
|
|
VarExpr(SourceLocation location,
VarDec _varDec)
|
|
VarExpr(java.lang.String ident)
|
|
VarExpr(VarDec dec)
|
Method Summary | |
boolean |
canBeCopied()
Can this expression be copied without changing the semantics of the program. |
protected void |
cgAssignment(org.aspectj.compiler.base.bcg.CodeBuilder cb)
Generate code to actually assign into this assignable. |
protected void |
cgDupLvalue(org.aspectj.compiler.base.bcg.CodeBuilder cb)
Generates code to duplicate the top lvalue on the stack. |
protected void |
cgDupRvalue(org.aspectj.compiler.base.bcg.CodeBuilder cb)
Generates code to duplicate the top rvalue on the stack and places it BELOW the lvalue that may be just below it. |
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 |
cgLtoRvalue(org.aspectj.compiler.base.bcg.CodeBuilder cb)
Generate code to remove the lvalue at the top of the stack (if any) and place the appropriate rvalue on the stack. |
protected void |
cgLvalue(org.aspectj.compiler.base.bcg.CodeBuilder cb)
Generate code to place the lvalue of this expression on the top of the stack. |
ASTObject |
copyWalk(CopyWalker walker)
|
protected Type |
discoverType()
|
java.lang.String |
getDefaultDisplayName()
|
java.lang.String |
getId()
|
VarDec |
getVarDec()
|
protected boolean |
isIncable()
Is this an expression that we can generate an IINC code for? That is, a VarExpr to a variable of type int with an index that will fit in one byte? |
Expr |
makeReference()
When called for the first time will return an expression that may involve computation and state changes. |
ASTObject |
postAssignmentCheck(org.aspectj.compiler.base.AssignmentCheckerPass walker)
|
ASTObject |
postMove(MovingWalker walker)
|
ASTObject |
postThreading(org.aspectj.compiler.base.LocalClassPass.ThreadingWalker walker)
|
void |
setVarDec(VarDec _varDec)
|
Expr |
toExpr()
|
void |
unparse(org.aspectj.compiler.base.CodeWriter writer)
|
void |
walkAnalysis(org.aspectj.compiler.base.LocalClassPass.AnalysisWalker walker)
|
void |
walkFlow(org.aspectj.compiler.base.FlowCheckerPass w)
|
Methods inherited from class org.aspectj.compiler.base.ast.AssignableExpr |
cgValue, isLhs |
Methods inherited from class org.aspectj.compiler.base.ast.Expr |
assertType, cgBuffer, cgTest, cgValue, checkSpec, cleanup, getType, isAssignableTo, isConstantFalse, isConstantTrue, isConstantZero, isInConstructorCallExpr, isInExprStmt, isLegalStmt, isMethodConvertableTo, isUltimatelyLiteral, makeQualifiedThis, postCopy, setType, showOperatorTypeError, showOperatorTypeError, 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 |
Field Detail |
protected VarDec varDec
Constructor Detail |
public VarExpr(SourceLocation location, VarDec _varDec)
public VarExpr(java.lang.String ident)
public VarExpr(VarDec dec)
public VarExpr(Identifier ident)
protected VarExpr(SourceLocation source)
Method Detail |
public Expr toExpr()
protected Type discoverType()
discoverType
in class Expr
public Expr makeReference()
Expr
makeReference
in class Expr
public final boolean canBeCopied()
Expr
canBeCopied
in class Expr
public java.lang.String getId()
public ASTObject postMove(MovingWalker walker)
postMove
in class ASTObject
public void unparse(org.aspectj.compiler.base.CodeWriter writer)
unparse
in class ASTObject
public void walkFlow(org.aspectj.compiler.base.FlowCheckerPass w)
walkFlow
in class ASTObject
public ASTObject postAssignmentCheck(org.aspectj.compiler.base.AssignmentCheckerPass walker)
postAssignmentCheck
in class ASTObject
public void walkAnalysis(org.aspectj.compiler.base.LocalClassPass.AnalysisWalker walker)
walkAnalysis
in class ASTObject
public ASTObject postThreading(org.aspectj.compiler.base.LocalClassPass.ThreadingWalker walker)
postThreading
in class ASTObject
protected void cgEffect(org.aspectj.compiler.base.bcg.CodeBuilder cb)
Expr
ExprStmt
, or in a FieldAccessExpr
when the field is static but there is an
expression there nonetheless). May self-call Expr.cgValue(CodeBuilder)
.
cgEffect
in class Expr
protected void cgLvalue(org.aspectj.compiler.base.bcg.CodeBuilder cb)
AssignableExpr
cgLvalue
in class AssignableExpr
protected void cgLtoRvalue(org.aspectj.compiler.base.bcg.CodeBuilder cb)
AssignableExpr
cgLtoRvalue
in class AssignableExpr
protected void cgAssignment(org.aspectj.compiler.base.bcg.CodeBuilder cb)
AssignableExpr
cgAssignment
in class AssignableExpr
protected void cgDupLvalue(org.aspectj.compiler.base.bcg.CodeBuilder cb)
AssignableExpr
cgDupLvalue
in class AssignableExpr
protected void cgDupRvalue(org.aspectj.compiler.base.bcg.CodeBuilder cb)
AssignableExpr
cgDupRvalue
in class AssignableExpr
protected boolean isIncable()
AssignableExpr
isIncable
in class AssignableExpr
public VarDec getVarDec()
public void setVarDec(VarDec _varDec)
public ASTObject copyWalk(CopyWalker walker)
copyWalk
in class ASTObject
public java.lang.String getDefaultDisplayName()
getDefaultDisplayName
in class AssignableExpr
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |