gnu.expr

Class ThisExp

public class ThisExp extends ReferenceExp

Evaluates to the "this" implicit variable. This is currently neither robust nor general. FIXME!
Field Summary
static StringTHIS_NAME
Non-interned name for implicit 'this' variable.
Constructor Summary
ThisExp()
ThisExp(ScopeExp context)
ThisExp(Declaration binding)
ThisExp(ClassType type)
Method Summary
voidapply(CallContext ctx)
voidcompile(Compilation comp, Target target)
ScopeExpgetContextScope()
TypegetType()
booleanisForContext()
If this is being used to pass the context instance to a Macro.
static ThisExpmakeGivingContext(ScopeExp context)
protected Expressionwalk(ExpWalker walker)

Field Detail

THIS_NAME

public static final String THIS_NAME
Non-interned name for implicit 'this' variable.

Constructor Detail

ThisExp

public ThisExp()

ThisExp

public ThisExp(ScopeExp context)

ThisExp

public ThisExp(Declaration binding)

ThisExp

public ThisExp(ClassType type)

Method Detail

apply

public void apply(CallContext ctx)

compile

public void compile(Compilation comp, Target target)

getContextScope

public ScopeExp getContextScope()

getType

public final Type getType()

isForContext

public final boolean isForContext()
If this is being used to pass the context instance to a Macro.

makeGivingContext

public static ThisExp makeGivingContext(ScopeExp context)

walk

protected Expression walk(ExpWalker walker)