public class org.springframework.expression.spel.ast.OpLT extends org.springframework.expression.spel.ast.Operator
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.springframework.expression.spel.ast.OpLT
super_class: org.springframework.expression.spel.ast.Operator
{
public void <init>(int, org.springframework.expression.spel.ast.SpelNodeImpl[]);
descriptor: (I[Lorg/springframework/expression/spel/ast/SpelNodeImpl;)V
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
ldc "<"
iload 1
aload 2
invokespecial org.springframework.expression.spel.ast.Operator.<init>:(Ljava/lang/String;I[Lorg/springframework/expression/spel/ast/SpelNodeImpl;)V
1: aload 0
ldc "Z"
putfield org.springframework.expression.spel.ast.OpLT.exitTypeDescriptor:Ljava/lang/String;
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/expression/spel/ast/OpLT;
0 3 1 pos I
0 3 2 operands [Lorg/springframework/expression/spel/ast/SpelNodeImpl;
MethodParameters:
Name Flags
pos
operands
public org.springframework.expression.spel.support.BooleanTypedValue getValueInternal(org.springframework.expression.spel.ExpressionState);
descriptor: (Lorg/springframework/expression/spel/ExpressionState;)Lorg/springframework/expression/spel/support/BooleanTypedValue;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=8, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.springframework.expression.spel.ast.OpLT.getLeftOperand:()Lorg/springframework/expression/spel/ast/SpelNodeImpl;
aload 1
invokevirtual org.springframework.expression.spel.ast.SpelNodeImpl.getValueInternal:(Lorg/springframework/expression/spel/ExpressionState;)Lorg/springframework/expression/TypedValue;
invokevirtual org.springframework.expression.TypedValue.getValue:()Ljava/lang/Object;
astore 2
start local 2 1: aload 0
invokevirtual org.springframework.expression.spel.ast.OpLT.getRightOperand:()Lorg/springframework/expression/spel/ast/SpelNodeImpl;
aload 1
invokevirtual org.springframework.expression.spel.ast.SpelNodeImpl.getValueInternal:(Lorg/springframework/expression/spel/ExpressionState;)Lorg/springframework/expression/TypedValue;
invokevirtual org.springframework.expression.TypedValue.getValue:()Ljava/lang/Object;
astore 3
start local 3 2: aload 0
aload 2
invokestatic org.springframework.expression.spel.CodeFlow.toDescriptorFromObject:(Ljava/lang/Object;)Ljava/lang/String;
putfield org.springframework.expression.spel.ast.OpLT.leftActualDescriptor:Ljava/lang/String;
3: aload 0
aload 3
invokestatic org.springframework.expression.spel.CodeFlow.toDescriptorFromObject:(Ljava/lang/Object;)Ljava/lang/String;
putfield org.springframework.expression.spel.ast.OpLT.rightActualDescriptor:Ljava/lang/String;
4: aload 2
instanceof java.lang.Number
ifeq 46
aload 3
instanceof java.lang.Number
ifeq 46
5: aload 2
checkcast java.lang.Number
astore 4
start local 4 6: aload 3
checkcast java.lang.Number
astore 5
start local 5 7: aload 4
instanceof java.math.BigDecimal
ifne 8
aload 5
instanceof java.math.BigDecimal
ifeq 13
8: StackMap locals: org.springframework.expression.spel.ast.OpLT org.springframework.expression.spel.ExpressionState java.lang.Object java.lang.Object java.lang.Number java.lang.Number
StackMap stack:
aload 4
ldc Ljava/math/BigDecimal;
invokestatic org.springframework.util.NumberUtils.convertNumberToTargetClass:(Ljava/lang/Number;Ljava/lang/Class;)Ljava/lang/Number;
checkcast java.math.BigDecimal
astore 6
start local 6 9: aload 5
ldc Ljava/math/BigDecimal;
invokestatic org.springframework.util.NumberUtils.convertNumberToTargetClass:(Ljava/lang/Number;Ljava/lang/Class;)Ljava/lang/Number;
checkcast java.math.BigDecimal
astore 7
start local 7 10: aload 6
aload 7
invokevirtual java.math.BigDecimal.compareTo:(Ljava/math/BigDecimal;)I
ifge 11
iconst_1
goto 12
StackMap locals: java.math.BigDecimal java.math.BigDecimal
StackMap stack:
11: iconst_0
StackMap locals:
StackMap stack: int
12: invokestatic org.springframework.expression.spel.support.BooleanTypedValue.forValue:(Z)Lorg/springframework/expression/spel/support/BooleanTypedValue;
areturn
end local 7 end local 6 13: StackMap locals:
StackMap stack:
aload 4
instanceof java.lang.Double
ifne 14
aload 5
instanceof java.lang.Double
ifeq 17
14: StackMap locals:
StackMap stack:
aload 4
invokevirtual java.lang.Number.doubleValue:()D
aload 5
invokevirtual java.lang.Number.doubleValue:()D
dcmpg
ifge 15
iconst_1
goto 16
StackMap locals:
StackMap stack:
15: iconst_0
StackMap locals:
StackMap stack: int
16: invokestatic org.springframework.expression.spel.support.BooleanTypedValue.forValue:(Z)Lorg/springframework/expression/spel/support/BooleanTypedValue;
areturn
17: StackMap locals:
StackMap stack:
aload 4
instanceof java.lang.Float
ifne 18
aload 5
instanceof java.lang.Float
ifeq 21
18: StackMap locals:
StackMap stack:
aload 4
invokevirtual java.lang.Number.floatValue:()F
aload 5
invokevirtual java.lang.Number.floatValue:()F
fcmpg
ifge 19
iconst_1
goto 20
StackMap locals:
StackMap stack:
19: iconst_0
StackMap locals:
StackMap stack: int
20: invokestatic org.springframework.expression.spel.support.BooleanTypedValue.forValue:(Z)Lorg/springframework/expression/spel/support/BooleanTypedValue;
areturn
21: StackMap locals:
StackMap stack:
aload 4
instanceof java.math.BigInteger
ifne 22
aload 5
instanceof java.math.BigInteger
ifeq 27
22: StackMap locals:
StackMap stack:
aload 4
ldc Ljava/math/BigInteger;
invokestatic org.springframework.util.NumberUtils.convertNumberToTargetClass:(Ljava/lang/Number;Ljava/lang/Class;)Ljava/lang/Number;
checkcast java.math.BigInteger
astore 6
start local 6 23: aload 5
ldc Ljava/math/BigInteger;
invokestatic org.springframework.util.NumberUtils.convertNumberToTargetClass:(Ljava/lang/Number;Ljava/lang/Class;)Ljava/lang/Number;
checkcast java.math.BigInteger
astore 7
start local 7 24: aload 6
aload 7
invokevirtual java.math.BigInteger.compareTo:(Ljava/math/BigInteger;)I
ifge 25
iconst_1
goto 26
StackMap locals: java.math.BigInteger java.math.BigInteger
StackMap stack:
25: iconst_0
StackMap locals:
StackMap stack: int
26: invokestatic org.springframework.expression.spel.support.BooleanTypedValue.forValue:(Z)Lorg/springframework/expression/spel/support/BooleanTypedValue;
areturn
end local 7 end local 6 27: StackMap locals:
StackMap stack:
aload 4
instanceof java.lang.Long
ifne 28
aload 5
instanceof java.lang.Long
ifeq 31
28: StackMap locals:
StackMap stack:
aload 4
invokevirtual java.lang.Number.longValue:()J
aload 5
invokevirtual java.lang.Number.longValue:()J
lcmp
ifge 29
iconst_1
goto 30
StackMap locals:
StackMap stack:
29: iconst_0
StackMap locals:
StackMap stack: int
30: invokestatic org.springframework.expression.spel.support.BooleanTypedValue.forValue:(Z)Lorg/springframework/expression/spel/support/BooleanTypedValue;
areturn
31: StackMap locals:
StackMap stack:
aload 4
instanceof java.lang.Integer
ifne 32
aload 5
instanceof java.lang.Integer
ifeq 35
32: StackMap locals:
StackMap stack:
aload 4
invokevirtual java.lang.Number.intValue:()I
aload 5
invokevirtual java.lang.Number.intValue:()I
if_icmpge 33
iconst_1
goto 34
StackMap locals:
StackMap stack:
33: iconst_0
StackMap locals:
StackMap stack: int
34: invokestatic org.springframework.expression.spel.support.BooleanTypedValue.forValue:(Z)Lorg/springframework/expression/spel/support/BooleanTypedValue;
areturn
35: StackMap locals:
StackMap stack:
aload 4
instanceof java.lang.Short
ifne 36
aload 5
instanceof java.lang.Short
ifeq 39
36: StackMap locals:
StackMap stack:
aload 4
invokevirtual java.lang.Number.shortValue:()S
aload 5
invokevirtual java.lang.Number.shortValue:()S
if_icmpge 37
iconst_1
goto 38
StackMap locals:
StackMap stack:
37: iconst_0
StackMap locals:
StackMap stack: int
38: invokestatic org.springframework.expression.spel.support.BooleanTypedValue.forValue:(Z)Lorg/springframework/expression/spel/support/BooleanTypedValue;
areturn
39: StackMap locals:
StackMap stack:
aload 4
instanceof java.lang.Byte
ifne 40
aload 5
instanceof java.lang.Byte
ifeq 43
40: StackMap locals:
StackMap stack:
aload 4
invokevirtual java.lang.Number.byteValue:()B
aload 5
invokevirtual java.lang.Number.byteValue:()B
if_icmpge 41
iconst_1
goto 42
StackMap locals:
StackMap stack:
41: iconst_0
StackMap locals:
StackMap stack: int
42: invokestatic org.springframework.expression.spel.support.BooleanTypedValue.forValue:(Z)Lorg/springframework/expression/spel/support/BooleanTypedValue;
areturn
43: StackMap locals:
StackMap stack:
aload 4
invokevirtual java.lang.Number.doubleValue:()D
aload 5
invokevirtual java.lang.Number.doubleValue:()D
dcmpg
ifge 44
iconst_1
goto 45
StackMap locals:
StackMap stack:
44: iconst_0
StackMap locals:
StackMap stack: int
45: invokestatic org.springframework.expression.spel.support.BooleanTypedValue.forValue:(Z)Lorg/springframework/expression/spel/support/BooleanTypedValue;
areturn
end local 5 end local 4 46: StackMap locals:
StackMap stack:
aload 2
instanceof java.lang.CharSequence
ifeq 49
aload 3
instanceof java.lang.CharSequence
ifeq 49
47: aload 2
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
astore 2
48: aload 3
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
astore 3
49: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.springframework.expression.spel.ExpressionState.getTypeComparator:()Lorg/springframework/expression/TypeComparator;
aload 2
aload 3
invokeinterface org.springframework.expression.TypeComparator.compare:(Ljava/lang/Object;Ljava/lang/Object;)I
ifge 50
iconst_1
goto 51
StackMap locals:
StackMap stack:
50: iconst_0
StackMap locals:
StackMap stack: int
51: invokestatic org.springframework.expression.spel.support.BooleanTypedValue.forValue:(Z)Lorg/springframework/expression/spel/support/BooleanTypedValue;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 52 0 this Lorg/springframework/expression/spel/ast/OpLT;
0 52 1 state Lorg/springframework/expression/spel/ExpressionState;
1 52 2 left Ljava/lang/Object;
2 52 3 right Ljava/lang/Object;
6 46 4 leftNumber Ljava/lang/Number;
7 46 5 rightNumber Ljava/lang/Number;
9 13 6 leftBigDecimal Ljava/math/BigDecimal;
10 13 7 rightBigDecimal Ljava/math/BigDecimal;
23 27 6 leftBigInteger Ljava/math/BigInteger;
24 27 7 rightBigInteger Ljava/math/BigInteger;
Exceptions:
throws org.springframework.expression.EvaluationException
MethodParameters:
Name Flags
state
public boolean isCompilable();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.springframework.expression.spel.ast.OpLT.isCompilableOperatorUsingNumerics:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/expression/spel/ast/OpLT;
public void generateCode(org.springframework.asm.MethodVisitor, org.springframework.expression.spel.CodeFlow);
descriptor: (Lorg/springframework/asm/MethodVisitor;Lorg/springframework/expression/spel/CodeFlow;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
sipush 156
sipush 162
invokevirtual org.springframework.expression.spel.ast.OpLT.generateComparisonCode:(Lorg/springframework/asm/MethodVisitor;Lorg/springframework/expression/spel/CodeFlow;II)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/springframework/expression/spel/ast/OpLT;
0 2 1 mv Lorg/springframework/asm/MethodVisitor;
0 2 2 cf Lorg/springframework/expression/spel/CodeFlow;
MethodParameters:
Name Flags
mv
cf
public org.springframework.expression.TypedValue getValueInternal(org.springframework.expression.spel.ExpressionState);
descriptor: (Lorg/springframework/expression/spel/ExpressionState;)Lorg/springframework/expression/TypedValue;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual org.springframework.expression.spel.ast.OpLT.getValueInternal:(Lorg/springframework/expression/spel/ExpressionState;)Lorg/springframework/expression/spel/support/BooleanTypedValue;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws org.springframework.expression.EvaluationException
}
SourceFile: "OpLT.java"