public class ThisExp extends ReferenceExp
SourceLocator.Simple
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
THIS_NAME
Non-interned name for implicit 'this' variable.
|
ALLOCATE_ON_STACK_LAST, DONT_DEREFERENCE, PROCEDURE_NAME, TYPE_NAME
NEXT_AVAIL_FLAG, PREFER_BINDING2
applyMethodExpression, flags, noExpressions, type, VALIDATED
applyMethodType, applyToConsumerDefault, applyToConsumerMethod, applyToObjectDefault, applyToObjectMethod, compilerKey, compilerXKey, inlineIfConstantSymbol, validateApplyKey, validateXApplyKey
nameKey
Constructor and Description |
---|
ThisExp() |
ThisExp(ClassType type) |
ThisExp(Declaration binding) |
ThisExp(ScopeExp context) |
Modifier and Type | Method and Description |
---|---|
void |
apply(CallContext ctx)
Evaluate the expression.
|
protected Type |
calculateType() |
void |
compile(Compilation comp,
Target target) |
ScopeExp |
getContextScope() |
boolean |
isForContext()
If this is being used to pass the context instance to a Macro.
|
static ThisExp |
makeGivingContext(ScopeExp context) |
protected <R,D> R |
visit(ExpVisitor<R,D> visitor,
D d) |
deepCopy, getDontDereference, isProcedureName, isSingleValue, isUnknown, mustCompile, print, setDontDereference, setProcedureName, side_effects, toString, validateApply, valueIfConstant
contextDecl, getBinding, getName, getSimpleName, getSymbol, setBinding, setContextDecl, string_name
applyMethodExpression, checkLiteralKeyword, compile, compile, compileWithPosition, compileWithPosition, deepCopy, deepCopy, deepCopy, eval, eval, getColumnNumber, getEndColumn, getEndLine, getFileName, getFlag, getFlags, getLineNumber, getPublicId, getStartColumn, getStartLine, getSystemId, getType, getTypeRaw, isStableSourceLocation, makeWhile, maybeSetLine, neverReturns, numArgs, print, printLineColumn, setFile, setFlag, setFlag, setLine, setLine, setLine, setLine, setLine, setLocation, setType, visitChildren
apply0, apply1, apply2, apply3, apply4, applyL, applyN, applyToConsumerDefault, applyToObjectDefault, checkArgCount, checkBadCode, getApplyMethod, getApplyToConsumerMethod, getApplyToObjectMethod, getReturnType, getSetter, getSourceLocation, isSideEffectFree, lookupApplyHandle, maxArgs, maxArgs, minArgs, minArgs, set0, set1, setN, setSetter, setSourceLocation
getProperty, removeProperty, setName, setProperty, setProperty, setSymbol
public static final java.lang.String THIS_NAME
public ThisExp()
public ThisExp(ScopeExp context)
public ThisExp(Declaration binding)
public ThisExp(ClassType type)
public final boolean isForContext()
public void apply(CallContext ctx) throws java.lang.Throwable
Expression
apply
in class ReferenceExp
java.lang.Throwable
public ScopeExp getContextScope()
public void compile(Compilation comp, Target target)
compile
in class ReferenceExp
protected <R,D> R visit(ExpVisitor<R,D> visitor, D d)
visit
in class ReferenceExp
protected final Type calculateType()
calculateType
in class ReferenceExp