|
||||||||||
| 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 Exprpublic Expr makeReference()
Expr
makeReference in class Exprpublic final boolean canBeCopied()
Expr
canBeCopied in class Exprpublic java.lang.String getId()
public ASTObject postMove(MovingWalker walker)
postMove in class ASTObjectpublic void unparse(org.aspectj.compiler.base.CodeWriter writer)
unparse in class ASTObjectpublic void walkFlow(org.aspectj.compiler.base.FlowCheckerPass w)
walkFlow in class ASTObjectpublic ASTObject postAssignmentCheck(org.aspectj.compiler.base.AssignmentCheckerPass walker)
postAssignmentCheck in class ASTObjectpublic void walkAnalysis(org.aspectj.compiler.base.LocalClassPass.AnalysisWalker walker)
walkAnalysis in class ASTObjectpublic ASTObject postThreading(org.aspectj.compiler.base.LocalClassPass.ThreadingWalker walker)
postThreading in class ASTObjectprotected void cgEffect(org.aspectj.compiler.base.bcg.CodeBuilder cb)
ExprExprStmt, 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 Exprprotected void cgLvalue(org.aspectj.compiler.base.bcg.CodeBuilder cb)
AssignableExpr
cgLvalue in class AssignableExprprotected void cgLtoRvalue(org.aspectj.compiler.base.bcg.CodeBuilder cb)
AssignableExpr
cgLtoRvalue in class AssignableExprprotected void cgAssignment(org.aspectj.compiler.base.bcg.CodeBuilder cb)
AssignableExpr
cgAssignment in class AssignableExprprotected void cgDupLvalue(org.aspectj.compiler.base.bcg.CodeBuilder cb)
AssignableExpr
cgDupLvalue in class AssignableExprprotected void cgDupRvalue(org.aspectj.compiler.base.bcg.CodeBuilder cb)
AssignableExpr
cgDupRvalue in class AssignableExprprotected boolean isIncable()
AssignableExpr
isIncable in class AssignableExprpublic VarDec getVarDec()
public void setVarDec(VarDec _varDec)
public ASTObject copyWalk(CopyWalker walker)
copyWalk in class ASTObjectpublic java.lang.String getDefaultDisplayName()
getDefaultDisplayName in class AssignableExpr
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||