|
||||||||||
| 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.FieldAccessExpr
| Field Summary | |
protected Expr |
expr
|
protected Field |
field
|
protected boolean |
isSuper
|
| 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 | |
|
FieldAccessExpr(Expr expr,
Identifier name)
|
|
FieldAccessExpr(Expr expr,
java.lang.String name)
|
protected |
FieldAccessExpr(SourceLocation source)
|
|
FieldAccessExpr(SourceLocation location,
Expr _expr,
Field _field,
boolean _isSuper)
|
|
FieldAccessExpr(SourceLocation source,
Expr expr,
java.lang.String name)
|
|
FieldAccessExpr(SourceLocation source,
Type type,
java.lang.String name)
|
|
FieldAccessExpr(Type type,
java.lang.String name)
|
| Method Summary | |
MethodDec |
buildAccessMethod(org.aspectj.compiler.base.InnerAccessFixer w)
Builds a method that would perform the actions of this expression. |
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 |
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. |
void |
checkSpec()
|
ASTObject |
copyWalk(CopyWalker walker)
|
protected Type |
discoverType()
|
ASTObject |
fixAccessPost(org.aspectj.compiler.crosscuts.AccessFixer fixer)
|
ASTObject |
getChildAt(int childIndex)
|
int |
getChildCount()
|
java.lang.String |
getChildNameAt(int childIndex)
|
java.lang.String |
getDefaultDisplayName()
|
Expr |
getExpr()
|
Field |
getField()
|
FieldDec |
getFieldDec()
|
java.lang.String |
getId()
|
boolean |
getIsSuper()
|
SemanticObject |
getTarget()
|
Type |
getTargetType()
|
boolean |
hasLegalProtectedAccess(Type fromType)
Section 6.6.2.1 from JLSv2 E.Id requires that E is subtype of S |
boolean |
isBare()
|
ASTObject |
postAssignmentCheck(org.aspectj.compiler.base.AssignmentCheckerPass walker)
|
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)
|
void |
setChildAt(int childIndex,
ASTObject child)
|
void |
setExpr(Expr _expr)
|
void |
setField(Field _field)
|
void |
setIsSuper(boolean _isSuper)
|
void |
setTarget(SemanticObject newTarget)
|
Expr |
toExpr()
|
void |
unparse(org.aspectj.compiler.base.CodeWriter writer)
|
void |
walkFlow(org.aspectj.compiler.base.FlowCheckerPass w)
|
void |
walkForwardReference(org.aspectj.compiler.base.ForwardReferenceChecker w)
|
| Methods inherited from class org.aspectj.compiler.base.ast.AssignableExpr |
cgValue, isIncable, isLhs |
| Methods inherited from class org.aspectj.compiler.base.ast.Expr |
assertType, canBeCopied, cgBuffer, cgEffect, cgTest, cgValue, cleanup, getType, isAssignableTo, isConstantFalse, isConstantTrue, isConstantZero, isInConstructorCallExpr, isInExprStmt, isLegalStmt, isMethodConvertableTo, isUltimatelyLiteral, makeQualifiedThis, makeReference, 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 Expr expr
protected Field field
protected boolean isSuper
| Constructor Detail |
public FieldAccessExpr(SourceLocation source,
Type type,
java.lang.String name)
public FieldAccessExpr(SourceLocation source,
Expr expr,
java.lang.String name)
public FieldAccessExpr(Type type,
java.lang.String name)
public FieldAccessExpr(Expr expr,
java.lang.String name)
public FieldAccessExpr(Expr expr,
Identifier name)
public FieldAccessExpr(SourceLocation location,
Expr _expr,
Field _field,
boolean _isSuper)
protected FieldAccessExpr(SourceLocation source)
| Method Detail |
public FieldDec getFieldDec()
protected Type discoverType()
discoverType in class Exprpublic Expr toExpr()
public void walkFlow(org.aspectj.compiler.base.FlowCheckerPass w)
walkFlow in class ASTObjectpublic boolean isBare()
public void postInnerInfo(org.aspectj.compiler.base.InnerInfoPass w)
postInnerInfo in class ASTObjectpublic boolean hasLegalProtectedAccess(Type fromType)
hasLegalProtectedAccess in class ASTObjectpublic void checkSpec()
checkSpec in class Exprpublic void walkForwardReference(org.aspectj.compiler.base.ForwardReferenceChecker w)
walkForwardReference in class ASTObjectpublic ASTObject postAssignmentCheck(org.aspectj.compiler.base.AssignmentCheckerPass walker)
postAssignmentCheck in class ASTObjectpublic ASTObject fixAccessPost(org.aspectj.compiler.crosscuts.AccessFixer fixer)
fixAccessPost in class ASTObjectpublic java.lang.String getId()
public ASTObject postMove(MovingWalker walker)
postMove in class ASTObjectpublic ASTObject postFixAST(org.aspectj.compiler.base.ASTFixerPass fixer)
postFixAST in class ASTObjectpublic SemanticObject getTarget()
getTarget in interface SOLinkpublic void setTarget(SemanticObject newTarget)
setTarget in interface SOLinkpublic Type getTargetType()
public void unparse(org.aspectj.compiler.base.CodeWriter writer)
unparse in class ASTObjectpublic ASTObject postInnerAccess(org.aspectj.compiler.base.InnerAccessFixer w)
ASTObject
postInnerAccess in class ASTObjectpublic MethodDec buildAccessMethod(org.aspectj.compiler.base.InnerAccessFixer w)
ASTObjectPrefixExpr, PostfixExpr, FieldAccessExpr, AssignExpr, and CallExpr.
If and when we do cookie methods for constructor, we may also
need to override this in NewInstanceExpr and ConstructorCallExpr.
buildAccessMethod in class ASTObjectprotected 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 AssignableExprpublic Expr getExpr()
public void setExpr(Expr _expr)
public Field getField()
public void setField(Field _field)
public boolean getIsSuper()
public void setIsSuper(boolean _isSuper)
public ASTObject copyWalk(CopyWalker walker)
copyWalk in class ASTObjectpublic ASTObject getChildAt(int childIndex)
getChildAt in class ASTObjectpublic java.lang.String getChildNameAt(int childIndex)
getChildNameAt in class ASTObject
public void setChildAt(int childIndex,
ASTObject child)
setChildAt in class ASTObjectpublic int getChildCount()
getChildCount 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 | |||||||||