public class org.springframework.expression.spel.ast.OpInc 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.OpInc
super_class: org.springframework.expression.spel.ast.Operator
{
private final boolean postfix;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(int, boolean, org.springframework.expression.spel.ast.SpelNodeImpl[]);
descriptor: (IZ[Lorg/springframework/expression/spel/ast/SpelNodeImpl;)V
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
ldc "++"
iload 1
aload 3
invokespecial org.springframework.expression.spel.ast.Operator.<init>:(Ljava/lang/String;I[Lorg/springframework/expression/spel/ast/SpelNodeImpl;)V
1: aload 0
iload 2
putfield org.springframework.expression.spel.ast.OpInc.postfix:Z
2: aload 3
ldc "Operands must not be empty"
invokestatic org.springframework.util.Assert.notEmpty:([Ljava/lang/Object;Ljava/lang/String;)V
3: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/springframework/expression/spel/ast/OpInc;
0 4 1 pos I
0 4 2 postfix Z
0 4 3 operands [Lorg/springframework/expression/spel/ast/SpelNodeImpl;
MethodParameters:
Name Flags
pos
postfix
operands
public org.springframework.expression.TypedValue getValueInternal(org.springframework.expression.spel.ExpressionState);
descriptor: (Lorg/springframework/expression/spel/ExpressionState;)Lorg/springframework/expression/TypedValue;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=9, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.springframework.expression.spel.ast.OpInc.getLeftOperand:()Lorg/springframework/expression/spel/ast/SpelNodeImpl;
astore 2
start local 2 1: aload 2
aload 1
invokevirtual org.springframework.expression.spel.ast.SpelNodeImpl.getValueRef:(Lorg/springframework/expression/spel/ExpressionState;)Lorg/springframework/expression/spel/ast/ValueRef;
astore 3
start local 3 2: aload 3
invokeinterface org.springframework.expression.spel.ast.ValueRef.getValue:()Lorg/springframework/expression/TypedValue;
astore 4
start local 4 3: aload 4
invokevirtual org.springframework.expression.TypedValue.getValue:()Ljava/lang/Object;
astore 5
start local 5 4: aload 4
astore 6
start local 6 5: aconst_null
astore 7
start local 7 6: aload 5
instanceof java.lang.Number
ifeq 33
7: aload 5
checkcast java.lang.Number
astore 8
start local 8 8: aload 8
instanceof java.math.BigDecimal
ifeq 11
9: new org.springframework.expression.TypedValue
dup
aload 8
checkcast java.math.BigDecimal
getstatic java.math.BigDecimal.ONE:Ljava/math/BigDecimal;
invokevirtual java.math.BigDecimal.add:(Ljava/math/BigDecimal;)Ljava/math/BigDecimal;
aload 4
invokevirtual org.springframework.expression.TypedValue.getTypeDescriptor:()Lorg/springframework/core/convert/TypeDescriptor;
invokespecial org.springframework.expression.TypedValue.<init>:(Ljava/lang/Object;Lorg/springframework/core/convert/TypeDescriptor;)V
astore 7
10: goto 33
11: StackMap locals: org.springframework.expression.spel.ast.OpInc org.springframework.expression.spel.ExpressionState org.springframework.expression.spel.ast.SpelNodeImpl org.springframework.expression.spel.ast.ValueRef org.springframework.expression.TypedValue java.lang.Object org.springframework.expression.TypedValue org.springframework.expression.TypedValue java.lang.Number
StackMap stack:
aload 8
instanceof java.lang.Double
ifeq 14
12: new org.springframework.expression.TypedValue
dup
aload 8
invokevirtual java.lang.Number.doubleValue:()D
dconst_1
dadd
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aload 4
invokevirtual org.springframework.expression.TypedValue.getTypeDescriptor:()Lorg/springframework/core/convert/TypeDescriptor;
invokespecial org.springframework.expression.TypedValue.<init>:(Ljava/lang/Object;Lorg/springframework/core/convert/TypeDescriptor;)V
astore 7
13: goto 33
14: StackMap locals:
StackMap stack:
aload 8
instanceof java.lang.Float
ifeq 17
15: new org.springframework.expression.TypedValue
dup
aload 8
invokevirtual java.lang.Number.floatValue:()F
fconst_1
fadd
invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
aload 4
invokevirtual org.springframework.expression.TypedValue.getTypeDescriptor:()Lorg/springframework/core/convert/TypeDescriptor;
invokespecial org.springframework.expression.TypedValue.<init>:(Ljava/lang/Object;Lorg/springframework/core/convert/TypeDescriptor;)V
astore 7
16: goto 33
17: StackMap locals:
StackMap stack:
aload 8
instanceof java.math.BigInteger
ifeq 20
18: new org.springframework.expression.TypedValue
dup
aload 8
checkcast java.math.BigInteger
getstatic java.math.BigInteger.ONE:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.add:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
aload 4
invokevirtual org.springframework.expression.TypedValue.getTypeDescriptor:()Lorg/springframework/core/convert/TypeDescriptor;
invokespecial org.springframework.expression.TypedValue.<init>:(Ljava/lang/Object;Lorg/springframework/core/convert/TypeDescriptor;)V
astore 7
19: goto 33
20: StackMap locals:
StackMap stack:
aload 8
instanceof java.lang.Long
ifeq 23
21: new org.springframework.expression.TypedValue
dup
aload 8
invokevirtual java.lang.Number.longValue:()J
lconst_1
ladd
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aload 4
invokevirtual org.springframework.expression.TypedValue.getTypeDescriptor:()Lorg/springframework/core/convert/TypeDescriptor;
invokespecial org.springframework.expression.TypedValue.<init>:(Ljava/lang/Object;Lorg/springframework/core/convert/TypeDescriptor;)V
astore 7
22: goto 33
23: StackMap locals:
StackMap stack:
aload 8
instanceof java.lang.Integer
ifeq 26
24: new org.springframework.expression.TypedValue
dup
aload 8
invokevirtual java.lang.Number.intValue:()I
iconst_1
iadd
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 4
invokevirtual org.springframework.expression.TypedValue.getTypeDescriptor:()Lorg/springframework/core/convert/TypeDescriptor;
invokespecial org.springframework.expression.TypedValue.<init>:(Ljava/lang/Object;Lorg/springframework/core/convert/TypeDescriptor;)V
astore 7
25: goto 33
26: StackMap locals:
StackMap stack:
aload 8
instanceof java.lang.Short
ifeq 29
27: new org.springframework.expression.TypedValue
dup
aload 8
invokevirtual java.lang.Number.shortValue:()S
iconst_1
iadd
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 4
invokevirtual org.springframework.expression.TypedValue.getTypeDescriptor:()Lorg/springframework/core/convert/TypeDescriptor;
invokespecial org.springframework.expression.TypedValue.<init>:(Ljava/lang/Object;Lorg/springframework/core/convert/TypeDescriptor;)V
astore 7
28: goto 33
29: StackMap locals:
StackMap stack:
aload 8
instanceof java.lang.Byte
ifeq 32
30: new org.springframework.expression.TypedValue
dup
aload 8
invokevirtual java.lang.Number.byteValue:()B
iconst_1
iadd
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 4
invokevirtual org.springframework.expression.TypedValue.getTypeDescriptor:()Lorg/springframework/core/convert/TypeDescriptor;
invokespecial org.springframework.expression.TypedValue.<init>:(Ljava/lang/Object;Lorg/springframework/core/convert/TypeDescriptor;)V
astore 7
31: goto 33
32: StackMap locals:
StackMap stack:
new org.springframework.expression.TypedValue
dup
aload 8
invokevirtual java.lang.Number.doubleValue:()D
dconst_1
dadd
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aload 4
invokevirtual org.springframework.expression.TypedValue.getTypeDescriptor:()Lorg/springframework/core/convert/TypeDescriptor;
invokespecial org.springframework.expression.TypedValue.<init>:(Ljava/lang/Object;Lorg/springframework/core/convert/TypeDescriptor;)V
astore 7
end local 8 33: StackMap locals:
StackMap stack:
aload 7
ifnonnull 42
34: aload 1
getstatic org.springframework.expression.Operation.ADD:Lorg/springframework/expression/Operation;
aload 6
invokevirtual org.springframework.expression.TypedValue.getValue:()Ljava/lang/Object;
iconst_1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual org.springframework.expression.spel.ExpressionState.operate:(Lorg/springframework/expression/Operation;Ljava/lang/Object;Ljava/lang/Object;)Lorg/springframework/expression/TypedValue;
astore 7
35: goto 42
36: StackMap locals:
StackMap stack: org.springframework.expression.spel.SpelEvaluationException
astore 8
start local 8 37: aload 8
invokevirtual org.springframework.expression.spel.SpelEvaluationException.getMessageCode:()Lorg/springframework/expression/spel/SpelMessage;
getstatic org.springframework.expression.spel.SpelMessage.OPERATOR_NOT_SUPPORTED_BETWEEN_TYPES:Lorg/springframework/expression/spel/SpelMessage;
if_acmpne 41
38: new org.springframework.expression.spel.SpelEvaluationException
dup
aload 2
invokevirtual org.springframework.expression.spel.ast.SpelNodeImpl.getStartPosition:()I
39: getstatic org.springframework.expression.spel.SpelMessage.OPERAND_NOT_INCREMENTABLE:Lorg/springframework/expression/spel/SpelMessage;
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2
invokevirtual org.springframework.expression.spel.ast.SpelNodeImpl.toStringAST:()Ljava/lang/String;
40: aastore
invokespecial org.springframework.expression.spel.SpelEvaluationException.<init>:(ILorg/springframework/expression/spel/SpelMessage;[Ljava/lang/Object;)V
athrow
41: StackMap locals: org.springframework.expression.spel.SpelEvaluationException
StackMap stack:
aload 8
athrow
end local 8 42: StackMap locals:
StackMap stack:
aload 3
aload 7
invokevirtual org.springframework.expression.TypedValue.getValue:()Ljava/lang/Object;
invokeinterface org.springframework.expression.spel.ast.ValueRef.setValue:(Ljava/lang/Object;)V
43: goto 48
44: StackMap locals:
StackMap stack: org.springframework.expression.spel.SpelEvaluationException
astore 8
start local 8 45: aload 8
invokevirtual org.springframework.expression.spel.SpelEvaluationException.getMessageCode:()Lorg/springframework/expression/spel/SpelMessage;
getstatic org.springframework.expression.spel.SpelMessage.SETVALUE_NOT_SUPPORTED:Lorg/springframework/expression/spel/SpelMessage;
if_acmpne 47
46: new org.springframework.expression.spel.SpelEvaluationException
dup
aload 2
invokevirtual org.springframework.expression.spel.ast.SpelNodeImpl.getStartPosition:()I
getstatic org.springframework.expression.spel.SpelMessage.OPERAND_NOT_INCREMENTABLE:Lorg/springframework/expression/spel/SpelMessage;
iconst_0
anewarray java.lang.Object
invokespecial org.springframework.expression.spel.SpelEvaluationException.<init>:(ILorg/springframework/expression/spel/SpelMessage;[Ljava/lang/Object;)V
athrow
47: StackMap locals: org.springframework.expression.spel.SpelEvaluationException
StackMap stack:
aload 8
athrow
end local 8 48: StackMap locals:
StackMap stack:
aload 0
getfield org.springframework.expression.spel.ast.OpInc.postfix:Z
ifne 50
49: aload 7
astore 6
50: StackMap locals:
StackMap stack:
aload 6
areturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 51 0 this Lorg/springframework/expression/spel/ast/OpInc;
0 51 1 state Lorg/springframework/expression/spel/ExpressionState;
1 51 2 operand Lorg/springframework/expression/spel/ast/SpelNodeImpl;
2 51 3 valueRef Lorg/springframework/expression/spel/ast/ValueRef;
3 51 4 typedValue Lorg/springframework/expression/TypedValue;
4 51 5 value Ljava/lang/Object;
5 51 6 returnValue Lorg/springframework/expression/TypedValue;
6 51 7 newValue Lorg/springframework/expression/TypedValue;
8 33 8 op1 Ljava/lang/Number;
37 42 8 ex Lorg/springframework/expression/spel/SpelEvaluationException;
45 48 8 see Lorg/springframework/expression/spel/SpelEvaluationException;
Exception table:
from to target type
34 35 36 Class org.springframework.expression.spel.SpelEvaluationException
42 43 44 Class org.springframework.expression.spel.SpelEvaluationException
Exceptions:
throws org.springframework.expression.EvaluationException
MethodParameters:
Name Flags
state
public java.lang.String toStringAST();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
aload 0
invokevirtual org.springframework.expression.spel.ast.OpInc.getLeftOperand:()Lorg/springframework/expression/spel/ast/SpelNodeImpl;
invokevirtual org.springframework.expression.spel.ast.SpelNodeImpl.toStringAST:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "++"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/expression/spel/ast/OpInc;
public org.springframework.expression.spel.ast.SpelNodeImpl getRightOperand();
descriptor: ()Lorg/springframework/expression/spel/ast/SpelNodeImpl;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.IllegalStateException
dup
ldc "No right operand"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/expression/spel/ast/OpInc;
}
SourceFile: "OpInc.java"