public class Indexer extends SpelNodeImpl
children, exitTypeDescriptor, posAALOAD, AASTORE, ACC_ABSTRACT, ACC_ANNOTATION, ACC_BRIDGE, ACC_DEPRECATED, ACC_ENUM, ACC_FINAL, ACC_INTERFACE, ACC_MANDATED, ACC_NATIVE, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_STATIC, ACC_STRICT, ACC_SUPER, ACC_SYNCHRONIZED, ACC_SYNTHETIC, ACC_TRANSIENT, ACC_VARARGS, ACC_VOLATILE, ACONST_NULL, ALOAD, ANEWARRAY, ARETURN, ARRAYLENGTH, ASM4, ASM5, ASTORE, ATHROW, BALOAD, BASTORE, BIPUSH, CALOAD, CASTORE, CHECKCAST, D2F, D2I, D2L, DADD, DALOAD, DASTORE, DCMPG, DCMPL, DCONST_0, DCONST_1, DDIV, DLOAD, DMUL, DNEG, DOUBLE, DREM, DRETURN, DSTORE, DSUB, DUP, DUP_X1, DUP_X2, DUP2, DUP2_X1, DUP2_X2, F_APPEND, F_CHOP, F_FULL, F_NEW, F_SAME, F_SAME1, F2D, F2I, F2L, FADD, FALOAD, FASTORE, FCMPG, FCMPL, FCONST_0, FCONST_1, FCONST_2, FDIV, FLOAD, FLOAT, FMUL, FNEG, FREM, FRETURN, FSTORE, FSUB, GETFIELD, GETSTATIC, GOTO, H_GETFIELD, H_GETSTATIC, H_INVOKEINTERFACE, H_INVOKESPECIAL, H_INVOKESTATIC, H_INVOKEVIRTUAL, H_NEWINVOKESPECIAL, H_PUTFIELD, H_PUTSTATIC, I2B, I2C, I2D, I2F, I2L, I2S, IADD, IALOAD, IAND, IASTORE, ICONST_0, ICONST_1, ICONST_2, ICONST_3, ICONST_4, ICONST_5, ICONST_M1, IDIV, IF_ACMPEQ, IF_ACMPNE, IF_ICMPEQ, IF_ICMPGE, IF_ICMPGT, IF_ICMPLE, IF_ICMPLT, IF_ICMPNE, IFEQ, IFGE, IFGT, IFLE, IFLT, IFNE, IFNONNULL, IFNULL, IINC, ILOAD, IMUL, INEG, INSTANCEOF, INTEGER, INVOKEDYNAMIC, INVOKEINTERFACE, INVOKESPECIAL, INVOKESTATIC, INVOKEVIRTUAL, IOR, IREM, IRETURN, ISHL, ISHR, ISTORE, ISUB, IUSHR, IXOR, JSR, L2D, L2F, L2I, LADD, LALOAD, LAND, LASTORE, LCMP, LCONST_0, LCONST_1, LDC, LDIV, LLOAD, LMUL, LNEG, LONG, LOOKUPSWITCH, LOR, LREM, LRETURN, LSHL, LSHR, LSTORE, LSUB, LUSHR, LXOR, MONITORENTER, MONITOREXIT, MULTIANEWARRAY, NEW, NEWARRAY, NOP, NULL, POP, POP2, PUTFIELD, PUTSTATIC, RET, RETURN, SALOAD, SASTORE, SIPUSH, SWAP, T_BOOLEAN, T_BYTE, T_CHAR, T_DOUBLE, T_FLOAT, T_INT, T_LONG, T_SHORT, TABLESWITCH, TOP, UNINITIALIZED_THIS, V1_1, V1_2, V1_3, V1_4, V1_5, V1_6, V1_7, V1_8| Constructor and Description |
|---|
Indexer(int pos,
SpelNodeImpl expr) |
| Modifier and Type | Method and Description |
|---|---|
void |
generateCode(MethodVisitor mv,
CodeFlow codeflow)
Generate the bytecode for this node into the supplied visitor.
|
TypedValue |
getValueInternal(ExpressionState state) |
protected ValueRef |
getValueRef(ExpressionState state) |
boolean |
isCompilable()
Check whether a node can be compiled to bytecode.
|
boolean |
isWritable(ExpressionState expressionState)
Determine if this expression node will support a setValue() call.
|
void |
setValue(ExpressionState state,
Object newValue)
Evaluate the expression to a node and then set the new value on that node.
|
String |
toStringAST() |
getChild, getChildCount, getEndPosition, getExitDescriptor, getObjectClass, getPreviousChild, getStartPosition, getTypedValue, getValue, getValue, nextChildIspublic Indexer(int pos,
SpelNodeImpl expr)
public TypedValue getValueInternal(ExpressionState state) throws EvaluationException
getValueInternal in class SpelNodeImplEvaluationExceptionpublic void setValue(ExpressionState state, Object newValue) throws EvaluationException
SpelNodesetValue in interface SpelNodesetValue in class SpelNodeImplstate - the current expression state (includes the context)newValue - the new valueEvaluationException - if any problem occurs evaluating the expression or
setting the new valuepublic boolean isWritable(ExpressionState expressionState) throws SpelEvaluationException
SpelNodeisWritable in interface SpelNodeisWritable in class SpelNodeImplexpressionState - the current expression state (includes the context)SpelEvaluationExceptionprotected ValueRef getValueRef(ExpressionState state) throws EvaluationException
getValueRef in class SpelNodeImplEvaluationExceptionpublic boolean isCompilable()
SpelNodeImplisCompilable in class SpelNodeImplpublic void generateCode(MethodVisitor mv, CodeFlow codeflow)
SpelNodeImplgenerateCode in class SpelNodeImplmv - the ASM MethodVisitor into which code should be generatedcodeflow - a context object with info about what is on the stackpublic String toStringAST()