de.grogra.xl.expr
Class ControlTransfer

java.lang.Object
  extended by de.grogra.graph.impl.Edge
      extended by de.grogra.graph.impl.Node
          extended by de.grogra.xl.expr.Expression
              extended by de.grogra.xl.expr.VoidExpression
                  extended by de.grogra.xl.expr.ControlTransfer
All Implemented Interfaces:
Manageable, PersistenceCapable, Shareable, TypeId, UserFields, XObject, Map, ExpressionFactory, ValueObserver, java.io.Serializable, java.lang.Cloneable
Direct Known Subclasses:
Break, Return

public abstract class ControlTransfer
extends VoidExpression

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class de.grogra.graph.impl.Node
Node.AccessorBridge, Node.FieldAttributeAccessor, Node.NType
 
Nested classes/interfaces inherited from interface de.grogra.util.Map
Map.Chain
 
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, 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
 
Fields inherited from interface de.grogra.util.Map
DEFAULT_VALUE, EMPTY_MAP
 
Constructor Summary
ControlTransfer()
           
 
Method Summary
protected abstract  AbruptCompletion evaluate(VMXState t)
           
protected  void evaluateVoidImpl(VMXState t)
           
protected  java.lang.String paramString()
          Computes the class-specific part of the string returned by Node.toString() which shall be enclosed in brackets.
 void setNesting(int nesting)
           
protected abstract  void writeAbruptCompletion(de.grogra.xl.compiler.BytecodeWriter writer)
           
protected  void writeImpl(de.grogra.xl.compiler.BytecodeWriter writer, boolean discard)
           
protected abstract  void writeLocal(de.grogra.xl.compiler.BytecodeWriter writer, Expression location)
           
protected abstract  void writeTransfer(de.grogra.xl.compiler.BytecodeWriter writer, BreakTarget target)
           
 
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, discards, 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, 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
 
Methods inherited from interface de.grogra.persistence.PersistenceCapable
getBitMark, getObjectMark, setBitMark, setObjectMark
 

Constructor Detail

ControlTransfer

public ControlTransfer()
Method Detail

evaluate

protected abstract AbruptCompletion evaluate(VMXState t)

evaluateVoidImpl

protected final void evaluateVoidImpl(VMXState t)
Overrides:
evaluateVoidImpl in class Expression

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

setNesting

public void setNesting(int nesting)

writeAbruptCompletion

protected abstract void writeAbruptCompletion(de.grogra.xl.compiler.BytecodeWriter writer)

writeImpl

protected void writeImpl(de.grogra.xl.compiler.BytecodeWriter writer,
                         boolean discard)
Overrides:
writeImpl in class Expression

writeLocal

protected abstract void writeLocal(de.grogra.xl.compiler.BytecodeWriter writer,
                                   Expression location)

writeTransfer

protected abstract void writeTransfer(de.grogra.xl.compiler.BytecodeWriter writer,
                                      BreakTarget target)