de.grogra.xl.expr
Class MethodExpression
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, java.io.Serializable, java.lang.Cloneable
- Direct Known Subclasses:
- ComplexMethod
public abstract class MethodExpression
- extends VoidExpression
- implements Routine
- See Also:
- Serialized Form
Nested classes/interfaces inherited from interface de.grogra.util.Map |
Map.Chain |
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, MIME_TYPE, MIN_UNUSED_SPECIAL_OF_SOURCE, MIN_UNUSED_SPECIAL_OF_TARGET, name$FIELD |
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 |
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, dupUnmanagedFields, edgeChanged, fieldModified, findAdjacent, 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, isManagingInstance, isMarked, isRoot, isSource, isTarget, manageableReadResolve, manageableWriteReplace, removeAll, removeEdgeBitsTo, removeFromChain, removeFromChain, removeReference, setBranch, setBranch, setExtentIndex, setGraphForDeserialization, setLayer, setMark, setName, setSuccessor, setSuccessor, specialEdgeAdded, specialEdgeRefModified, specialEdgeRemoved, writeReplace |
Methods inherited from class de.grogra.graph.impl.Edge |
addEdgeBits, getBitMark, getEdgeBits, 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 |
MethodExpression
public MethodExpression()
discards
public boolean discards(int index)
- Overrides:
discards
in class Expression
evaluateImpl
protected abstract void evaluateImpl(VMXState t)
evaluateVoidImpl
protected final void evaluateVoidImpl(VMXState t)
- Overrides:
evaluateVoidImpl
in class Expression
execute
public final AbruptCompletion.Return execute(VMXState s)
- Description copied from interface:
Routine
- This callback method is invoked by the executing
VMXState
.
A return value has to be wrapped in an instance of
AbruptCompletion.Return
.
- Specified by:
execute
in interface Routine
- Parameters:
s
- the executing VMXState
- Returns:
- the wrapped return value
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 interface Routine
- Returns:
- the size of the frame in terms of stack elements
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 interface Routine
- Returns:
- the size of the Java frame in terms of stack elements
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 interface Routine
- Returns:
- the number of stack elements for parameters
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 interface Routine
- Returns:
true
iff parameters are expected on the Java frame
setJFrameSize
public final void setJFrameSize(int jsize)
setParameterSize
public final void setParameterSize(int params)
writeFinally
public void writeFinally(de.grogra.xl.compiler.BytecodeWriter writer,
int label,
ControlTransfer cause)
- Overrides:
writeFinally
in class Expression