class freemarker.core.BuiltInsForNumbers$absBI extends freemarker.core.BuiltInForNumber
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: freemarker.core.BuiltInsForNumbers$absBI
super_class: freemarker.core.BuiltInForNumber
{
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial freemarker.core.BuiltInForNumber.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/core/BuiltInsForNumbers$absBI;
freemarker.template.TemplateModel calculateResult(java.lang.Number, freemarker.template.TemplateModel);
descriptor: (Ljava/lang/Number;Lfreemarker/template/TemplateModel;)Lfreemarker/template/TemplateModel;
flags: (0x0000)
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
instanceof java.lang.Integer
ifeq 5
1: aload 1
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
istore 3
start local 3 2: iload 3
ifge 4
3: new freemarker.template.SimpleNumber
dup
iload 3
ineg
invokespecial freemarker.template.SimpleNumber.<init>:(I)V
areturn
4: StackMap locals: int
StackMap stack:
aload 2
areturn
end local 3 5: StackMap locals:
StackMap stack:
aload 1
instanceof java.math.BigDecimal
ifeq 10
6: aload 1
checkcast java.math.BigDecimal
astore 3
start local 3 7: aload 3
invokevirtual java.math.BigDecimal.signum:()I
ifge 9
8: new freemarker.template.SimpleNumber
dup
aload 3
invokevirtual java.math.BigDecimal.negate:()Ljava/math/BigDecimal;
invokespecial freemarker.template.SimpleNumber.<init>:(Ljava/lang/Number;)V
areturn
9: StackMap locals: java.math.BigDecimal
StackMap stack:
aload 2
areturn
end local 3 10: StackMap locals:
StackMap stack:
aload 1
instanceof java.lang.Double
ifeq 15
11: aload 1
checkcast java.lang.Double
invokevirtual java.lang.Double.doubleValue:()D
dstore 3
start local 3 12: dload 3
dconst_0
dcmpg
ifge 14
13: new freemarker.template.SimpleNumber
dup
dload 3
dneg
invokespecial freemarker.template.SimpleNumber.<init>:(D)V
areturn
14: StackMap locals: double
StackMap stack:
aload 2
areturn
end local 3 15: StackMap locals:
StackMap stack:
aload 1
instanceof java.lang.Float
ifeq 20
16: aload 1
checkcast java.lang.Float
invokevirtual java.lang.Float.floatValue:()F
fstore 3
start local 3 17: fload 3
fconst_0
fcmpg
ifge 19
18: new freemarker.template.SimpleNumber
dup
fload 3
fneg
invokespecial freemarker.template.SimpleNumber.<init>:(F)V
areturn
19: StackMap locals: float
StackMap stack:
aload 2
areturn
end local 3 20: StackMap locals:
StackMap stack:
aload 1
instanceof java.lang.Long
ifeq 25
21: aload 1
checkcast java.lang.Long
invokevirtual java.lang.Long.longValue:()J
lstore 3
start local 3 22: lload 3
lconst_0
lcmp
ifge 24
23: new freemarker.template.SimpleNumber
dup
lload 3
lneg
invokespecial freemarker.template.SimpleNumber.<init>:(J)V
areturn
24: StackMap locals: long
StackMap stack:
aload 2
areturn
end local 3 25: StackMap locals:
StackMap stack:
aload 1
instanceof java.lang.Short
ifeq 30
26: aload 1
checkcast java.lang.Short
invokevirtual java.lang.Short.shortValue:()S
istore 3
start local 3 27: iload 3
ifge 29
28: new freemarker.template.SimpleNumber
dup
iload 3
ineg
invokespecial freemarker.template.SimpleNumber.<init>:(I)V
areturn
29: StackMap locals: int
StackMap stack:
aload 2
areturn
end local 3 30: StackMap locals:
StackMap stack:
aload 1
instanceof java.lang.Byte
ifeq 35
31: aload 1
checkcast java.lang.Byte
invokevirtual java.lang.Byte.byteValue:()B
istore 3
start local 3 32: iload 3
ifge 34
33: new freemarker.template.SimpleNumber
dup
iload 3
ineg
invokespecial freemarker.template.SimpleNumber.<init>:(I)V
areturn
34: StackMap locals: int
StackMap stack:
aload 2
areturn
end local 3 35: StackMap locals:
StackMap stack:
aload 1
instanceof java.math.BigInteger
ifeq 40
36: aload 1
checkcast java.math.BigInteger
astore 3
start local 3 37: aload 3
invokevirtual java.math.BigInteger.signum:()I
ifge 39
38: new freemarker.template.SimpleNumber
dup
aload 3
invokevirtual java.math.BigInteger.negate:()Ljava/math/BigInteger;
invokespecial freemarker.template.SimpleNumber.<init>:(Ljava/lang/Number;)V
areturn
39: StackMap locals: java.math.BigInteger
StackMap stack:
aload 2
areturn
end local 3 40: StackMap locals:
StackMap stack:
new freemarker.core._TemplateModelException
dup
iconst_2
anewarray java.lang.Object
dup
iconst_0
ldc "Unsupported number class: "
aastore
dup
iconst_1
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aastore
invokespecial freemarker.core._TemplateModelException.<init>:([Ljava/lang/Object;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 41 0 this Lfreemarker/core/BuiltInsForNumbers$absBI;
0 41 1 num Ljava/lang/Number;
0 41 2 model Lfreemarker/template/TemplateModel;
2 5 3 n I
7 10 3 n Ljava/math/BigDecimal;
12 15 3 n D
17 20 3 n F
22 25 3 n J
27 30 3 n S
32 35 3 n B
37 40 3 n Ljava/math/BigInteger;
Exceptions:
throws freemarker.template.TemplateModelException
MethodParameters:
Name Flags
num
model
}
SourceFile: "BuiltInsForNumbers.java"
NestHost: freemarker.core.BuiltInsForNumbers
InnerClasses:
absBI = freemarker.core.BuiltInsForNumbers$absBI of freemarker.core.BuiltInsForNumbers