クラス Operator
java.lang.ObjectSE
org.springframework.expression.spel.ast.SpelNodeImpl
org.springframework.expression.spel.ast.Operator
- 既知の直属サブクラス
OpAnd
、OpDec
、OpDivide
、OpEQ
、OperatorBetween
、OperatorInstanceof
、OperatorMatches
、OperatorPower
、OpGE
、OpGT
、OpInc
、OpLE
、OpLT
、OpMinus
、OpModulus
、OpMultiply
、OpNE
、OpOr
、OpPlus
1 つまたは 2 つのオペランドを操作する演算子の共通スーパー型。乗算または除算の場合、2 つのオペランドがありますが、単項プラスまたはマイナスの場合、オペランドは 1 つだけです。
- 導入:
- 3.0
- 作成者:
- Andy Clement, Juergen Hoeller, Giovanni Dall'Oglio Risso, Sam Brannen
ネストされたクラスのサマリー
ネストされたクラス修飾子と型クラス説明protected static final class
記述子比較は、2 つのオペランドの記述子を比較した結果をカプセル化し、互換性のあるレベルを示します。フィールドサマリー
フィールドクラス org.springframework.expression.spel.ast.SpelNodeImpl から継承されたフィールド
children, exitTypeDescriptor
インターフェース org.springframework.asm.Opcodes から継承されたフィールド
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_RECORD, 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, ASM10_EXPERIMENTAL, ASM4, ASM5, ASM6, ASM7, ASM8, ASM9, 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, SOURCE_DEPRECATED, SOURCE_MASK, 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, V13, V14, V15, V16, V17, V18, V19, V20, V21, V9
コンストラクターのサマリー
コンストラクターメソッドのサマリー
修飾子と型メソッド説明static boolean
equalityCheck
(EvaluationContext context, ObjectSE left, ObjectSE right) 指定されたオペランド値の等価性チェックを実行します。protected void
generateComparisonCode
(MethodVisitor mv, CodeFlow cf, int compInstruction1, int compInstruction2) 数値比較演算子は非常によく似た生成コードを共有し、2 つの比較命令のみが異なります。final StringSE
protected boolean
すべての演算子の文字列形式は同じ'(' [operand] [operator] [operand] ')'
です。クラス org.springframework.expression.spel.ast.SpelNodeImpl から継承されたメソッド
generateCode, generateCodeForArgument, generateCodeForArguments, getChild, getChildCount, getEndPosition, getExitDescriptor, getObjectClass, getStartPosition, getTypedValue, getValue, getValue, getValueInternal, getValueRef, isCompilable, isWritable, nextChildIs, setValue
フィールドの詳細
leftActualDescriptor
rightActualDescriptor
コンストラクターの詳細
Operator
メソッドの詳細
getLeftOperand
getRightOperand
getOperatorName
toStringAST
すべての演算子の文字列形式は同じ'(' [operand] [operator] [operand] ')'
です。- 戻り値:
- 文字列形式
isCompilableOperatorUsingNumerics
protected boolean isCompilableOperatorUsingNumerics()generateComparisonCode
protected void generateComparisonCode(MethodVisitor mv, CodeFlow cf, int compInstruction1, int compInstruction2) 数値比較演算子は非常によく似た生成コードを共有し、2 つの比較命令のみが異なります。equalityCheck
public static boolean equalityCheck(EvaluationContext context, @Nullable ObjectSE left, @Nullable ObjectSE right) 指定されたオペランド値の等価性チェックを実行します。このメソッドは、サブクラスでのリフレクト比較に使用されるだけでなく、コンパイルされた式コードからも使用されるため、ここで
public static
として宣言する必要があります。- パラメーター:
context
- 現在の評価コンテキストleft
- 左側のオペランド値right
- 右側のオペランド値