public class ConditionalEvalExpression extends TernaryOperExpression
Constructor and Description |
---|
ConditionalEvalExpression(Rule rule,
Type type,
ParseNode token,
Expression cond,
Expression if_expr,
Expression else_expr) |
Modifier and Type | Method and Description |
---|---|
void |
compile(org.objectweb.asm.MethodVisitor mv,
CompileContext compileContext) |
Object |
interpret(HelperAdapter helper)
evaluate the expression by interpreting the expression tree
|
Type |
typeCheck(Type expected)
ensure that all type references in the expression and its component expressions
can be resolved, that the type of the expression is well-defined and that it is
compatible with the type expected in the context in which it occurs.
|
bind, getOperand
convertOper, writeTo
getPos, getType
compileBooleanConversion, compileBox, compileNumericConversion, compileObjectConversion, compilePrimitiveConversion, compileStringConversion, compileTypeConversion, compileUnbox, getBindings, getTypeGroup, rebox, toString
public ConditionalEvalExpression(Rule rule, Type type, ParseNode token, Expression cond, Expression if_expr, Expression else_expr)
public Type typeCheck(Type expected) throws TypeException
Expression
typeCheck
in class Expression
expected
- the type expected for the expression in the contxet in which it occurs. this
may be void but should not be undefined at the point where type checking is performed.TypeException
- if a type check failure occurspublic Object interpret(HelperAdapter helper) throws ExecuteException
Expression
interpret
in class Expression
helper
- 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
- if an error occurs during executionpublic void compile(org.objectweb.asm.MethodVisitor mv, CompileContext compileContext) throws CompileException
compile
in class RuleElement
CompileException
Copyright © 2016. All rights reserved.