de.grogra.xl.expr
public abstract class MethodExpression extends VoidExpression implements Routine
Node.AccessorBridge, Node.FieldAttributeAccessor, Node.NType$TYPE, aval, aval$FIELD, dval, dval$FIELD, etype, EXPR_0, I18N, lval, lval$FIELD, USED_BITS, VALID, valid$FIELDADDITIONAL_FIELDS, bits, DELETED, EXTENT_BIT, EXTENT_MASK, extentIndex$FIELD, extentTail$FIELD, HAS_OBSERVERS, IS_INTERPRETIVE, isInterpretive$FIELD, LAST_EXTENT_INDEX, layer$FIELD, MARK, mark$FIELD, MIME_TYPE, MIN_UNUSED_SPECIAL_OF_SOURCE, MIN_UNUSED_SPECIAL_OF_TARGET, name$FIELDA_VALUE, ABSTRACT_PRIMITIVE, BOOLEAN, BOOLEAN_MASK, BYTE, BYTE_MASK, CHAR, CHAR_MASK, D_VALUE, DOUBLE, DOUBLE_MASK, F_VALUE, FLOAT, FLOAT_MASK, FLOATING_POINT_MASK, I_VALUE, INT, INT_ASSIGNABLE, INT_MASK, INTEGRAL_MASK, L_VALUE, LONG, LONG_MASK, MAX_PRIMITIVE, MIN_PRIMITIVE, NUMERIC_MASK, NUMERIC_NONCHAR_MASK, OBJECT, OBJECT_MASK, PRIMITIVE_MASK, SHORT, SHORT_MASK, TYPE_COUNT, VOID, VOID_MASKDEFAULT_VALUE, EMPTY_MAP| Constructor and Description |
|---|
MethodExpression() |
| Modifier and Type | Method and Description |
|---|---|
boolean |
discards(int index) |
protected abstract void |
evaluateImpl(VMXState t) |
protected void |
evaluateVoidImpl(VMXState t) |
AbruptCompletion.Return |
execute(VMXState s)
This callback method is invoked by the executing
VMXState. |
int |
getFrameSize()
Computes the number of VMXState stack elements for the frame
of this routine.
|
int |
getJavaFrameSize()
Computes the number of VMXState stack elements for the Java frame
of this routine.
|
int |
getParameterSize()
Computes the number of VMXState stack elements for the parameters
of this routine.
|
boolean |
hasJavaParameters()
Determines whether this routine expects its parameters on
the Java frame or the normal frame.
|
void |
setJFrameSize(int jsize) |
void |
setParameterSize(int params) |
void |
writeFinally(de.grogra.xl.compiler.BytecodeWriter writer,
int label,
ControlTransfer cause) |
allowsIterationadd, cast, checkExpressionCount, checkSetType, clone, compile, compile, createConst, createExpression, createMaxConst, createMinConst, evaluateAsObject, evaluateAsVoid, evaluateBoolean, evaluateBoolean, evaluateBooleanImpl, evaluateByte, evaluateByte, evaluateByteImpl, evaluateChar, evaluateChar, evaluateCharImpl, evaluateDouble, evaluateDouble, evaluateDoubleImpl, evaluateFloat, evaluateFloat, evaluateFloatImpl, evaluateInt, evaluateInt, evaluateIntImpl, evaluateLong, evaluateLong, evaluateLongImpl, evaluateObject, evaluateObject, evaluateObjectImpl, evaluateRet, evaluateShort, evaluateShort, evaluateShortImpl, evaluatesWithoutSideeffect, fireValueChanged, getExpression, getExpression, getExpression, getExpressionCount, getFirstExpression, getLastExpression, getLeastCommonAncestor, getNextExpression, getNTypeImpl, getObjectExpression, getObjectExpression, getPromotedType, getSupportedTypes, getType, getTypeLoader, hasType, hasType, implicitConversion, isConditional, isPrimitiveOrStringConstant, isRequired, link, linkGraph, needsEmptyOperandStackForFinally, newInstance, opcode, opcode, paramString, promote, push, receiveChildren, setNextSibling, setType, substitute, toConst, toConstImpl, toString, unboxingConversion, unlinkTree, valueChanged, write, writeChildren, writeConditional, writeConditional, writeImpl, writeOperatoraddEdgeBitsTo, addReference, appendBranchNode, appendBranchNode, appendReferencesTo, clone, cloneGraph, dump, dumpTree, dup, dupUnmanagedFields, edgeChanged, fieldModified, findAdjacent, findRefinementType, get, getAccessor, getAccessor, getAttributes, getAxisParent, getBoolean, getBranch, getBranchLength, getBranchNode, getBranchTail, getByte, getChar, getCommonAncestor, getCurrentGraphState, getDirectChildCount, getDouble, getEdgeAttributeAccessor, getEdgeAttributes, getEdgeBitsTo, getEdgeTo, getExtentIndex, getFirst, getFirstEdge, getFloat, getGraph, getId, getIndex, getInstantiator, getInt, getLayer, getLong, getManageableType, getName, getNeighbor, getNext, getNType, getObject, getOrCreateEdgeTo, getOrNull, getPersistenceManager, getPredecessor, getProvider, getShort, getSource, getStamp, getSuccessor, getSymbol, getSymbolColor, getTarget, getTransaction, getUserField, getUserFieldCount, getXClass, getXData, hasName, initProvider, initXClass, insertBranchNode, insertBranchNode, instantiateGraph, isAncestorOf, isDirection, isEncoarseOf, isManagingInstance, isMarked, isRoot, isSource, isTarget, manageableReadResolve, manageableWriteReplace, removeAll, removeEdgeBitsTo, removeFromChain, removeFromChain, removeReference, setBranch, setBranch, setExtentIndex, setGraphForDeserialization, setLayer, setMark, setName, setSuccessor, setSuccessor, specialEdgeAdded, specialEdgeRefModified, specialEdgeRemoved, writeReplaceaddEdgeBits, getBitMark, getEdgeBits, getObjectMark, getSpecialEdgeDescriptor, parseEdgeKeys, remove, removeEdgeBits, setBitMark, setEdgeBits, setObjectMark, testEdgeBitsequals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetBitMark, getObjectMark, setBitMark, setObjectMarkpublic boolean discards(int index)
discards in class Expressionprotected abstract void evaluateImpl(VMXState t)
protected final void evaluateVoidImpl(VMXState t)
evaluateVoidImpl in class Expressionpublic final AbruptCompletion.Return execute(VMXState s)
RoutineVMXState.
A return value has to be wrapped in an instance of
AbruptCompletion.Return.public int getFrameSize()
RoutinegetFrameSize in interface Routinepublic int getJavaFrameSize()
RoutinegetJavaFrameSize in interface Routinepublic int getParameterSize()
RoutinegetParameterSize in interface Routinepublic boolean hasJavaParameters()
RoutinehasJavaParameters in interface Routinetrue iff parameters are expected on the Java framepublic final void setJFrameSize(int jsize)
public final void setParameterSize(int params)
public void writeFinally(de.grogra.xl.compiler.BytecodeWriter writer,
int label,
ControlTransfer cause)
writeFinally in class Expression