de.grogra.xl.expr
public final class Conditional extends ConstExpression
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$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| Constructor and Description |
|---|
Conditional() |
Conditional(Type type) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
allowsIteration(int index) |
Expression |
compile(de.grogra.xl.compiler.scope.Scope scope,
Expression c,
Expression e1,
Expression e2) |
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) |
protected short |
evaluateShortImpl(VMXState t) |
boolean |
isConditional() |
void |
link(boolean checkTypes) |
int |
writeConditional(de.grogra.xl.compiler.BytecodeWriter writer,
org.objectweb.asm.Label falseLabel,
org.objectweb.asm.Label trueLabel) |
protected void |
writeImpl(de.grogra.xl.compiler.BytecodeWriter writer,
boolean discard) |
toConstadd, cast, checkExpressionCount, checkSetType, 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, evaluateRet, evaluateShort, evaluateShort, evaluatesWithoutSideeffect, evaluateVoidImpl, fireValueChanged, getExpression, getExpression, getExpression, getExpressionCount, getFirstExpression, getLastExpression, getLeastCommonAncestor, getNextExpression, getNTypeImpl, getObjectExpression, getObjectExpression, getPromotedType, getSupportedTypes, getType, getTypeLoader, hasType, hasType, implicitConversion, isPrimitiveOrStringConstant, isRequired, linkGraph, needsEmptyOperandStackForFinally, newInstance, opcode, opcode, paramString, promote, push, receiveChildren, setNextSibling, setType, substitute, toConstImpl, toString, unboxingConversion, unlinkTree, valueChanged, write, writeChildren, 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, setObjectMarkpublic Conditional()
public Conditional(Type type)
public boolean allowsIteration(int index)
allowsIteration in class Expressionpublic Expression compile(de.grogra.xl.compiler.scope.Scope scope, Expression c, Expression e1, Expression e2)
protected boolean evaluateBooleanImpl(VMXState t)
evaluateBooleanImpl in class Expressionprotected byte evaluateByteImpl(VMXState t)
evaluateByteImpl in class Expressionprotected char evaluateCharImpl(VMXState t)
evaluateCharImpl in class Expressionprotected double evaluateDoubleImpl(VMXState t)
evaluateDoubleImpl in class Expressionprotected float evaluateFloatImpl(VMXState t)
evaluateFloatImpl in class Expressionprotected int evaluateIntImpl(VMXState t)
evaluateIntImpl in class Expressionprotected long evaluateLongImpl(VMXState t)
evaluateLongImpl in class Expressionprotected java.lang.Object evaluateObjectImpl(VMXState t)
evaluateObjectImpl in class Expressionprotected short evaluateShortImpl(VMXState t)
evaluateShortImpl in class Expressionpublic boolean isConditional()
isConditional in class Expressionpublic void link(boolean checkTypes)
link in class Expressionpublic int writeConditional(de.grogra.xl.compiler.BytecodeWriter writer,
org.objectweb.asm.Label falseLabel,
org.objectweb.asm.Label trueLabel)
writeConditional in class Expressionprotected void writeImpl(de.grogra.xl.compiler.BytecodeWriter writer,
boolean discard)
writeImpl in class Expression