de.grogra.xl.expr
public abstract class Invoke extends EvalExpression implements NonlocalGenerator, Completable
Node.AccessorBridge, Node.FieldAttributeAccessor, Node.NType| Modifier and Type | Field and Description |
|---|---|
protected java.lang.String |
descriptor |
protected Type |
targetType |
$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| Modifier and Type | Method and Description |
|---|---|
void |
addTransfer(ControlTransfer transfer) |
protected void |
checkSetType(Type type) |
void |
complete(de.grogra.xl.compiler.scope.MethodScope scope) |
protected boolean |
evaluateBooleanImpl(VMXState t) |
protected byte |
evaluateByteImpl(VMXState t) |
protected char |
evaluateCharImpl(VMXState t) |
protected double |
evaluateDoubleImpl(VMXState t) |
protected float |
evaluateFloatImpl(VMXState t) |
protected int |
evaluateIntImpl(VMXState t) |
protected long |
evaluateLongImpl(VMXState t) |
protected java.lang.Object |
evaluateObjectImpl(VMXState t) |
AbruptCompletion.Return |
evaluateRet(VMXState t) |
protected short |
evaluateShortImpl(VMXState t) |
protected void |
evaluateVoidImpl(VMXState t) |
int |
getGeneratorType() |
protected abstract Method |
getMethod(VMXState t) |
protected abstract int |
getOpcode() |
Method |
getOriginalMethod() |
protected java.lang.String |
paramString()
Computes the class-specific part of the string returned by
Node.toString() which shall be enclosed in brackets. |
protected void |
pushParameters(VMXState t) |
void |
receiveConsumer(Expression consumer) |
void |
receiveRoutine(de.grogra.xl.compiler.scope.TypeScope scope,
Expression descriptor) |
void |
setBreakTarget(BreakTarget target) |
void |
setGenerator() |
void |
useAccessMethod(de.grogra.xl.compiler.CClass amc) |
protected void |
writeImpl(de.grogra.xl.compiler.BytecodeWriter writer,
boolean discard) |
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, 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, setObjectMarkprotected java.lang.String descriptor
protected final Type targetType
public Invoke(Method method)
public void addTransfer(ControlTransfer transfer)
addTransfer in interface NonlocalGeneratorprotected void checkSetType(Type type)
checkSetType in class Expressionpublic void complete(de.grogra.xl.compiler.scope.MethodScope scope)
complete in interface Completableprotected final boolean evaluateBooleanImpl(VMXState t)
evaluateBooleanImpl in class Expressionprotected final byte evaluateByteImpl(VMXState t)
evaluateByteImpl in class Expressionprotected final char evaluateCharImpl(VMXState t)
evaluateCharImpl in class Expressionprotected final double evaluateDoubleImpl(VMXState t)
evaluateDoubleImpl in class Expressionprotected final float evaluateFloatImpl(VMXState t)
evaluateFloatImpl in class Expressionprotected final int evaluateIntImpl(VMXState t)
evaluateIntImpl in class Expressionprotected final long evaluateLongImpl(VMXState t)
evaluateLongImpl in class Expressionprotected final java.lang.Object evaluateObjectImpl(VMXState t)
evaluateObjectImpl in class Expressionpublic AbruptCompletion.Return evaluateRet(VMXState t)
evaluateRet in class Expressionprotected final short evaluateShortImpl(VMXState t)
evaluateShortImpl in class Expressionprotected final void evaluateVoidImpl(VMXState t)
evaluateVoidImpl in class Expressionpublic int getGeneratorType()
getGeneratorType in interface Generatorprotected abstract int getOpcode()
public Method getOriginalMethod()
protected java.lang.String paramString()
NodeNode.toString() which shall be enclosed in brackets. This
should be used to show important properties of this node.paramString in class Expressionprotected void pushParameters(VMXState t)
public void receiveConsumer(Expression consumer)
public void receiveRoutine(de.grogra.xl.compiler.scope.TypeScope scope,
Expression descriptor)
receiveRoutine in interface NonlocalGeneratorpublic void setBreakTarget(BreakTarget target)
setBreakTarget in interface Generatorpublic void setGenerator()
public void useAccessMethod(de.grogra.xl.compiler.CClass amc)
protected void writeImpl(de.grogra.xl.compiler.BytecodeWriter writer,
boolean discard)
writeImpl in class Expression