de.grogra.xl.expr
public final class Finally extends VoidExpression implements LocalAccess
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$FIELDASSIGNS_LOCAL, POST_ASSIGNMENT, POST_USE, PRE_1_ASSIGNMENT, PRE_2_ASSIGNMENT, PRE_ASSIGNMENT, PRE_USE, USES_LOCALA_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 |
|---|
Finally(de.grogra.xl.compiler.scope.Local ex,
de.grogra.xl.compiler.scope.Local addr) |
| Modifier and Type | Method and Description |
|---|---|
void |
complete(de.grogra.xl.compiler.scope.MethodScope scope) |
boolean |
discards(int index) |
protected void |
evaluateVoidImpl(VMXState t) |
int |
getAccessType(int index) |
de.grogra.xl.compiler.scope.Local |
getLocal(int index) |
int |
getLocalCount() |
void |
setLocal(int index,
de.grogra.xl.compiler.scope.Local local) |
void |
writeFinally(de.grogra.xl.compiler.BytecodeWriter writer,
int label,
ControlTransfer transfer) |
protected void |
writeImpl(de.grogra.xl.compiler.BytecodeWriter writer,
boolean discard) |
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, 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 Finally(de.grogra.xl.compiler.scope.Local ex,
de.grogra.xl.compiler.scope.Local addr)
public void complete(de.grogra.xl.compiler.scope.MethodScope scope)
complete in interface Completablepublic boolean discards(int index)
discards in class Expressionprotected void evaluateVoidImpl(VMXState t)
evaluateVoidImpl in class Expressionpublic int getAccessType(int index)
getAccessType in interface LocalAccesspublic de.grogra.xl.compiler.scope.Local getLocal(int index)
getLocal in interface LocalAccesspublic int getLocalCount()
getLocalCount in interface LocalAccesspublic void setLocal(int index,
de.grogra.xl.compiler.scope.Local local)
setLocal in interface LocalAccesspublic void writeFinally(de.grogra.xl.compiler.BytecodeWriter writer,
int label,
ControlTransfer transfer)
writeFinally in class Expressionprotected void writeImpl(de.grogra.xl.compiler.BytecodeWriter writer,
boolean discard)
writeImpl in class Expression