de.grogra.xl.expr
Class Invoke
java.lang.Object
de.grogra.graph.impl.Edge
de.grogra.graph.impl.Node
de.grogra.xl.expr.Expression
de.grogra.xl.expr.EvalExpression
de.grogra.xl.expr.Invoke
- All Implemented Interfaces:
- Manageable, PersistenceCapable, Shareable, TypeId, UserFields, XObject, Map, Completable, ExpressionFactory, Generator, NonlocalGenerator, ValueObserver, java.io.Serializable, java.lang.Cloneable
- Direct Known Subclasses:
- InvokeSpecial, InvokeStatic, InvokeVirtual
public abstract class Invoke
- extends EvalExpression
- implements NonlocalGenerator, Completable
- 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, allowsIteration, cast, checkExpressionCount, clone, compile, compile, createConst, createExpression, createMaxConst, createMinConst, discards, evaluateAsObject, evaluateAsVoid, evaluateBoolean, evaluateBoolean, evaluateByte, evaluateByte, evaluateChar, evaluateChar, evaluateDouble, evaluateDouble, evaluateFloat, evaluateFloat, evaluateInt, evaluateInt, evaluateLong, evaluateLong, evaluateObject, evaluateObject, evaluateShort, evaluateShort, 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, promote, push, receiveChildren, setNextSibling, setType, substitute, toConst, toConstImpl, toString, unboxingConversion, unlinkTree, valueChanged, write, writeChildren, writeConditional, writeConditional, writeFinally, 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 |
descriptor
protected java.lang.String descriptor
targetType
protected final Type targetType
Invoke
public Invoke(Method method)
addTransfer
public void addTransfer(ControlTransfer transfer)
- Specified by:
addTransfer
in interface NonlocalGenerator
checkSetType
protected void checkSetType(Type type)
- Overrides:
checkSetType
in class Expression
complete
public void complete(de.grogra.xl.compiler.scope.MethodScope scope)
- Specified by:
complete
in interface Completable
evaluateBooleanImpl
protected final boolean evaluateBooleanImpl(VMXState t)
- Overrides:
evaluateBooleanImpl
in class Expression
evaluateByteImpl
protected final byte evaluateByteImpl(VMXState t)
- Overrides:
evaluateByteImpl
in class Expression
evaluateCharImpl
protected final char evaluateCharImpl(VMXState t)
- Overrides:
evaluateCharImpl
in class Expression
evaluateDoubleImpl
protected final double evaluateDoubleImpl(VMXState t)
- Overrides:
evaluateDoubleImpl
in class Expression
evaluateFloatImpl
protected final float evaluateFloatImpl(VMXState t)
- Overrides:
evaluateFloatImpl
in class Expression
evaluateIntImpl
protected final int evaluateIntImpl(VMXState t)
- Overrides:
evaluateIntImpl
in class Expression
evaluateLongImpl
protected final long evaluateLongImpl(VMXState t)
- Overrides:
evaluateLongImpl
in class Expression
evaluateObjectImpl
protected final java.lang.Object evaluateObjectImpl(VMXState t)
- Overrides:
evaluateObjectImpl
in class Expression
evaluateRet
public AbruptCompletion.Return evaluateRet(VMXState t)
- Overrides:
evaluateRet
in class Expression
evaluateShortImpl
protected final short evaluateShortImpl(VMXState t)
- Overrides:
evaluateShortImpl
in class Expression
evaluateVoidImpl
protected final void evaluateVoidImpl(VMXState t)
- Overrides:
evaluateVoidImpl
in class Expression
getGeneratorType
public int getGeneratorType()
- Specified by:
getGeneratorType
in interface Generator
getMethod
protected abstract Method getMethod(VMXState t)
getOpcode
protected abstract int getOpcode()
getOriginalMethod
public Method getOriginalMethod()
paramString
protected java.lang.String paramString()
- Description copied from class:
Node
- Computes the class-specific part of the string returned by
Node.toString()
which shall be enclosed in brackets. This
should be used to show important properties of this node.
- Overrides:
paramString
in class Expression
- Returns:
- string describing some important properties of this node
pushParameters
protected void pushParameters(VMXState t)
receiveConsumer
public void receiveConsumer(Expression consumer)
receiveRoutine
public void receiveRoutine(de.grogra.xl.compiler.scope.TypeScope scope,
Expression descriptor)
- Specified by:
receiveRoutine
in interface NonlocalGenerator
setBreakTarget
public void setBreakTarget(BreakTarget target)
- Specified by:
setBreakTarget
in interface Generator
setGenerator
public void setGenerator()
useAccessMethod
public void useAccessMethod(de.grogra.xl.compiler.CClass amc)
writeImpl
protected void writeImpl(de.grogra.xl.compiler.BytecodeWriter writer,
boolean discard)
- Overrides:
writeImpl
in class Expression