public abstract class AssignableExpression extends Expression
Modifier | Constructor and Description |
---|---|
protected |
AssignableExpression(Rule rule,
Type type,
ParseNode token)
Create a new expression.
|
Modifier and Type | Method and Description |
---|---|
abstract void |
bindAssign()
bind as an assignable expression.
|
abstract void |
compileAssign(org.objectweb.asm.MethodVisitor mv,
CompileContext compileContext)
compile an assignment to the referenced location using the value on the top of the
Java stack.
|
abstract Object |
interpretAssign(HelperAdapter helperAdapter,
Object value)
execute an assignment to the referenced location by interpretation of the expression,
using the object passed in this call
|
abstract Type |
typeCheckAssign(Type expected)
typecheck the expression as an lvalue of an assignment operation
|
bind, getPos, getType, interpret, typeCheck, writeTo
compile, compileBooleanConversion, compileBox, compileNumericConversion, compileObjectConversion, compilePrimitiveConversion, compileStringConversion, compileTypeConversion, compileUnbox, getBindings, getTypeGroup, toString
public abstract Type typeCheckAssign(Type expected) throws TypeException
TypeException
public abstract Object interpretAssign(HelperAdapter helperAdapter, Object value) throws ExecuteException
helperAdapter
- an execution context associated with the rule which contains a map of
current bindings for rule variables and another map of their declared types both of which
are indexed by variable name. This includes entries for the helper (name "-1"), the
recipient if the trigger method is not static (name "0") and the trigger method arguments
(names "1", ...)ExecuteException
public abstract void compileAssign(org.objectweb.asm.MethodVisitor mv, CompileContext compileContext) throws CompileException
mv
- compileContext
- CompileException
public abstract void bindAssign() throws TypeException
TypeException
Copyright © 2018. All Rights Reserved.