public class NewExpression extends Expression
| Constructor and Description |
|---|
NewExpression(Rule rule,
ParseNode token,
java.util.List<Expression> arguments,
java.util.List<Expression> arraySizes) |
| Modifier and Type | Method and Description |
|---|---|
void |
bind()
verify that variables mentioned in this expression are actually available in the supplied
bindings list
|
void |
compile(org.objectweb.asm.MethodVisitor mv,
CompileContext compileContext) |
java.lang.Class |
getCandidateArgClass(java.util.List<java.lang.reflect.Constructor> candidates,
int argIdx) |
java.lang.Object |
interpret(HelperAdapter helper)
evaluate the expression by interpreting the expression tree
|
java.util.List<java.lang.reflect.Constructor> |
pruneCandidates(java.util.List<java.lang.reflect.Constructor> candidates,
int argIdx,
java.lang.Class argClazz) |
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.
|
void |
writeTo(java.io.StringWriter stringWriter) |
getPos, getTypecompileBooleanConversion, compileBox, compileNumericConversion, compileObjectConversion, compilePrimitiveConversion, compileStringConversion, compileTypeConversion, compileUnbox, getBindings, getTypeGroup, toStringpublic NewExpression(Rule rule, ParseNode token, java.util.List<Expression> arguments, java.util.List<Expression> arraySizes)
public void bind()
throws TypeException
bind in class ExpressionTypeException - if any variable is missing or has the wrong typepublic Type typeCheck(Type expected) throws TypeException
typeCheck in class Expressionexpected - the type expected for the expression in the contxt in which it occurs. this
may be void but shoudl not be undefined at the point where type checking is performed.TypeException - if type checking failspublic java.lang.Class getCandidateArgClass(java.util.List<java.lang.reflect.Constructor> candidates,
int argIdx)
public java.util.List<java.lang.reflect.Constructor> pruneCandidates(java.util.List<java.lang.reflect.Constructor> candidates,
int argIdx,
java.lang.Class argClazz)
public java.lang.Object interpret(HelperAdapter helper) throws ExecuteException
interpret in class Expressionhelper - an execution context associated with the rule whcih contains a map of
current bindings for rule variables and another map of their declared types both of which
are indexed by varoable 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 RuleElementCompileExceptionpublic void writeTo(java.io.StringWriter stringWriter)
writeTo in class ExpressionCopyright © 2015. All Rights Reserved.