de.grogra.xl.expr
Class Range

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.EvalExpression
                  extended by de.grogra.xl.expr.ConstExpression
                      extended by de.grogra.xl.expr.BinaryExpression
                          extended by de.grogra.xl.expr.Range
All Implemented Interfaces:
Manageable, PersistenceCapable, Shareable, TypeId, UserFields, XObject, Map, Completable, ExpressionFactory, Generator, LocalAccess, ValueObserver, java.io.Serializable, java.lang.Cloneable

public final class Range
extends BinaryExpression
implements Generator, LocalAccess

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.BinaryExpression
expr1, expr2
 
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.xl.expr.Generator
LOCAL, NONE, NONLOCAL
 
Fields inherited from interface de.grogra.xl.expr.LocalAccess
ASSIGNS_LOCAL, POST_ASSIGNMENT, POST_USE, PRE_1_ASSIGNMENT, PRE_2_ASSIGNMENT, PRE_ASSIGNMENT, PRE_USE, USES_LOCAL
 
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
Range()
           
 
Method Summary
 void complete(de.grogra.xl.compiler.scope.MethodScope scope)
           
protected  int evaluateIntImpl(VMXState t)
           
protected  long evaluateLongImpl(VMXState t)
           
 int getAccessType(int index)
           
 int getGeneratorType()
           
 de.grogra.xl.compiler.scope.Local getLocal(int index)
           
 int getLocalCount()
           
 int getSupportedTypes()
           
 void link(boolean checkTypes)
           
 void setBreakTarget(BreakTarget target)
           
 void setLocal(int index, de.grogra.xl.compiler.scope.Local local)
           
 void setLocals(de.grogra.xl.compiler.scope.Local counter, de.grogra.xl.compiler.scope.Local max)
           
 Expression toConst()
           
protected  void writeImpl(de.grogra.xl.compiler.BytecodeWriter writer, boolean discard)
           
 
Methods inherited from class de.grogra.xl.expr.BinaryExpression
compile, getOpcodes, getSupportedTypes, writeOperator
 
Methods inherited from class de.grogra.xl.expr.Expression
add, allowsIteration, cast, checkExpressionCount, checkSetType, clone, 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, evaluateLong, evaluateLong, evaluateObject, evaluateObject, evaluateObjectImpl, evaluateRet, evaluateShort, evaluateShort, evaluateShortImpl, evaluatesWithoutSideeffect, evaluateVoidImpl, fireValueChanged, getExpression, getExpression, getExpression, getExpressionCount, getFirstExpression, getLastExpression, getLeastCommonAncestor, getNextExpression, getNTypeImpl, getObjectExpression, getObjectExpression, getPromotedType, getType, getTypeLoader, hasType, hasType, implicitConversion, isConditional, isPrimitiveOrStringConstant, isRequired, linkGraph, needsEmptyOperandStackForFinally, newInstance, opcode, opcode, paramString, promote, push, receiveChildren, setNextSibling, setType, substitute, toConstImpl, toString, unboxingConversion, unlinkTree, valueChanged, write, writeChildren, writeConditional, writeConditional, writeFinally
 
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

Range

public Range()
Method Detail

complete

public void complete(de.grogra.xl.compiler.scope.MethodScope scope)
Specified by:
complete in interface Completable

evaluateIntImpl

protected int evaluateIntImpl(VMXState t)
Overrides:
evaluateIntImpl in class Expression

evaluateLongImpl

protected long evaluateLongImpl(VMXState t)
Overrides:
evaluateLongImpl in class Expression

getAccessType

public int getAccessType(int index)
Specified by:
getAccessType in interface LocalAccess

getGeneratorType

public int getGeneratorType()
Specified by:
getGeneratorType in interface Generator

getLocal

public de.grogra.xl.compiler.scope.Local getLocal(int index)
Specified by:
getLocal in interface LocalAccess

getLocalCount

public int getLocalCount()
Specified by:
getLocalCount in interface LocalAccess

getSupportedTypes

public int getSupportedTypes()
Specified by:
getSupportedTypes in class BinaryExpression

link

public void link(boolean checkTypes)
Overrides:
link in class BinaryExpression

setBreakTarget

public void setBreakTarget(BreakTarget target)
Specified by:
setBreakTarget in interface Generator

setLocal

public void setLocal(int index,
                     de.grogra.xl.compiler.scope.Local local)
Specified by:
setLocal in interface LocalAccess

setLocals

public void setLocals(de.grogra.xl.compiler.scope.Local counter,
                      de.grogra.xl.compiler.scope.Local max)

toConst

public Expression toConst()
Overrides:
toConst in class ConstExpression

writeImpl

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