java.lang.Object
de.grogra.graph.impl.Edge
de.grogra.graph.impl.Node
de.grogra.xl.expr.Expression
de.grogra.xl.expr.VoidExpression
de.grogra.xl.expr.MethodExpression
- All Implemented Interfaces:
Manageable
,PersistenceCapable
,Shareable
,TypeId
,UserFields
,XObject
,Map
,ExpressionFactory
,ValueObserver
,Routine
,Serializable
,Cloneable
- Direct Known Subclasses:
ComplexMethod
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class de.grogra.graph.impl.Node
Node.AccessorBridge, Node.FieldAttributeAccessor, Node.NType
-
Field Summary
Fields inherited from class de.grogra.xl.expr.Expression
$TYPE, aval, aval$FIELD, dval, dval$FIELD, etype, EXPR_0, I18N, lval, lval$FIELD, USED_BITS, VALID, valid$FIELD
Fields inherited from class de.grogra.graph.impl.Node
ADDITIONAL_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, MAX_RESOLUTION, MIME_TYPE, MIN_RESOLUTION, MIN_UNUSED_SPECIAL_OF_SOURCE, MIN_UNUSED_SPECIAL_OF_TARGET, name$FIELD, RESOLUTION_BIT, RESOLUTION_MASK, resolution$FIELD
Fields inherited from interface de.grogra.util.Map
DEFAULT_VALUE, EMPTY_MAP
Fields inherited from interface de.grogra.reflect.TypeId
A_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_MASK
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionboolean
discards
(int index) protected abstract void
protected final void
final AbruptCompletion.Return
This callback method is invoked by the executingVMXState
.int
Computes the number of VMXState stack elements for the frame of this routine.int
Computes the number of VMXState stack elements for the Java frame of this routine.int
Computes the number of VMXState stack elements for the parameters of this routine.boolean
Determines whether this routine expects its parameters on the Java frame or the normal frame.final void
setJFrameSize
(int jsize) final void
setParameterSize
(int params) void
writeFinally
(BytecodeWriter writer, int label, ControlTransfer cause) Methods inherited from class de.grogra.xl.expr.VoidExpression
allowsIteration
Methods inherited from class de.grogra.xl.expr.Expression
add, 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, writeOperator
Methods inherited from class de.grogra.graph.impl.Node
addEdgeBitsTo, addReference, appendBranchNode, appendBranchNode, appendReferencesTo, clone, cloneGraph, dump, dumpTree, dup, dupFrom, dupnew, 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, getIgnored, getIndex, getInstantiator, getInt, getLayer, getLong, getManageableType, getName, getNeighbor, getNext, getNType, getObject, getOrCreateEdgeTo, getOrNull, getPersistenceManager, getPredecessor, getProvider, getResolution, 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, setIgnored, setLayer, setMark, setName, setResolution, setSuccessor, setSuccessor, specialEdgeAdded, specialEdgeRefModified, specialEdgeRemoved, writeReplace
Methods inherited from class de.grogra.graph.impl.Edge
addEdgeBits, getBitMark, getEdgeBits, getEdgeKeys, getObjectMark, getSpecialEdgeDescriptor, parseEdgeKeys, remove, removeEdgeBits, setBitMark, setEdgeBits, setObjectMark, testEdgeBits
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface de.grogra.persistence.PersistenceCapable
getBitMark, getObjectMark, setBitMark, setObjectMark
-
Constructor Details
-
MethodExpression
public MethodExpression()
-
-
Method Details
-
discards
public boolean discards(int index) - Overrides:
discards
in classExpression
-
writeFinally
- Overrides:
writeFinally
in classExpression
-
evaluateVoidImpl
- Overrides:
evaluateVoidImpl
in classExpression
-
execute
Description copied from interface:Routine
This callback method is invoked by the executingVMXState
. A return value has to be wrapped in an instance ofAbruptCompletion.Return
. -
evaluateImpl
-
setParameterSize
public final void setParameterSize(int params) -
setJFrameSize
public final void setJFrameSize(int jsize) -
hasJavaParameters
public boolean hasJavaParameters()Description copied from interface:Routine
Determines whether this routine expects its parameters on the Java frame or the normal frame.- Specified by:
hasJavaParameters
in interfaceRoutine
- Returns:
true
iff parameters are expected on the Java frame
-
getParameterSize
public int getParameterSize()Description copied from interface:Routine
Computes the number of VMXState stack elements for the parameters of this routine.- Specified by:
getParameterSize
in interfaceRoutine
- Returns:
- the number of stack elements for parameters
-
getJavaFrameSize
public int getJavaFrameSize()Description copied from interface:Routine
Computes the number of VMXState stack elements for the Java frame of this routine. This includes the parameters, if any.- Specified by:
getJavaFrameSize
in interfaceRoutine
- Returns:
- the size of the Java frame in terms of stack elements
-
getFrameSize
public int getFrameSize()Description copied from interface:Routine
Computes the number of VMXState stack elements for the frame of this routine. This includes the parameters, if any.- Specified by:
getFrameSize
in interfaceRoutine
- Returns:
- the size of the frame in terms of stack elements
-