public abstract class SpelNodeImpl extends java.lang.Object implements SpelNode, Opcodes
| 修飾子と型 | フィールドと説明 |
|---|---|
protected SpelNodeImpl[] | children |
protected java.lang.String | exitTypeDescriptor この式ノードの結果の型記述子を示します。 |
protected int | pos |
AALOAD, AASTORE, ACC_ABSTRACT, ACC_ANNOTATION, ACC_BRIDGE, ACC_DEPRECATED, ACC_ENUM, ACC_FINAL, ACC_INTERFACE, ACC_MANDATED, ACC_MODULE, ACC_NATIVE, ACC_OPEN, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_STATIC, ACC_STATIC_PHASE, ACC_STRICT, ACC_SUPER, ACC_SYNCHRONIZED, ACC_SYNTHETIC, ACC_TRANSIENT, ACC_TRANSITIVE, ACC_VARARGS, ACC_VOLATILE, ACONST_NULL, ALOAD, ANEWARRAY, ARETURN, ARRAYLENGTH, ASM4, ASM5, ASM6, ASM7, 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, V_PREVIEW, V1_1, V1_2, V1_3, V1_4, V1_5, V1_6, V1_7, V1_8, V10, V11, V12, V9| コンストラクターと説明 |
|---|
SpelNodeImpl(int pos, SpelNodeImpl... operands) |
| 修飾子と型 | メソッドと説明 |
|---|---|
void | generateCode(MethodVisitor mv, CodeFlow cf) このノードのバイトコードを提供されたビジターに生成します。 |
protected static void | generateCodeForArgument(MethodVisitor mv, CodeFlow cf, SpelNodeImpl argument, java.lang.String paramDesc) 引数を求めてバイトコードを生成し、その後、ボクシング / アンボクシング / チェックキャストを実行して、期待されるパラメーター記述子と一致することを確認します。 |
protected static void | generateCodeForArguments(MethodVisitor mv, CodeFlow cf, java.lang.reflect.Member member, SpelNodeImpl[] arguments) 指定されたメソッドの引数値の構築を処理するコードを生成します。 |
SpelNode | getChild(int index)Antlr Tree ノードではなく SpelNode を返すヘルパーメソッド。 |
int | getChildCount() このノードの子の数を返します。 |
int | getEndPosition() 式文字列内のこの AST ノードの終了位置を返します。 |
java.lang.String | getExitDescriptor() |
java.lang.Class<?> | getObjectClass(java.lang.Object obj) 渡されたオブジェクトがすでにクラスオブジェクトでない限り、渡されたオブジェクトのクラスを判別します。 |
int | getStartPosition() この AST ノードの開始位置を式文字列で返します。 |
TypedValue | getTypedValue(ExpressionState expressionState) 指定された式の状態のコンテキストで式ノードを評価し、型付きの値を返します。 |
java.lang.Object | getValue(ExpressionState expressionState) 指定された式の状態のコンテキストで式ノードを評価し、値を返します。 |
protected <T> T | getValue(ExpressionState state, java.lang.Class<T> desiredReturnType) |
abstract TypedValue | getValueInternal(ExpressionState expressionState) |
protected ValueRef | getValueRef(ExpressionState state) |
boolean | isCompilable() ノードをバイトコードにコンパイルできるかどうかを確認します。 |
boolean | isWritable(ExpressionState expressionState) この式ノードが setValue() 呼び出しをサポートするかどうかを決定します。 |
protected boolean | nextChildIs(java.lang.Class<?>... clazzes) 次の子が指定されたクラスの 1 つである場合、 true を返します。 |
void | setValue(ExpressionState expressionState, java.lang.Object newValue) 式をノードに評価してから、そのノードに新しい値を設定します。 |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waittoStringASTprotected int pos
protected SpelNodeImpl[] children
@Nullable protected volatile java.lang.String exitTypeDescriptor
記述子はバイトコード形式に似ていますが、操作が少し簡単です。末尾のセミコロンは含まれません(配列参照型以外の場合)。いくつかの例: Ljava/lang/String、I、[I
public SpelNodeImpl(int pos,
SpelNodeImpl... operands)protected boolean nextChildIs(java.lang.Class<?>... clazzes)
true を返します。@Nullable public final java.lang.Object getValue(ExpressionState expressionState) throws EvaluationException
SpelNodeSpelNode 内の getValue expressionState - 現在の式の状態 (コンテキストを含みます)EvaluationExceptionpublic final TypedValue getTypedValue(ExpressionState expressionState) throws EvaluationException
SpelNodeSpelNode 内の getTypedValue expressionState - 現在の式の状態 (コンテキストを含みます)EvaluationExceptionpublic boolean isWritable(ExpressionState expressionState) throws EvaluationException
SpelNodeSpelNode 内の isWritable expressionState - 現在の式の状態 (コンテキストを含みます)EvaluationException - ノードが書き込みをサポートしているかどうかを判断しようとして問題が発生した場合 public void setValue(ExpressionState expressionState, @Nullable java.lang.Object newValue) throws EvaluationException
SpelNodeSpelNode 内の setValue expressionState - 現在の式の状態 (コンテキストを含みます)newValue - 新しい価値 EvaluationException - 式の評価または新しい値の設定で問題が発生した場合 public SpelNode getChild(int index)
SpelNodepublic int getChildCount()
SpelNodeSpelNode 内の getChildCount @Nullable public java.lang.Class<?> getObjectClass(@Nullable java.lang.Object obj)
SpelNodeSpelNode 内の getObjectClass obj - 呼び出し元がクラスを必要とするオブジェクト null の場合は null @Nullable protected final <T> T getValue(ExpressionState state, java.lang.Class<T> desiredReturnType) throws EvaluationException
public int getStartPosition()
SpelNodeSpelNode 内の getStartPosition public int getEndPosition()
SpelNodeSpelNode 内の getEndPosition protected ValueRef getValueRef(ExpressionState state) throws EvaluationException
public boolean isCompilable()
true public void generateCode(MethodVisitor mv, CodeFlow cf)
mv - コードが生成される ASM MethodVisitorcf - スタックの内容に関する情報を持つコンテキストオブジェクト @Nullable public java.lang.String getExitDescriptor()
public abstract TypedValue getValueInternal(ExpressionState expressionState) throws EvaluationException
protected static void generateCodeForArguments(MethodVisitor mv, CodeFlow cf, java.lang.reflect.Member member, SpelNodeImpl[] arguments)
mv - コードを生成する必要があるメソッドビジター cf - 現在のコードフロー member - 引数が設定されているメソッドまたはコンストラクター arguments - 式で指定された引数値の式ノード protected static void generateCodeForArgument(MethodVisitor mv, CodeFlow cf, SpelNodeImpl argument, java.lang.String paramDesc)