class freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression extends freemarker.core._ObjectBuilderSettingEvaluator$ExpressionWithParameters
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression
super_class: freemarker.core._ObjectBuilderSettingEvaluator$ExpressionWithParameters
{
private java.lang.String className;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private boolean canBeStaticField;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean mustBeStaticField;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
final freemarker.core._ObjectBuilderSettingEvaluator this$0;
descriptor: Lfreemarker/core/_ObjectBuilderSettingEvaluator;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private void <init>(freemarker.core._ObjectBuilderSettingEvaluator);
descriptor: (Lfreemarker/core/_ObjectBuilderSettingEvaluator;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 0: aload 0
aload 1
putfield freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression.this$0:Lfreemarker/core/_ObjectBuilderSettingEvaluator;
aload 0
aload 1
invokespecial freemarker.core._ObjectBuilderSettingEvaluator$ExpressionWithParameters.<init>:(Lfreemarker/core/_ObjectBuilderSettingEvaluator;)V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/core/_ObjectBuilderSettingEvaluator$BuilderCallExpression;
MethodParameters:
Name Flags
this$0 final
java.lang.Object eval();
descriptor: ()Ljava/lang/Object;
flags: (0x0000)
Code:
stack=5, locals=5, args_size=1
start local 0 0: aload 0
getfield freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression.mustBeStaticField:Z
ifeq 4
1: aload 0
getfield freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression.canBeStaticField:Z
ifne 3
2: new freemarker.core.BugException
dup
invokespecial freemarker.core.BugException.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression.className:Ljava/lang/String;
invokevirtual freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression.getStaticFieldValue:(Ljava/lang/String;)Ljava/lang/Object;
areturn
4: StackMap locals:
StackMap stack:
aload 0
getfield freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression.this$0:Lfreemarker/core/_ObjectBuilderSettingEvaluator;
getfield freemarker.core._ObjectBuilderSettingEvaluator.modernMode:Z
ifne 20
5: aload 0
getfield freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression.className:Ljava/lang/String;
invokestatic freemarker.template.utility.ClassUtil.forName:(Ljava/lang/String;)Ljava/lang/Class;
invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
6: areturn
7: StackMap locals:
StackMap stack: java.lang.InstantiationException
astore 2
start local 2 8: new freemarker.core._ObjectBuilderSettingEvaluator$LegacyExceptionWrapperSettingEvaluationExpression
dup
aload 2
invokespecial freemarker.core._ObjectBuilderSettingEvaluator$LegacyExceptionWrapperSettingEvaluationExpression.<init>:(Ljava/lang/Throwable;)V
athrow
end local 2 9: StackMap locals:
StackMap stack: java.lang.IllegalAccessException
astore 2
start local 2 10: new freemarker.core._ObjectBuilderSettingEvaluator$LegacyExceptionWrapperSettingEvaluationExpression
dup
aload 2
invokespecial freemarker.core._ObjectBuilderSettingEvaluator$LegacyExceptionWrapperSettingEvaluationExpression.<init>:(Ljava/lang/Throwable;)V
athrow
end local 2 11: StackMap locals:
StackMap stack: java.lang.ClassNotFoundException
astore 2
start local 2 12: new freemarker.core._ObjectBuilderSettingEvaluator$LegacyExceptionWrapperSettingEvaluationExpression
dup
aload 2
invokespecial freemarker.core._ObjectBuilderSettingEvaluator$LegacyExceptionWrapperSettingEvaluationExpression.<init>:(Ljava/lang/Throwable;)V
athrow
end local 2 13: StackMap locals:
StackMap stack: freemarker.core._ObjectBuilderSettingEvaluator$LegacyExceptionWrapperSettingEvaluationExpression
astore 2
start local 2 14: aload 0
getfield freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression.canBeStaticField:Z
ifeq 15
aload 0
getfield freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression.className:Ljava/lang/String;
bipush 46
invokevirtual java.lang.String.indexOf:(I)I
iconst_m1
if_icmpne 16
15: StackMap locals: freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression top freemarker.core._ObjectBuilderSettingEvaluator$LegacyExceptionWrapperSettingEvaluationExpression
StackMap stack:
aload 2
athrow
16: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression.className:Ljava/lang/String;
invokevirtual freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression.getStaticFieldValue:(Ljava/lang/String;)Ljava/lang/Object;
17: areturn
18: StackMap locals:
StackMap stack: freemarker.core._ObjectBuilderSettingEvaluationException
pop
19: aload 2
athrow
end local 2 20: StackMap locals: freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression
StackMap stack:
new java.lang.StringBuilder
dup
aload 0
getfield freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression.className:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "Builder"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic freemarker.template.utility.ClassUtil.forName:(Ljava/lang/String;)Ljava/lang/Class;
astore 1
start local 1 21: iconst_1
istore 2
start local 2 22: goto 44
end local 2 end local 1 StackMap locals:
StackMap stack: java.lang.ClassNotFoundException
23: pop
24: iconst_0
istore 2
start local 2 25: aload 0
getfield freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression.className:Ljava/lang/String;
invokestatic freemarker.template.utility.ClassUtil.forName:(Ljava/lang/String;)Ljava/lang/Class;
astore 1
start local 1 26: goto 44
end local 1 StackMap locals: freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression top int
StackMap stack: java.lang.Exception
27: astore 3
start local 3 28: aload 0
getfield freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression.canBeStaticField:Z
ifeq 34
29: aload 0
aload 0
getfield freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression.className:Ljava/lang/String;
invokevirtual freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression.getStaticFieldValue:(Ljava/lang/String;)Ljava/lang/Object;
30: areturn
31: StackMap locals: freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression top int java.lang.Exception
StackMap stack: freemarker.core._ObjectBuilderSettingEvaluationException
pop
32: iconst_1
istore 4
start local 4 33: goto 35
end local 4 34: StackMap locals:
StackMap stack:
iconst_0
istore 4
start local 4 35: StackMap locals: int
StackMap stack:
new freemarker.core._ObjectBuilderSettingEvaluationException
dup
36: new java.lang.StringBuilder
dup
ldc "Failed to get class "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression.className:Ljava/lang/String;
invokestatic freemarker.template.utility.StringUtil.jQuote:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
37: iload 4
ifeq 38
ldc " (also failed to resolve name as static field)"
goto 39
StackMap locals: freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression top int java.lang.Exception int
StackMap stack: new 35 new 35 java.lang.StringBuilder
38: ldc ""
StackMap locals: freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression top int java.lang.Exception int
StackMap stack: new 35 new 35 java.lang.StringBuilder java.lang.String
39: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
40: ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
41: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
42: aload 3
43: invokespecial freemarker.core._ObjectBuilderSettingEvaluationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 4 end local 3 start local 1 44: StackMap locals: freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression java.lang.Class int
StackMap stack:
iload 2
ifne 59
aload 0
invokevirtual freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression.hasNoParameters:()Z
ifeq 59
45: aload 1
ldc "INSTANCE"
invokevirtual java.lang.Class.getField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
astore 3
start local 3 46: aload 3
invokevirtual java.lang.reflect.Field.getModifiers:()I
bipush 9
iand
47: bipush 9
48: if_icmpne 59
49: aload 3
aconst_null
invokevirtual java.lang.reflect.Field.get:(Ljava/lang/Object;)Ljava/lang/Object;
50: areturn
end local 3 51: StackMap locals:
StackMap stack: java.lang.NoSuchFieldException
pop
goto 59
52: StackMap locals:
StackMap stack: java.lang.Exception
astore 3
start local 3 53: new freemarker.core._ObjectBuilderSettingEvaluationException
dup
54: new java.lang.StringBuilder
dup
ldc "Error when trying to access "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression.className:Ljava/lang/String;
invokestatic freemarker.template.utility.StringUtil.jQuote:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
55: ldc "INSTANCE"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
56: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
57: aload 3
58: invokespecial freemarker.core._ObjectBuilderSettingEvaluationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 3 59: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression.callConstructor:(Ljava/lang/Class;)Ljava/lang/Object;
astore 3
start local 3 60: aload 0
getfield freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression.this$0:Lfreemarker/core/_ObjectBuilderSettingEvaluator;
aload 3
aload 0
getfield freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression.namedParamNames:Ljava/util/List;
aload 0
getfield freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression.namedParamValues:Ljava/util/List;
invokevirtual freemarker.core._ObjectBuilderSettingEvaluator.setJavaBeanProperties:(Ljava/lang/Object;Ljava/util/List;Ljava/util/List;)V
61: iload 2
ifeq 64
62: aload 0
aload 3
invokevirtual freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression.callBuild:(Ljava/lang/Object;)Ljava/lang/Object;
astore 4
start local 4 63: goto 67
end local 4 64: StackMap locals: java.lang.Object
StackMap stack:
aload 3
instanceof freemarker.template.utility.WriteProtectable
ifeq 66
65: aload 3
checkcast freemarker.template.utility.WriteProtectable
invokeinterface freemarker.template.utility.WriteProtectable.writeProtect:()V
66: StackMap locals:
StackMap stack:
aload 3
astore 4
start local 4 67: StackMap locals: java.lang.Object
StackMap stack:
aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 68 0 this Lfreemarker/core/_ObjectBuilderSettingEvaluator$BuilderCallExpression;
21 23 1 cl Ljava/lang/Class;
26 27 1 cl Ljava/lang/Class;
44 68 1 cl Ljava/lang/Class;
8 9 2 e Ljava/lang/InstantiationException;
10 11 2 e Ljava/lang/IllegalAccessException;
12 13 2 e Ljava/lang/ClassNotFoundException;
14 20 2 e Lfreemarker/core/_ObjectBuilderSettingEvaluator$LegacyExceptionWrapperSettingEvaluationExpression;
22 23 2 clIsBuilderClass Z
25 68 2 clIsBuilderClass Z
28 44 3 e2 Ljava/lang/Exception;
33 34 4 failedToGetAsStaticField Z
35 44 4 failedToGetAsStaticField Z
46 51 3 f Ljava/lang/reflect/Field;
53 59 3 e Ljava/lang/Exception;
60 68 3 constructorResult Ljava/lang/Object;
63 64 4 result Ljava/lang/Object;
67 68 4 result Ljava/lang/Object;
Exception table:
from to target type
5 6 7 Class java.lang.InstantiationException
5 6 9 Class java.lang.IllegalAccessException
5 6 11 Class java.lang.ClassNotFoundException
5 6 13 Class freemarker.core._ObjectBuilderSettingEvaluator$LegacyExceptionWrapperSettingEvaluationExpression
7 13 13 Class freemarker.core._ObjectBuilderSettingEvaluator$LegacyExceptionWrapperSettingEvaluationExpression
16 17 18 Class freemarker.core._ObjectBuilderSettingEvaluationException
20 22 23 Class java.lang.ClassNotFoundException
25 26 27 Class java.lang.Exception
29 30 31 Class freemarker.core._ObjectBuilderSettingEvaluationException
45 50 51 Class java.lang.NoSuchFieldException
45 50 52 Class java.lang.Exception
Exceptions:
throws freemarker.core._ObjectBuilderSettingEvaluationException
private java.lang.Object getStaticFieldValue(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=8, args_size=2
start local 0 start local 1 0: aload 1
bipush 46
invokevirtual java.lang.String.lastIndexOf:(I)I
istore 2
start local 2 1: iload 2
iconst_m1
if_icmpne 3
2: new java.lang.IllegalArgumentException
dup
invokespecial java.lang.IllegalArgumentException.<init>:()V
athrow
3: StackMap locals: int
StackMap stack:
aload 1
iconst_0
iload 2
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokestatic freemarker.core._ObjectBuilderSettingEvaluator.shorthandToFullQualified:(Ljava/lang/String;)Ljava/lang/String;
astore 3
start local 3 4: aload 1
iload 2
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 4
start local 4 5: aload 3
invokestatic freemarker.template.utility.ClassUtil.forName:(Ljava/lang/String;)Ljava/lang/Class;
astore 5
start local 5 6: goto 12
end local 5 StackMap locals: freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression java.lang.String int java.lang.String java.lang.String
StackMap stack: java.lang.Exception
7: astore 6
start local 6 8: new freemarker.core._ObjectBuilderSettingEvaluationException
dup
9: new java.lang.StringBuilder
dup
ldc "Failed to get field's parent class, "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokestatic freemarker.template.utility.StringUtil.jQuote:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
10: aload 6
11: invokespecial freemarker.core._ObjectBuilderSettingEvaluationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 6 start local 5 12: StackMap locals: java.lang.Class
StackMap stack:
aload 5
aload 4
invokevirtual java.lang.Class.getField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
astore 6
start local 6 13: goto 21
end local 6 StackMap locals:
StackMap stack: java.lang.Exception
14: astore 7
start local 7 15: new freemarker.core._ObjectBuilderSettingEvaluationException
dup
16: new java.lang.StringBuilder
dup
ldc "Failed to get field "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokestatic freemarker.template.utility.StringUtil.jQuote:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " from class "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
17: aload 3
invokestatic freemarker.template.utility.StringUtil.jQuote:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
18: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
19: aload 7
20: invokespecial freemarker.core._ObjectBuilderSettingEvaluationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 7 start local 6 21: StackMap locals: java.lang.reflect.Field
StackMap stack:
aload 6
invokevirtual java.lang.reflect.Field.getModifiers:()I
bipush 8
iand
ifne 23
22: new freemarker.core._ObjectBuilderSettingEvaluationException
dup
new java.lang.StringBuilder
dup
ldc "Referred field isn't static: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial freemarker.core._ObjectBuilderSettingEvaluationException.<init>:(Ljava/lang/String;)V
athrow
23: StackMap locals:
StackMap stack:
aload 6
invokevirtual java.lang.reflect.Field.getModifiers:()I
iconst_1
iand
ifne 25
24: new freemarker.core._ObjectBuilderSettingEvaluationException
dup
new java.lang.StringBuilder
dup
ldc "Referred field isn't public: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial freemarker.core._ObjectBuilderSettingEvaluationException.<init>:(Ljava/lang/String;)V
athrow
25: StackMap locals:
StackMap stack:
aload 6
invokevirtual java.lang.reflect.Field.getName:()Ljava/lang/String;
ldc "INSTANCE"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 31
26: new freemarker.core._ObjectBuilderSettingEvaluationException
dup
27: new java.lang.StringBuilder
dup
ldc "The INSTANCE field is only accessible through pseudo-constructor call: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
28: aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "()"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
29: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
30: invokespecial freemarker.core._ObjectBuilderSettingEvaluationException.<init>:(Ljava/lang/String;)V
athrow
31: StackMap locals:
StackMap stack:
aload 6
aconst_null
invokevirtual java.lang.reflect.Field.get:(Ljava/lang/Object;)Ljava/lang/Object;
32: areturn
33: StackMap locals:
StackMap stack: java.lang.Exception
astore 7
start local 7 34: new freemarker.core._ObjectBuilderSettingEvaluationException
dup
new java.lang.StringBuilder
dup
ldc "Failed to get field value: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 7
invokespecial freemarker.core._ObjectBuilderSettingEvaluationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
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 35 0 this Lfreemarker/core/_ObjectBuilderSettingEvaluator$BuilderCallExpression;
0 35 1 dottedName Ljava/lang/String;
1 35 2 lastDotIdx I
4 35 3 className Ljava/lang/String;
5 35 4 fieldName Ljava/lang/String;
6 7 5 cl Ljava/lang/Class<*>;
12 35 5 cl Ljava/lang/Class<*>;
8 12 6 e Ljava/lang/Exception;
13 14 6 field Ljava/lang/reflect/Field;
21 35 6 field Ljava/lang/reflect/Field;
15 21 7 e Ljava/lang/Exception;
34 35 7 e Ljava/lang/Exception;
Exception table:
from to target type
5 6 7 Class java.lang.Exception
12 13 14 Class java.lang.Exception
31 32 33 Class java.lang.Exception
Exceptions:
throws freemarker.core._ObjectBuilderSettingEvaluationException
MethodParameters:
Name Flags
dottedName
private java.lang.Object callConstructor(java.lang.Class);
descriptor: (Ljava/lang/Class;)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression.hasNoParameters:()Z
ifeq 7
1: aload 1
invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
2: areturn
3: StackMap locals:
StackMap stack: java.lang.Exception
astore 2
start local 2 4: new freemarker.core._ObjectBuilderSettingEvaluationException
dup
5: new java.lang.StringBuilder
dup
ldc "Failed to call "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " 0-argument constructor"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 2
6: invokespecial freemarker.core._ObjectBuilderSettingEvaluationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 2 7: StackMap locals:
StackMap stack:
aload 0
getfield freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression.this$0:Lfreemarker/core/_ObjectBuilderSettingEvaluator;
getfield freemarker.core._ObjectBuilderSettingEvaluator.env:Lfreemarker/core/_SettingEvaluationEnvironment;
invokevirtual freemarker.core._SettingEvaluationEnvironment.getObjectWrapper:()Lfreemarker/ext/beans/BeansWrapper;
astore 2
start local 2 8: new java.util.ArrayList
dup
aload 0
getfield freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression.positionalParamValues:Ljava/util/List;
invokeinterface java.util.List.size:()I
invokespecial java.util.ArrayList.<init>:(I)V
astore 3
start local 3 9: iconst_0
istore 4
start local 4 10: goto 16
11: StackMap locals: freemarker.ext.beans.BeansWrapper java.util.List int
StackMap stack:
aload 3
aload 2
aload 0
getfield freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression.positionalParamValues:Ljava/util/List;
iload 4
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
invokevirtual freemarker.ext.beans.BeansWrapper.wrap:(Ljava/lang/Object;)Lfreemarker/template/TemplateModel;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
12: goto 15
StackMap locals:
StackMap stack: freemarker.template.TemplateModelException
13: astore 5
start local 5 14: new freemarker.core._ObjectBuilderSettingEvaluationException
dup
new java.lang.StringBuilder
dup
ldc "Failed to wrap arg #"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 4
iconst_1
iadd
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 5
invokespecial freemarker.core._ObjectBuilderSettingEvaluationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 5 15: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
16: iload 4
aload 0
getfield freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression.positionalParamValues:Ljava/util/List;
invokeinterface java.util.List.size:()I
if_icmplt 11
end local 4 17: aload 2
aload 1
aload 3
invokevirtual freemarker.ext.beans.BeansWrapper.newInstance:(Ljava/lang/Class;Ljava/util/List;)Ljava/lang/Object;
18: areturn
19: StackMap locals: freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression java.lang.Class freemarker.ext.beans.BeansWrapper java.util.List
StackMap stack: java.lang.Exception
astore 4
start local 4 20: new freemarker.core._ObjectBuilderSettingEvaluationException
dup
21: new java.lang.StringBuilder
dup
ldc "Failed to call "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " constructor"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 4
22: invokespecial freemarker.core._ObjectBuilderSettingEvaluationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lfreemarker/core/_ObjectBuilderSettingEvaluator$BuilderCallExpression;
0 23 1 cl Ljava/lang/Class;
4 7 2 e Ljava/lang/Exception;
8 23 2 ow Lfreemarker/ext/beans/BeansWrapper;
9 23 3 tmArgs Ljava/util/List;
10 17 4 i I
14 15 5 e Lfreemarker/template/TemplateModelException;
20 23 4 e Ljava/lang/Exception;
Exception table:
from to target type
1 2 3 Class java.lang.Exception
11 12 13 Class freemarker.template.TemplateModelException
17 18 19 Class java.lang.Exception
Exceptions:
throws freemarker.core._ObjectBuilderSettingEvaluationException
MethodParameters:
Name Flags
cl
private java.lang.Object callBuild(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
astore 2
start local 2 1: aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
ldc "build"
aconst_null
invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
astore 3
start local 3 2: goto 11
end local 3 StackMap locals: freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression java.lang.Object java.lang.Class
StackMap stack: java.lang.NoSuchMethodException
3: astore 4
start local 4 4: new freemarker.core._ObjectBuilderSettingEvaluationException
dup
new java.lang.StringBuilder
dup
ldc "The "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
5: ldc " builder class must have a public "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "build"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "() method"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 4
6: invokespecial freemarker.core._ObjectBuilderSettingEvaluationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 4 7: StackMap locals:
StackMap stack: java.lang.Exception
astore 4
start local 4 8: new freemarker.core._ObjectBuilderSettingEvaluationException
dup
new java.lang.StringBuilder
dup
ldc "Failed to get the build() method of the "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
9: aload 2
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " builder class"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 4
10: invokespecial freemarker.core._ObjectBuilderSettingEvaluationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 4 start local 3 11: StackMap locals: java.lang.reflect.Method
StackMap stack:
aload 3
aload 1
aconst_null
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
12: areturn
13: StackMap locals:
StackMap stack: java.lang.Exception
astore 4
start local 4 14: aload 4
instanceof java.lang.reflect.InvocationTargetException
ifeq 17
15: aload 4
checkcast java.lang.reflect.InvocationTargetException
invokevirtual java.lang.reflect.InvocationTargetException.getTargetException:()Ljava/lang/Throwable;
astore 5
start local 5 16: goto 18
end local 5 17: StackMap locals: java.lang.Exception
StackMap stack:
aload 4
astore 5
start local 5 18: StackMap locals: java.lang.Throwable
StackMap stack:
new freemarker.core._ObjectBuilderSettingEvaluationException
dup
new java.lang.StringBuilder
dup
ldc "Failed to call build() method on "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
19: aload 2
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " instance"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 5
20: invokespecial freemarker.core._ObjectBuilderSettingEvaluationException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
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 21 0 this Lfreemarker/core/_ObjectBuilderSettingEvaluator$BuilderCallExpression;
0 21 1 constructorResult Ljava/lang/Object;
1 21 2 cl Ljava/lang/Class;
2 3 3 buildMethod Ljava/lang/reflect/Method;
11 21 3 buildMethod Ljava/lang/reflect/Method;
4 7 4 e Ljava/lang/NoSuchMethodException;
8 11 4 e Ljava/lang/Exception;
14 21 4 e Ljava/lang/Exception;
16 17 5 cause Ljava/lang/Throwable;
18 21 5 cause Ljava/lang/Throwable;
Exception table:
from to target type
1 2 3 Class java.lang.NoSuchMethodException
1 2 7 Class java.lang.Exception
11 12 13 Class java.lang.Exception
Exceptions:
throws freemarker.core._ObjectBuilderSettingEvaluationException
MethodParameters:
Name Flags
constructorResult
private boolean hasNoParameters();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression.positionalParamValues:Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
ifeq 1
aload 0
getfield freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression.namedParamValues:Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lfreemarker/core/_ObjectBuilderSettingEvaluator$BuilderCallExpression;
protected boolean getAllowPositionalParameters();
descriptor: ()Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/core/_ObjectBuilderSettingEvaluator$BuilderCallExpression;
}
SourceFile: "_ObjectBuilderSettingEvaluator.java"
NestHost: freemarker.core._ObjectBuilderSettingEvaluator
InnerClasses:
private BuilderCallExpression = freemarker.core._ObjectBuilderSettingEvaluator$BuilderCallExpression of freemarker.core._ObjectBuilderSettingEvaluator
private abstract ExpressionWithParameters = freemarker.core._ObjectBuilderSettingEvaluator$ExpressionWithParameters of freemarker.core._ObjectBuilderSettingEvaluator
private LegacyExceptionWrapperSettingEvaluationExpression = freemarker.core._ObjectBuilderSettingEvaluator$LegacyExceptionWrapperSettingEvaluationExpression of freemarker.core._ObjectBuilderSettingEvaluator