org.aspectj.compiler.base.ast
Class ThisExpr
java.lang.Object
org.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.ThisExpr
- All Implemented Interfaces:
- MajPrimaryExpr
- Direct Known Subclasses:
- QualifiedThisExpr
- public class ThisExpr
- extends JavaExpr
- implements MajPrimaryExpr
Fields inherited from class org.aspectj.compiler.base.ast.Expr |
type |
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, makeQualifiedThis, 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, getChildAt, getChildCount, getChildNameAt, 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, postAssignmentCheck, postCleanup, postFixAST, postImplementMixin, postInnerAccess, postLift, postScope, postThreading, preAssignmentCheck, preCopy, preIntroduction, preLift, preMove, preScope, preThreading, remove, remove, removeChildAt, replaceWith, setChildAt, 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 |
ThisExpr
public ThisExpr(SourceLocation source,
Type type)
ThisExpr
public ThisExpr(SourceLocation location)
ThisExpr
public ThisExpr()
toExpr
public Expr toExpr()
discoverType
public Type discoverType()
- Specified by:
discoverType
in class Expr
makeReference
public Expr makeReference()
- Description copied from class:
Expr
- When called for the first time will return an expression that may
involve computation and state changes.
When called on an Expr returned from this method, it is guaranteed
that no further computation will occur.
For Exprs that are already references, this is copied identity.
For others, this will return a ReferenceExpr.
- Overrides:
makeReference
in class Expr
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
postMove
public ASTObject postMove(MovingWalker walker)
- Overrides:
postMove
in class ASTObject
postInnerInfo
public void postInnerInfo(org.aspectj.compiler.base.InnerInfoPass walker)
- Overrides:
postInnerInfo
in class ASTObject
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
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
copyWalk
public ASTObject copyWalk(CopyWalker walker)
- Overrides:
copyWalk
in class ASTObject
getDefaultDisplayName
public java.lang.String getDefaultDisplayName()
- Overrides:
getDefaultDisplayName
in class Expr