public class freemarker.ext.beans.BeansWrapper implements freemarker.template.utility.RichObjectWrapper, freemarker.template.utility.WriteProtectable
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: freemarker.ext.beans.BeansWrapper
super_class: java.lang.Object
{
private static final freemarker.log.Logger LOG;
descriptor: Lfreemarker/log/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static final java.lang.Object CAN_NOT_UNWRAP;
descriptor: Ljava/lang/Object;
flags: (0x0018) ACC_STATIC, ACC_FINAL
RuntimeVisibleAnnotations:
java.lang.Deprecated()
public static final int EXPOSE_ALL;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 0
public static final int EXPOSE_SAFE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1
public static final int EXPOSE_PROPERTIES_ONLY;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2
public static final int EXPOSE_NOTHING;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 3
private final java.lang.Object sharedIntrospectionLock;
descriptor: Ljava/lang/Object;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private freemarker.ext.beans.ClassIntrospector classIntrospector;
descriptor: Lfreemarker/ext/beans/ClassIntrospector;
flags: (0x0002) ACC_PRIVATE
private final freemarker.ext.beans.StaticModels staticModels;
descriptor: Lfreemarker/ext/beans/StaticModels;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final freemarker.ext.beans.ClassBasedModelFactory enumModels;
descriptor: Lfreemarker/ext/beans/ClassBasedModelFactory;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final freemarker.ext.util.ModelCache modelCache;
descriptor: Lfreemarker/ext/util/ModelCache;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final freemarker.ext.beans.BooleanModel falseModel;
descriptor: Lfreemarker/ext/beans/BooleanModel;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final freemarker.ext.beans.BooleanModel trueModel;
descriptor: Lfreemarker/ext/beans/BooleanModel;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private volatile boolean writeProtected;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private freemarker.template.TemplateModel nullModel;
descriptor: Lfreemarker/template/TemplateModel;
flags: (0x0002) ACC_PRIVATE
private int defaultDateType;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private freemarker.template.ObjectWrapper outerIdentity;
descriptor: Lfreemarker/template/ObjectWrapper;
flags: (0x0002) ACC_PRIVATE
private boolean methodsShadowItems;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean simpleMapWrapper;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean strict;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean preferIndexedReadMethod;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private final freemarker.template.Version incompatibleImprovements;
descriptor: Lfreemarker/template/Version;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static volatile boolean ftmaDeprecationWarnLogged;
descriptor: Z
flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE
private final freemarker.ext.util.ModelFactory BOOLEAN_FACTORY;
descriptor: Lfreemarker/ext/util/ModelFactory;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static final freemarker.ext.util.ModelFactory ITERATOR_FACTORY;
descriptor: Lfreemarker/ext/util/ModelFactory;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final freemarker.ext.util.ModelFactory ENUMERATION_FACTORY;
descriptor: Lfreemarker/ext/util/ModelFactory;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc "freemarker.beans"
invokestatic freemarker.log.Logger.getLogger:(Ljava/lang/String;)Lfreemarker/log/Logger;
putstatic freemarker.ext.beans.BeansWrapper.LOG:Lfreemarker/log/Logger;
1: getstatic freemarker.template.ObjectWrapperAndUnwrapper.CANT_UNWRAP_TO_TARGET_CLASS:Ljava/lang/Object;
putstatic freemarker.ext.beans.BeansWrapper.CAN_NOT_UNWRAP:Ljava/lang/Object;
2: new freemarker.ext.beans.BeansWrapper$2
dup
invokespecial freemarker.ext.beans.BeansWrapper$2.<init>:()V
putstatic freemarker.ext.beans.BeansWrapper.ITERATOR_FACTORY:Lfreemarker/ext/util/ModelFactory;
3: new freemarker.ext.beans.BeansWrapper$3
dup
invokespecial freemarker.ext.beans.BeansWrapper$3.<init>:()V
putstatic freemarker.ext.beans.BeansWrapper.ENUMERATION_FACTORY:Lfreemarker/ext/util/ModelFactory;
4: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic freemarker.template.Configuration.DEFAULT_INCOMPATIBLE_IMPROVEMENTS:Lfreemarker/template/Version;
invokespecial freemarker.ext.beans.BeansWrapper.<init>:(Lfreemarker/template/Version;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lfreemarker/ext/beans/BeansWrapper;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
public void <init>(freemarker.template.Version);
descriptor: (Lfreemarker/template/Version;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
new freemarker.ext.beans.BeansWrapper$4
dup
aload 1
invokespecial freemarker.ext.beans.BeansWrapper$4.<init>:(Lfreemarker/template/Version;)V
iconst_0
invokespecial freemarker.ext.beans.BeansWrapper.<init>:(Lfreemarker/ext/beans/BeansWrapperConfiguration;Z)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lfreemarker/ext/beans/BeansWrapper;
0 2 1 incompatibleImprovements Lfreemarker/template/Version;
MethodParameters:
Name Flags
incompatibleImprovements
protected void <init>(freemarker.ext.beans.BeansWrapperConfiguration, boolean);
descriptor: (Lfreemarker/ext/beans/BeansWrapperConfiguration;Z)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iload 2
iconst_1
invokespecial freemarker.ext.beans.BeansWrapper.<init>:(Lfreemarker/ext/beans/BeansWrapperConfiguration;ZZ)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lfreemarker/ext/beans/BeansWrapper;
0 2 1 bwConf Lfreemarker/ext/beans/BeansWrapperConfiguration;
0 2 2 writeProtected Z
MethodParameters:
Name Flags
bwConf
writeProtected
protected void <init>(freemarker.ext.beans.BeansWrapperConfiguration, boolean, boolean);
descriptor: (Lfreemarker/ext/beans/BeansWrapperConfiguration;ZZ)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aconst_null
putfield freemarker.ext.beans.BeansWrapper.nullModel:Lfreemarker/template/TemplateModel;
2: aload 0
aload 0
putfield freemarker.ext.beans.BeansWrapper.outerIdentity:Lfreemarker/template/ObjectWrapper;
3: aload 0
iconst_1
putfield freemarker.ext.beans.BeansWrapper.methodsShadowItems:Z
4: aload 0
new freemarker.ext.beans.BeansWrapper$1
dup
aload 0
invokespecial freemarker.ext.beans.BeansWrapper$1.<init>:(Lfreemarker/ext/beans/BeansWrapper;)V
putfield freemarker.ext.beans.BeansWrapper.BOOLEAN_FACTORY:Lfreemarker/ext/util/ModelFactory;
5: aload 1
invokevirtual freemarker.ext.beans.BeansWrapperConfiguration.getMethodAppearanceFineTuner:()Lfreemarker/ext/beans/MethodAppearanceFineTuner;
ifnonnull 38
6: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
astore 4
start local 4 7: iconst_0
istore 5
start local 5 8: iconst_0
istore 6
start local 6 9: goto 17
10: StackMap locals: freemarker.ext.beans.BeansWrapper freemarker.ext.beans.BeansWrapperConfiguration int int java.lang.Class int int
StackMap stack:
aload 4
ldc "finetuneMethodAppearance"
11: iconst_3
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/Class;
aastore
dup
iconst_1
ldc Ljava/lang/reflect/Method;
aastore
dup
iconst_2
ldc Lfreemarker/ext/beans/BeansWrapper$MethodAppearanceDecision;
aastore
12: invokevirtual java.lang.Class.getDeclaredMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
pop
13: iconst_1
istore 5
14: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchMethodException
15: pop
16: aload 4
invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
astore 4
17: StackMap locals:
StackMap stack:
iload 5
ifne 30
18: aload 4
ldc Lfreemarker/template/DefaultObjectWrapper;
if_acmpeq 30
19: aload 4
ldc Lfreemarker/ext/beans/BeansWrapper;
if_acmpeq 30
20: aload 4
ldc Lfreemarker/template/SimpleObjectWrapper;
if_acmpne 10
21: goto 30
StackMap locals:
StackMap stack: java.lang.Throwable
22: astore 7
start local 7 23: getstatic freemarker.ext.beans.BeansWrapper.LOG:Lfreemarker/log/Logger;
new java.lang.StringBuilder
dup
ldc "Failed to check if finetuneMethodAppearance is overidden in "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
24: ldc "; acting like if it was, but this way it won't utilize the shared class introspection "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
25: ldc "cache."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
26: aload 7
27: invokevirtual freemarker.log.Logger.info:(Ljava/lang/String;Ljava/lang/Throwable;)V
28: iconst_1
istore 5
29: iconst_1
istore 6
end local 7 30: StackMap locals:
StackMap stack:
iload 5
ifeq 38
31: iload 6
ifne 36
getstatic freemarker.ext.beans.BeansWrapper.ftmaDeprecationWarnLogged:Z
ifne 36
32: getstatic freemarker.ext.beans.BeansWrapper.LOG:Lfreemarker/log/Logger;
new java.lang.StringBuilder
dup
ldc "Overriding "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc Lfreemarker/ext/beans/BeansWrapper;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ".finetuneMethodAppearance is deprecated "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
33: ldc "and will be banned sometimes in the future. Use setMethodAppearanceFineTuner instead."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
34: invokevirtual freemarker.log.Logger.warn:(Ljava/lang/String;)V
35: iconst_1
putstatic freemarker.ext.beans.BeansWrapper.ftmaDeprecationWarnLogged:Z
36: StackMap locals:
StackMap stack:
aload 1
iconst_0
invokevirtual freemarker.ext.beans.BeansWrapperConfiguration.clone:(Z)Ljava/lang/Object;
checkcast freemarker.ext.beans.BeansWrapperConfiguration
astore 1
37: aload 1
new freemarker.ext.beans.BeansWrapper$5
dup
aload 0
invokespecial freemarker.ext.beans.BeansWrapper$5.<init>:(Lfreemarker/ext/beans/BeansWrapper;)V
invokevirtual freemarker.ext.beans.BeansWrapperConfiguration.setMethodAppearanceFineTuner:(Lfreemarker/ext/beans/MethodAppearanceFineTuner;)V
end local 6 end local 5 end local 4 38: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual freemarker.ext.beans.BeansWrapperConfiguration.getIncompatibleImprovements:()Lfreemarker/template/Version;
putfield freemarker.ext.beans.BeansWrapper.incompatibleImprovements:Lfreemarker/template/Version;
39: aload 0
aload 1
invokevirtual freemarker.ext.beans.BeansWrapperConfiguration.isSimpleMapWrapper:()Z
putfield freemarker.ext.beans.BeansWrapper.simpleMapWrapper:Z
40: aload 0
aload 1
invokevirtual freemarker.ext.beans.BeansWrapperConfiguration.getPreferIndexedReadMethod:()Z
putfield freemarker.ext.beans.BeansWrapper.preferIndexedReadMethod:Z
41: aload 0
aload 1
invokevirtual freemarker.ext.beans.BeansWrapperConfiguration.getDefaultDateType:()I
putfield freemarker.ext.beans.BeansWrapper.defaultDateType:I
42: aload 0
aload 1
invokevirtual freemarker.ext.beans.BeansWrapperConfiguration.getOuterIdentity:()Lfreemarker/template/ObjectWrapper;
ifnull 43
aload 1
invokevirtual freemarker.ext.beans.BeansWrapperConfiguration.getOuterIdentity:()Lfreemarker/template/ObjectWrapper;
goto 44
StackMap locals:
StackMap stack: freemarker.ext.beans.BeansWrapper
43: aload 0
StackMap locals: freemarker.ext.beans.BeansWrapper freemarker.ext.beans.BeansWrapperConfiguration int int
StackMap stack: freemarker.ext.beans.BeansWrapper freemarker.template.ObjectWrapper
44: putfield freemarker.ext.beans.BeansWrapper.outerIdentity:Lfreemarker/template/ObjectWrapper;
45: aload 0
aload 1
invokevirtual freemarker.ext.beans.BeansWrapperConfiguration.isStrict:()Z
putfield freemarker.ext.beans.BeansWrapper.strict:Z
46: iload 2
ifne 52
47: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield freemarker.ext.beans.BeansWrapper.sharedIntrospectionLock:Ljava/lang/Object;
48: aload 0
new freemarker.ext.beans.ClassIntrospector
dup
49: aload 1
invokestatic freemarker.ext.beans._BeansAPI.getClassIntrospectorBuilder:(Lfreemarker/ext/beans/BeansWrapperConfiguration;)Lfreemarker/ext/beans/ClassIntrospectorBuilder;
aload 0
getfield freemarker.ext.beans.BeansWrapper.sharedIntrospectionLock:Ljava/lang/Object;
invokespecial freemarker.ext.beans.ClassIntrospector.<init>:(Lfreemarker/ext/beans/ClassIntrospectorBuilder;Ljava/lang/Object;)V
50: putfield freemarker.ext.beans.BeansWrapper.classIntrospector:Lfreemarker/ext/beans/ClassIntrospector;
51: goto 54
52: StackMap locals:
StackMap stack:
aload 0
aload 1
invokestatic freemarker.ext.beans._BeansAPI.getClassIntrospectorBuilder:(Lfreemarker/ext/beans/BeansWrapperConfiguration;)Lfreemarker/ext/beans/ClassIntrospectorBuilder;
invokevirtual freemarker.ext.beans.ClassIntrospectorBuilder.build:()Lfreemarker/ext/beans/ClassIntrospector;
putfield freemarker.ext.beans.BeansWrapper.classIntrospector:Lfreemarker/ext/beans/ClassIntrospector;
53: aload 0
aload 0
getfield freemarker.ext.beans.BeansWrapper.classIntrospector:Lfreemarker/ext/beans/ClassIntrospector;
invokevirtual freemarker.ext.beans.ClassIntrospector.getSharedLock:()Ljava/lang/Object;
putfield freemarker.ext.beans.BeansWrapper.sharedIntrospectionLock:Ljava/lang/Object;
54: StackMap locals:
StackMap stack:
aload 0
new freemarker.ext.beans.BooleanModel
dup
getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
aload 0
invokespecial freemarker.ext.beans.BooleanModel.<init>:(Ljava/lang/Boolean;Lfreemarker/ext/beans/BeansWrapper;)V
putfield freemarker.ext.beans.BeansWrapper.falseModel:Lfreemarker/ext/beans/BooleanModel;
55: aload 0
new freemarker.ext.beans.BooleanModel
dup
getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
aload 0
invokespecial freemarker.ext.beans.BooleanModel.<init>:(Ljava/lang/Boolean;Lfreemarker/ext/beans/BeansWrapper;)V
putfield freemarker.ext.beans.BeansWrapper.trueModel:Lfreemarker/ext/beans/BooleanModel;
56: aload 0
new freemarker.ext.beans.StaticModels
dup
aload 0
invokespecial freemarker.ext.beans.StaticModels.<init>:(Lfreemarker/ext/beans/BeansWrapper;)V
putfield freemarker.ext.beans.BeansWrapper.staticModels:Lfreemarker/ext/beans/StaticModels;
57: aload 0
new freemarker.ext.beans._EnumModels
dup
aload 0
invokespecial freemarker.ext.beans._EnumModels.<init>:(Lfreemarker/ext/beans/BeansWrapper;)V
putfield freemarker.ext.beans.BeansWrapper.enumModels:Lfreemarker/ext/beans/ClassBasedModelFactory;
58: aload 0
new freemarker.ext.beans.BeansModelCache
dup
aload 0
invokespecial freemarker.ext.beans.BeansModelCache.<init>:(Lfreemarker/ext/beans/BeansWrapper;)V
putfield freemarker.ext.beans.BeansWrapper.modelCache:Lfreemarker/ext/util/ModelCache;
59: aload 0
aload 1
invokevirtual freemarker.ext.beans.BeansWrapperConfiguration.getUseModelCache:()Z
invokevirtual freemarker.ext.beans.BeansWrapper.setUseCache:(Z)V
60: aload 0
iload 2
invokevirtual freemarker.ext.beans.BeansWrapper.finalizeConstruction:(Z)V
61: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 62 0 this Lfreemarker/ext/beans/BeansWrapper;
0 62 1 bwConf Lfreemarker/ext/beans/BeansWrapperConfiguration;
0 62 2 writeProtected Z
0 62 3 finalizeConstruction Z
7 38 4 thisClass Ljava/lang/Class<*>;
8 38 5 overridden Z
9 38 6 testFailed Z
23 30 7 e Ljava/lang/Throwable;
Exception table:
from to target type
10 14 15 Class java.lang.NoSuchMethodException
9 21 22 Class java.lang.Throwable
MethodParameters:
Name Flags
bwConf
writeProtected
finalizeConstruction
protected void finalizeConstruction(boolean);
descriptor: (Z)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: iload 1
ifeq 2
1: aload 0
invokevirtual freemarker.ext.beans.BeansWrapper.writeProtect:()V
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual freemarker.ext.beans.BeansWrapper.registerModelFactories:()V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lfreemarker/ext/beans/BeansWrapper;
0 4 1 writeProtected Z
MethodParameters:
Name Flags
writeProtected
public void writeProtect();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
putfield freemarker.ext.beans.BeansWrapper.writeProtected:Z
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lfreemarker/ext/beans/BeansWrapper;
public boolean isWriteProtected();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield freemarker.ext.beans.BeansWrapper.writeProtected:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/ext/beans/BeansWrapper;
java.lang.Object getSharedIntrospectionLock();
descriptor: ()Ljava/lang/Object;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield freemarker.ext.beans.BeansWrapper.sharedIntrospectionLock:Ljava/lang/Object;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/ext/beans/BeansWrapper;
protected void checkModifiable();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
getfield freemarker.ext.beans.BeansWrapper.writeProtected:Z
ifeq 2
new java.lang.IllegalStateException
dup
1: new java.lang.StringBuilder
dup
ldc "Can't modify the "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " object, as it was write protected."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lfreemarker/ext/beans/BeansWrapper;
public boolean isStrict();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield freemarker.ext.beans.BeansWrapper.strict:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/ext/beans/BeansWrapper;
public void setStrict(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual freemarker.ext.beans.BeansWrapper.checkModifiable:()V
1: aload 0
iload 1
putfield freemarker.ext.beans.BeansWrapper.strict:Z
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lfreemarker/ext/beans/BeansWrapper;
0 3 1 strict Z
MethodParameters:
Name Flags
strict
public void setOuterIdentity(freemarker.template.ObjectWrapper);
descriptor: (Lfreemarker/template/ObjectWrapper;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual freemarker.ext.beans.BeansWrapper.checkModifiable:()V
1: aload 0
aload 1
putfield freemarker.ext.beans.BeansWrapper.outerIdentity:Lfreemarker/template/ObjectWrapper;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lfreemarker/ext/beans/BeansWrapper;
0 3 1 outerIdentity Lfreemarker/template/ObjectWrapper;
MethodParameters:
Name Flags
outerIdentity
public freemarker.template.ObjectWrapper getOuterIdentity();
descriptor: ()Lfreemarker/template/ObjectWrapper;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield freemarker.ext.beans.BeansWrapper.outerIdentity:Lfreemarker/template/ObjectWrapper;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/ext/beans/BeansWrapper;
public void setSimpleMapWrapper(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual freemarker.ext.beans.BeansWrapper.checkModifiable:()V
1: aload 0
iload 1
putfield freemarker.ext.beans.BeansWrapper.simpleMapWrapper:Z
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lfreemarker/ext/beans/BeansWrapper;
0 3 1 simpleMapWrapper Z
MethodParameters:
Name Flags
simpleMapWrapper
public boolean isSimpleMapWrapper();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield freemarker.ext.beans.BeansWrapper.simpleMapWrapper:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/ext/beans/BeansWrapper;
public boolean getPreferIndexedReadMethod();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield freemarker.ext.beans.BeansWrapper.preferIndexedReadMethod:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/ext/beans/BeansWrapper;
public void setPreferIndexedReadMethod(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual freemarker.ext.beans.BeansWrapper.checkModifiable:()V
1: aload 0
iload 1
putfield freemarker.ext.beans.BeansWrapper.preferIndexedReadMethod:Z
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lfreemarker/ext/beans/BeansWrapper;
0 3 1 preferIndexedReadMethod Z
MethodParameters:
Name Flags
preferIndexedReadMethod
public void setExposureLevel(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual freemarker.ext.beans.BeansWrapper.checkModifiable:()V
1: aload 0
getfield freemarker.ext.beans.BeansWrapper.classIntrospector:Lfreemarker/ext/beans/ClassIntrospector;
invokevirtual freemarker.ext.beans.ClassIntrospector.getExposureLevel:()I
iload 1
if_icmpeq 5
2: aload 0
getfield freemarker.ext.beans.BeansWrapper.classIntrospector:Lfreemarker/ext/beans/ClassIntrospector;
invokevirtual freemarker.ext.beans.ClassIntrospector.createBuilder:()Lfreemarker/ext/beans/ClassIntrospectorBuilder;
astore 2
start local 2 3: aload 2
iload 1
invokevirtual freemarker.ext.beans.ClassIntrospectorBuilder.setExposureLevel:(I)V
4: aload 0
aload 2
invokevirtual freemarker.ext.beans.BeansWrapper.replaceClassIntrospector:(Lfreemarker/ext/beans/ClassIntrospectorBuilder;)V
end local 2 5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lfreemarker/ext/beans/BeansWrapper;
0 6 1 exposureLevel I
3 5 2 builder Lfreemarker/ext/beans/ClassIntrospectorBuilder;
MethodParameters:
Name Flags
exposureLevel
public int getExposureLevel();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield freemarker.ext.beans.BeansWrapper.classIntrospector:Lfreemarker/ext/beans/ClassIntrospector;
invokevirtual freemarker.ext.beans.ClassIntrospector.getExposureLevel:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/ext/beans/BeansWrapper;
public void setExposeFields(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual freemarker.ext.beans.BeansWrapper.checkModifiable:()V
1: aload 0
getfield freemarker.ext.beans.BeansWrapper.classIntrospector:Lfreemarker/ext/beans/ClassIntrospector;
invokevirtual freemarker.ext.beans.ClassIntrospector.getExposeFields:()Z
iload 1
if_icmpeq 5
2: aload 0
getfield freemarker.ext.beans.BeansWrapper.classIntrospector:Lfreemarker/ext/beans/ClassIntrospector;
invokevirtual freemarker.ext.beans.ClassIntrospector.createBuilder:()Lfreemarker/ext/beans/ClassIntrospectorBuilder;
astore 2
start local 2 3: aload 2
iload 1
invokevirtual freemarker.ext.beans.ClassIntrospectorBuilder.setExposeFields:(Z)V
4: aload 0
aload 2
invokevirtual freemarker.ext.beans.BeansWrapper.replaceClassIntrospector:(Lfreemarker/ext/beans/ClassIntrospectorBuilder;)V
end local 2 5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lfreemarker/ext/beans/BeansWrapper;
0 6 1 exposeFields Z
3 5 2 builder Lfreemarker/ext/beans/ClassIntrospectorBuilder;
MethodParameters:
Name Flags
exposeFields
public void setTreatDefaultMethodsAsBeanMembers(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual freemarker.ext.beans.BeansWrapper.checkModifiable:()V
1: aload 0
getfield freemarker.ext.beans.BeansWrapper.classIntrospector:Lfreemarker/ext/beans/ClassIntrospector;
invokevirtual freemarker.ext.beans.ClassIntrospector.getTreatDefaultMethodsAsBeanMembers:()Z
iload 1
if_icmpeq 5
2: aload 0
getfield freemarker.ext.beans.BeansWrapper.classIntrospector:Lfreemarker/ext/beans/ClassIntrospector;
invokevirtual freemarker.ext.beans.ClassIntrospector.createBuilder:()Lfreemarker/ext/beans/ClassIntrospectorBuilder;
astore 2
start local 2 3: aload 2
iload 1
invokevirtual freemarker.ext.beans.ClassIntrospectorBuilder.setTreatDefaultMethodsAsBeanMembers:(Z)V
4: aload 0
aload 2
invokevirtual freemarker.ext.beans.BeansWrapper.replaceClassIntrospector:(Lfreemarker/ext/beans/ClassIntrospectorBuilder;)V
end local 2 5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lfreemarker/ext/beans/BeansWrapper;
0 6 1 treatDefaultMethodsAsBeanMembers Z
3 5 2 builder Lfreemarker/ext/beans/ClassIntrospectorBuilder;
MethodParameters:
Name Flags
treatDefaultMethodsAsBeanMembers
public boolean isExposeFields();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield freemarker.ext.beans.BeansWrapper.classIntrospector:Lfreemarker/ext/beans/ClassIntrospector;
invokevirtual freemarker.ext.beans.ClassIntrospector.getExposeFields:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/ext/beans/BeansWrapper;
public boolean getTreatDefaultMethodsAsBeanMembers();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield freemarker.ext.beans.BeansWrapper.classIntrospector:Lfreemarker/ext/beans/ClassIntrospector;
invokevirtual freemarker.ext.beans.ClassIntrospector.getTreatDefaultMethodsAsBeanMembers:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/ext/beans/BeansWrapper;
public freemarker.ext.beans.MethodAppearanceFineTuner getMethodAppearanceFineTuner();
descriptor: ()Lfreemarker/ext/beans/MethodAppearanceFineTuner;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield freemarker.ext.beans.BeansWrapper.classIntrospector:Lfreemarker/ext/beans/ClassIntrospector;
invokevirtual freemarker.ext.beans.ClassIntrospector.getMethodAppearanceFineTuner:()Lfreemarker/ext/beans/MethodAppearanceFineTuner;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/ext/beans/BeansWrapper;
public void setMethodAppearanceFineTuner(freemarker.ext.beans.MethodAppearanceFineTuner);
descriptor: (Lfreemarker/ext/beans/MethodAppearanceFineTuner;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual freemarker.ext.beans.BeansWrapper.checkModifiable:()V
1: aload 0
getfield freemarker.ext.beans.BeansWrapper.classIntrospector:Lfreemarker/ext/beans/ClassIntrospector;
invokevirtual freemarker.ext.beans.ClassIntrospector.getMethodAppearanceFineTuner:()Lfreemarker/ext/beans/MethodAppearanceFineTuner;
aload 1
if_acmpeq 5
2: aload 0
getfield freemarker.ext.beans.BeansWrapper.classIntrospector:Lfreemarker/ext/beans/ClassIntrospector;
invokevirtual freemarker.ext.beans.ClassIntrospector.createBuilder:()Lfreemarker/ext/beans/ClassIntrospectorBuilder;
astore 2
start local 2 3: aload 2
aload 1
invokevirtual freemarker.ext.beans.ClassIntrospectorBuilder.setMethodAppearanceFineTuner:(Lfreemarker/ext/beans/MethodAppearanceFineTuner;)V
4: aload 0
aload 2
invokevirtual freemarker.ext.beans.BeansWrapper.replaceClassIntrospector:(Lfreemarker/ext/beans/ClassIntrospectorBuilder;)V
end local 2 5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lfreemarker/ext/beans/BeansWrapper;
0 6 1 methodAppearanceFineTuner Lfreemarker/ext/beans/MethodAppearanceFineTuner;
3 5 2 builder Lfreemarker/ext/beans/ClassIntrospectorBuilder;
MethodParameters:
Name Flags
methodAppearanceFineTuner
freemarker.ext.beans.MethodSorter getMethodSorter();
descriptor: ()Lfreemarker/ext/beans/MethodSorter;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield freemarker.ext.beans.BeansWrapper.classIntrospector:Lfreemarker/ext/beans/ClassIntrospector;
invokevirtual freemarker.ext.beans.ClassIntrospector.getMethodSorter:()Lfreemarker/ext/beans/MethodSorter;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/ext/beans/BeansWrapper;
void setMethodSorter(freemarker.ext.beans.MethodSorter);
descriptor: (Lfreemarker/ext/beans/MethodSorter;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual freemarker.ext.beans.BeansWrapper.checkModifiable:()V
1: aload 0
getfield freemarker.ext.beans.BeansWrapper.classIntrospector:Lfreemarker/ext/beans/ClassIntrospector;
invokevirtual freemarker.ext.beans.ClassIntrospector.getMethodSorter:()Lfreemarker/ext/beans/MethodSorter;
aload 1
if_acmpeq 5
2: aload 0
getfield freemarker.ext.beans.BeansWrapper.classIntrospector:Lfreemarker/ext/beans/ClassIntrospector;
invokevirtual freemarker.ext.beans.ClassIntrospector.createBuilder:()Lfreemarker/ext/beans/ClassIntrospectorBuilder;
astore 2
start local 2 3: aload 2
aload 1
invokevirtual freemarker.ext.beans.ClassIntrospectorBuilder.setMethodSorter:(Lfreemarker/ext/beans/MethodSorter;)V
4: aload 0
aload 2
invokevirtual freemarker.ext.beans.BeansWrapper.replaceClassIntrospector:(Lfreemarker/ext/beans/ClassIntrospectorBuilder;)V
end local 2 5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lfreemarker/ext/beans/BeansWrapper;
0 6 1 methodSorter Lfreemarker/ext/beans/MethodSorter;
3 5 2 builder Lfreemarker/ext/beans/ClassIntrospectorBuilder;
MethodParameters:
Name Flags
methodSorter
public boolean isClassIntrospectionCacheRestricted();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield freemarker.ext.beans.BeansWrapper.classIntrospector:Lfreemarker/ext/beans/ClassIntrospector;
invokevirtual freemarker.ext.beans.ClassIntrospector.getHasSharedInstanceRestrictons:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/ext/beans/BeansWrapper;
private void replaceClassIntrospector(freemarker.ext.beans.ClassIntrospectorBuilder);
descriptor: (Lfreemarker/ext/beans/ClassIntrospectorBuilder;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual freemarker.ext.beans.BeansWrapper.checkModifiable:()V
1: new freemarker.ext.beans.ClassIntrospector
dup
aload 1
aload 0
getfield freemarker.ext.beans.BeansWrapper.sharedIntrospectionLock:Ljava/lang/Object;
invokespecial freemarker.ext.beans.ClassIntrospector.<init>:(Lfreemarker/ext/beans/ClassIntrospectorBuilder;Ljava/lang/Object;)V
astore 2
start local 2 2: aload 0
getfield freemarker.ext.beans.BeansWrapper.sharedIntrospectionLock:Ljava/lang/Object;
dup
astore 4
monitorenter
3: aload 0
getfield freemarker.ext.beans.BeansWrapper.classIntrospector:Lfreemarker/ext/beans/ClassIntrospector;
astore 3
start local 3 4: aload 3
ifnull 18
5: aload 0
getfield freemarker.ext.beans.BeansWrapper.staticModels:Lfreemarker/ext/beans/StaticModels;
ifnull 8
6: aload 3
aload 0
getfield freemarker.ext.beans.BeansWrapper.staticModels:Lfreemarker/ext/beans/StaticModels;
invokevirtual freemarker.ext.beans.ClassIntrospector.unregisterModelFactory:(Lfreemarker/ext/beans/ClassBasedModelFactory;)V
7: aload 0
getfield freemarker.ext.beans.BeansWrapper.staticModels:Lfreemarker/ext/beans/StaticModels;
invokevirtual freemarker.ext.beans.StaticModels.clearCache:()V
8: StackMap locals: freemarker.ext.beans.ClassIntrospector freemarker.ext.beans.ClassIntrospector java.lang.Object
StackMap stack:
aload 0
getfield freemarker.ext.beans.BeansWrapper.enumModels:Lfreemarker/ext/beans/ClassBasedModelFactory;
ifnull 11
9: aload 3
aload 0
getfield freemarker.ext.beans.BeansWrapper.enumModels:Lfreemarker/ext/beans/ClassBasedModelFactory;
invokevirtual freemarker.ext.beans.ClassIntrospector.unregisterModelFactory:(Lfreemarker/ext/beans/ClassBasedModelFactory;)V
10: aload 0
getfield freemarker.ext.beans.BeansWrapper.enumModels:Lfreemarker/ext/beans/ClassBasedModelFactory;
invokevirtual freemarker.ext.beans.ClassBasedModelFactory.clearCache:()V
11: StackMap locals:
StackMap stack:
aload 0
getfield freemarker.ext.beans.BeansWrapper.modelCache:Lfreemarker/ext/util/ModelCache;
ifnull 14
12: aload 3
aload 0
getfield freemarker.ext.beans.BeansWrapper.modelCache:Lfreemarker/ext/util/ModelCache;
invokevirtual freemarker.ext.beans.ClassIntrospector.unregisterModelFactory:(Lfreemarker/ext/util/ModelCache;)V
13: aload 0
getfield freemarker.ext.beans.BeansWrapper.modelCache:Lfreemarker/ext/util/ModelCache;
invokevirtual freemarker.ext.util.ModelCache.clearCache:()V
14: StackMap locals:
StackMap stack:
aload 0
getfield freemarker.ext.beans.BeansWrapper.trueModel:Lfreemarker/ext/beans/BooleanModel;
ifnull 16
15: aload 0
getfield freemarker.ext.beans.BeansWrapper.trueModel:Lfreemarker/ext/beans/BooleanModel;
invokevirtual freemarker.ext.beans.BooleanModel.clearMemberCache:()V
16: StackMap locals:
StackMap stack:
aload 0
getfield freemarker.ext.beans.BeansWrapper.falseModel:Lfreemarker/ext/beans/BooleanModel;
ifnull 18
17: aload 0
getfield freemarker.ext.beans.BeansWrapper.falseModel:Lfreemarker/ext/beans/BooleanModel;
invokevirtual freemarker.ext.beans.BooleanModel.clearMemberCache:()V
18: StackMap locals:
StackMap stack:
aload 0
aload 2
putfield freemarker.ext.beans.BeansWrapper.classIntrospector:Lfreemarker/ext/beans/ClassIntrospector;
19: aload 0
invokevirtual freemarker.ext.beans.BeansWrapper.registerModelFactories:()V
20: aload 4
monitorexit
21: goto 24
end local 3 StackMap locals: freemarker.ext.beans.BeansWrapper freemarker.ext.beans.ClassIntrospectorBuilder freemarker.ext.beans.ClassIntrospector top java.lang.Object
StackMap stack: java.lang.Throwable
22: aload 4
monitorexit
23: athrow
start local 3 24: StackMap locals: freemarker.ext.beans.BeansWrapper freemarker.ext.beans.ClassIntrospectorBuilder freemarker.ext.beans.ClassIntrospector freemarker.ext.beans.ClassIntrospector
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lfreemarker/ext/beans/BeansWrapper;
0 25 1 builder Lfreemarker/ext/beans/ClassIntrospectorBuilder;
2 25 2 newCI Lfreemarker/ext/beans/ClassIntrospector;
4 22 3 oldCI Lfreemarker/ext/beans/ClassIntrospector;
24 25 3 oldCI Lfreemarker/ext/beans/ClassIntrospector;
Exception table:
from to target type
3 21 22 any
22 23 22 any
MethodParameters:
Name Flags
builder
private void registerModelFactories();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield freemarker.ext.beans.BeansWrapper.staticModels:Lfreemarker/ext/beans/StaticModels;
ifnull 2
1: aload 0
getfield freemarker.ext.beans.BeansWrapper.classIntrospector:Lfreemarker/ext/beans/ClassIntrospector;
aload 0
getfield freemarker.ext.beans.BeansWrapper.staticModels:Lfreemarker/ext/beans/StaticModels;
invokevirtual freemarker.ext.beans.ClassIntrospector.registerModelFactory:(Lfreemarker/ext/beans/ClassBasedModelFactory;)V
2: StackMap locals:
StackMap stack:
aload 0
getfield freemarker.ext.beans.BeansWrapper.enumModels:Lfreemarker/ext/beans/ClassBasedModelFactory;
ifnull 4
3: aload 0
getfield freemarker.ext.beans.BeansWrapper.classIntrospector:Lfreemarker/ext/beans/ClassIntrospector;
aload 0
getfield freemarker.ext.beans.BeansWrapper.enumModels:Lfreemarker/ext/beans/ClassBasedModelFactory;
invokevirtual freemarker.ext.beans.ClassIntrospector.registerModelFactory:(Lfreemarker/ext/beans/ClassBasedModelFactory;)V
4: StackMap locals:
StackMap stack:
aload 0
getfield freemarker.ext.beans.BeansWrapper.modelCache:Lfreemarker/ext/util/ModelCache;
ifnull 6
5: aload 0
getfield freemarker.ext.beans.BeansWrapper.classIntrospector:Lfreemarker/ext/beans/ClassIntrospector;
aload 0
getfield freemarker.ext.beans.BeansWrapper.modelCache:Lfreemarker/ext/util/ModelCache;
invokevirtual freemarker.ext.beans.ClassIntrospector.registerModelFactory:(Lfreemarker/ext/util/ModelCache;)V
6: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lfreemarker/ext/beans/BeansWrapper;
public void setMethodsShadowItems(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
dup
astore 2
monitorenter
1: aload 0
invokevirtual freemarker.ext.beans.BeansWrapper.checkModifiable:()V
2: aload 0
iload 1
putfield freemarker.ext.beans.BeansWrapper.methodsShadowItems:Z
3: aload 2
monitorexit
4: goto 7
StackMap locals: freemarker.ext.beans.BeansWrapper int freemarker.ext.beans.BeansWrapper
StackMap stack: java.lang.Throwable
5: aload 2
monitorexit
6: athrow
7: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lfreemarker/ext/beans/BeansWrapper;
0 8 1 methodsShadowItems Z
Exception table:
from to target type
1 4 5 any
5 6 5 any
MethodParameters:
Name Flags
methodsShadowItems
boolean isMethodsShadowItems();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield freemarker.ext.beans.BeansWrapper.methodsShadowItems:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/ext/beans/BeansWrapper;
public void setDefaultDateType(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
dup
astore 2
monitorenter
1: aload 0
invokevirtual freemarker.ext.beans.BeansWrapper.checkModifiable:()V
2: aload 0
iload 1
putfield freemarker.ext.beans.BeansWrapper.defaultDateType:I
3: aload 2
monitorexit
4: goto 7
StackMap locals: freemarker.ext.beans.BeansWrapper int freemarker.ext.beans.BeansWrapper
StackMap stack: java.lang.Throwable
5: aload 2
monitorexit
6: athrow
7: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lfreemarker/ext/beans/BeansWrapper;
0 8 1 defaultDateType I
Exception table:
from to target type
1 4 5 any
5 6 5 any
MethodParameters:
Name Flags
defaultDateType
public int getDefaultDateType();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield freemarker.ext.beans.BeansWrapper.defaultDateType:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/ext/beans/BeansWrapper;
public void setUseCache(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual freemarker.ext.beans.BeansWrapper.checkModifiable:()V
1: aload 0
getfield freemarker.ext.beans.BeansWrapper.modelCache:Lfreemarker/ext/util/ModelCache;
iload 1
invokevirtual freemarker.ext.util.ModelCache.setUseCache:(Z)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lfreemarker/ext/beans/BeansWrapper;
0 3 1 useCache Z
MethodParameters:
Name Flags
useCache
public boolean getUseCache();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield freemarker.ext.beans.BeansWrapper.modelCache:Lfreemarker/ext/util/ModelCache;
invokevirtual freemarker.ext.util.ModelCache.getUseCache:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/ext/beans/BeansWrapper;
public void setNullModel(freemarker.template.TemplateModel);
descriptor: (Lfreemarker/template/TemplateModel;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual freemarker.ext.beans.BeansWrapper.checkModifiable:()V
1: aload 0
aload 1
putfield freemarker.ext.beans.BeansWrapper.nullModel:Lfreemarker/template/TemplateModel;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lfreemarker/ext/beans/BeansWrapper;
0 3 1 nullModel Lfreemarker/template/TemplateModel;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
nullModel
public freemarker.template.Version getIncompatibleImprovements();
descriptor: ()Lfreemarker/template/Version;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield freemarker.ext.beans.BeansWrapper.incompatibleImprovements:Lfreemarker/template/Version;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/ext/beans/BeansWrapper;
boolean is2321Bugfixed();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual freemarker.ext.beans.BeansWrapper.getIncompatibleImprovements:()Lfreemarker/template/Version;
invokestatic freemarker.ext.beans.BeansWrapper.is2321Bugfixed:(Lfreemarker/template/Version;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/ext/beans/BeansWrapper;
static boolean is2321Bugfixed(freemarker.template.Version);
descriptor: (Lfreemarker/template/Version;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual freemarker.template.Version.intValue:()I
getstatic freemarker.template._TemplateAPI.VERSION_INT_2_3_21:I
if_icmplt 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 version Lfreemarker/template/Version;
MethodParameters:
Name Flags
version
boolean is2324Bugfixed();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual freemarker.ext.beans.BeansWrapper.getIncompatibleImprovements:()Lfreemarker/template/Version;
invokestatic freemarker.ext.beans.BeansWrapper.is2324Bugfixed:(Lfreemarker/template/Version;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/ext/beans/BeansWrapper;
static boolean is2324Bugfixed(freemarker.template.Version);
descriptor: (Lfreemarker/template/Version;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual freemarker.template.Version.intValue:()I
getstatic freemarker.template._TemplateAPI.VERSION_INT_2_3_24:I
if_icmplt 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 version Lfreemarker/template/Version;
MethodParameters:
Name Flags
version
protected static freemarker.template.Version normalizeIncompatibleImprovementsVersion(freemarker.template.Version);
descriptor: (Lfreemarker/template/Version;)Lfreemarker/template/Version;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokestatic freemarker.template._TemplateAPI.checkVersionNotNullAndSupported:(Lfreemarker/template/Version;)V
1: aload 0
invokevirtual freemarker.template.Version.intValue:()I
getstatic freemarker.template._TemplateAPI.VERSION_INT_2_3_0:I
if_icmpge 3
2: new java.lang.IllegalArgumentException
dup
ldc "Version must be at least 2.3.0."
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual freemarker.template.Version.intValue:()I
getstatic freemarker.template._TemplateAPI.VERSION_INT_2_3_27:I
if_icmplt 4
getstatic freemarker.template.Configuration.VERSION_2_3_27:Lfreemarker/template/Version;
goto 8
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual freemarker.template.Version.intValue:()I
getstatic freemarker.template._TemplateAPI.VERSION_INT_2_3_26:I
if_icmpne 5
getstatic freemarker.template.Configuration.VERSION_2_3_26:Lfreemarker/template/Version;
goto 8
5: StackMap locals:
StackMap stack:
aload 0
invokestatic freemarker.ext.beans.BeansWrapper.is2324Bugfixed:(Lfreemarker/template/Version;)Z
ifeq 6
getstatic freemarker.template.Configuration.VERSION_2_3_24:Lfreemarker/template/Version;
goto 8
6: StackMap locals:
StackMap stack:
aload 0
invokestatic freemarker.ext.beans.BeansWrapper.is2321Bugfixed:(Lfreemarker/template/Version;)Z
ifeq 7
getstatic freemarker.template.Configuration.VERSION_2_3_21:Lfreemarker/template/Version;
goto 8
7: StackMap locals:
StackMap stack:
getstatic freemarker.template.Configuration.VERSION_2_3_0:Lfreemarker/template/Version;
8: StackMap locals:
StackMap stack: freemarker.template.Version
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 incompatibleImprovements Lfreemarker/template/Version;
MethodParameters:
Name Flags
incompatibleImprovements
public static final freemarker.ext.beans.BeansWrapper getDefaultInstance();
descriptor: ()Lfreemarker/ext/beans/BeansWrapper;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Code:
stack=1, locals=0, args_size=0
0: getstatic freemarker.ext.beans.BeansWrapperSingletonHolder.INSTANCE:Lfreemarker/ext/beans/BeansWrapper;
areturn
LocalVariableTable:
Start End Slot Name Signature
RuntimeVisibleAnnotations:
java.lang.Deprecated()
public freemarker.template.TemplateModel wrap(java.lang.Object);
descriptor: (Ljava/lang/Object;)Lfreemarker/template/TemplateModel;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 1
aload 0
getfield freemarker.ext.beans.BeansWrapper.nullModel:Lfreemarker/template/TemplateModel;
areturn
1: StackMap locals:
StackMap stack:
aload 0
getfield freemarker.ext.beans.BeansWrapper.modelCache:Lfreemarker/ext/util/ModelCache;
aload 1
invokevirtual freemarker.ext.util.ModelCache.getInstance:(Ljava/lang/Object;)Lfreemarker/template/TemplateModel;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lfreemarker/ext/beans/BeansWrapper;
0 2 1 object Ljava/lang/Object;
Exceptions:
throws freemarker.template.TemplateModelException
MethodParameters:
Name Flags
object
public freemarker.template.TemplateMethodModelEx wrap(java.lang.Object, java.lang.reflect.Method);
descriptor: (Ljava/lang/Object;Ljava/lang/reflect/Method;)Lfreemarker/template/TemplateMethodModelEx;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new freemarker.ext.beans.SimpleMethodModel
dup
aload 1
aload 2
aload 2
invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
aload 0
invokespecial freemarker.ext.beans.SimpleMethodModel.<init>:(Ljava/lang/Object;Ljava/lang/reflect/Method;[Ljava/lang/Class;Lfreemarker/ext/beans/BeansWrapper;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/ext/beans/BeansWrapper;
0 1 1 object Ljava/lang/Object;
0 1 2 method Ljava/lang/reflect/Method;
MethodParameters:
Name Flags
object
method
public freemarker.template.TemplateHashModel wrapAsAPI(java.lang.Object);
descriptor: (Ljava/lang/Object;)Lfreemarker/template/TemplateHashModel;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new freemarker.ext.beans.APIModel
dup
aload 1
aload 0
invokespecial freemarker.ext.beans.APIModel.<init>:(Ljava/lang/Object;Lfreemarker/ext/beans/BeansWrapper;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/ext/beans/BeansWrapper;
0 1 1 obj Ljava/lang/Object;
Exceptions:
throws freemarker.template.TemplateModelException
MethodParameters:
Name Flags
obj
protected freemarker.template.TemplateModel getInstance(java.lang.Object, freemarker.ext.util.ModelFactory);
descriptor: (Ljava/lang/Object;Lfreemarker/ext/util/ModelFactory;)Lfreemarker/template/TemplateModel;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
aload 1
aload 0
invokeinterface freemarker.ext.util.ModelFactory.create:(Ljava/lang/Object;Lfreemarker/template/ObjectWrapper;)Lfreemarker/template/TemplateModel;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/ext/beans/BeansWrapper;
0 1 1 object Ljava/lang/Object;
0 1 2 factory Lfreemarker/ext/util/ModelFactory;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
object
factory
protected freemarker.ext.util.ModelFactory getModelFactory(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Lfreemarker/ext/util/ModelFactory;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: ldc Ljava/util/Map;
aload 1
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 4
1: aload 0
getfield freemarker.ext.beans.BeansWrapper.simpleMapWrapper:Z
ifeq 2
getstatic freemarker.ext.beans.SimpleMapModel.FACTORY:Lfreemarker/ext/util/ModelFactory;
goto 3
StackMap locals:
StackMap stack:
2: getstatic freemarker.ext.beans.MapModel.FACTORY:Lfreemarker/ext/util/ModelFactory;
StackMap locals:
StackMap stack: freemarker.ext.util.ModelFactory
3: areturn
4: StackMap locals:
StackMap stack:
ldc Ljava/util/Collection;
aload 1
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 6
5: getstatic freemarker.ext.beans.CollectionModel.FACTORY:Lfreemarker/ext/util/ModelFactory;
areturn
6: StackMap locals:
StackMap stack:
ldc Ljava/lang/Number;
aload 1
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 8
7: getstatic freemarker.ext.beans.NumberModel.FACTORY:Lfreemarker/ext/util/ModelFactory;
areturn
8: StackMap locals:
StackMap stack:
ldc Ljava/util/Date;
aload 1
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 10
9: getstatic freemarker.ext.beans.DateModel.FACTORY:Lfreemarker/ext/util/ModelFactory;
areturn
10: StackMap locals:
StackMap stack:
ldc Ljava/lang/Boolean;
aload 1
if_acmpne 12
11: aload 0
getfield freemarker.ext.beans.BeansWrapper.BOOLEAN_FACTORY:Lfreemarker/ext/util/ModelFactory;
areturn
12: StackMap locals:
StackMap stack:
ldc Ljava/util/ResourceBundle;
aload 1
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 14
13: getstatic freemarker.ext.beans.ResourceBundleModel.FACTORY:Lfreemarker/ext/util/ModelFactory;
areturn
14: StackMap locals:
StackMap stack:
ldc Ljava/util/Iterator;
aload 1
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 16
15: getstatic freemarker.ext.beans.BeansWrapper.ITERATOR_FACTORY:Lfreemarker/ext/util/ModelFactory;
areturn
16: StackMap locals:
StackMap stack:
ldc Ljava/util/Enumeration;
aload 1
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 18
17: getstatic freemarker.ext.beans.BeansWrapper.ENUMERATION_FACTORY:Lfreemarker/ext/util/ModelFactory;
areturn
18: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.Class.isArray:()Z
ifeq 20
19: getstatic freemarker.ext.beans.ArrayModel.FACTORY:Lfreemarker/ext/util/ModelFactory;
areturn
20: StackMap locals:
StackMap stack:
getstatic freemarker.ext.beans.StringModel.FACTORY:Lfreemarker/ext/util/ModelFactory;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lfreemarker/ext/beans/BeansWrapper;
0 21 1 clazz Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Lfreemarker/ext/util/ModelFactory;
MethodParameters:
Name Flags
clazz
public java.lang.Object unwrap(freemarker.template.TemplateModel);
descriptor: (Lfreemarker/template/TemplateModel;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
ldc Ljava/lang/Object;
invokevirtual freemarker.ext.beans.BeansWrapper.unwrap:(Lfreemarker/template/TemplateModel;Ljava/lang/Class;)Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/ext/beans/BeansWrapper;
0 1 1 model Lfreemarker/template/TemplateModel;
Exceptions:
throws freemarker.template.TemplateModelException
MethodParameters:
Name Flags
model
public unwrap(freemarker.template.TemplateModel, java.lang.Class<?>);
descriptor: (Lfreemarker/template/TemplateModel;Ljava/lang/Class;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual freemarker.ext.beans.BeansWrapper.tryUnwrapTo:(Lfreemarker/template/TemplateModel;Ljava/lang/Class;)Ljava/lang/Object;
astore 3
start local 3 1: aload 3
getstatic freemarker.template.ObjectWrapperAndUnwrapper.CANT_UNWRAP_TO_TARGET_CLASS:Ljava/lang/Object;
if_acmpne 5
2: new freemarker.template.TemplateModelException
dup
new java.lang.StringBuilder
dup
ldc "Can not unwrap model of type "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
3: aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " to type "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
4: invokespecial freemarker.template.TemplateModelException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: java.lang.Object
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lfreemarker/ext/beans/BeansWrapper;
0 6 1 model Lfreemarker/template/TemplateModel;
0 6 2 targetClass Ljava/lang/Class<*>;
1 6 3 obj Ljava/lang/Object;
Exceptions:
throws freemarker.template.TemplateModelException
Signature: (Lfreemarker/template/TemplateModel;Ljava/lang/Class<*>;)Ljava/lang/Object;
MethodParameters:
Name Flags
model
targetClass
public tryUnwrapTo(freemarker.template.TemplateModel, java.lang.Class<?>);
descriptor: (Lfreemarker/template/TemplateModel;Ljava/lang/Class;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
iconst_0
invokevirtual freemarker.ext.beans.BeansWrapper.tryUnwrapTo:(Lfreemarker/template/TemplateModel;Ljava/lang/Class;I)Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/ext/beans/BeansWrapper;
0 1 1 model Lfreemarker/template/TemplateModel;
0 1 2 targetClass Ljava/lang/Class<*>;
Exceptions:
throws freemarker.template.TemplateModelException
Signature: (Lfreemarker/template/TemplateModel;Ljava/lang/Class<*>;)Ljava/lang/Object;
MethodParameters:
Name Flags
model
targetClass
tryUnwrapTo(freemarker.template.TemplateModel, java.lang.Class<?>, int);
descriptor: (Lfreemarker/template/TemplateModel;Ljava/lang/Class;I)Ljava/lang/Object;
flags: (0x0000)
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
iload 3
aconst_null
invokevirtual freemarker.ext.beans.BeansWrapper.tryUnwrapTo:(Lfreemarker/template/TemplateModel;Ljava/lang/Class;ILjava/util/Map;)Ljava/lang/Object;
astore 4
start local 4 1: iload 3
iconst_1
iand
ifeq 4
2: aload 4
instanceof java.lang.Number
ifeq 4
3: aload 4
checkcast java.lang.Number
iload 3
invokestatic freemarker.ext.beans.OverloadedNumberUtil.addFallbackType:(Ljava/lang/Number;I)Ljava/lang/Number;
areturn
4: 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 5 0 this Lfreemarker/ext/beans/BeansWrapper;
0 5 1 model Lfreemarker/template/TemplateModel;
0 5 2 targetClass Ljava/lang/Class<*>;
0 5 3 typeFlags I
1 5 4 res Ljava/lang/Object;
Exceptions:
throws freemarker.template.TemplateModelException
Signature: (Lfreemarker/template/TemplateModel;Ljava/lang/Class<*>;I)Ljava/lang/Object;
MethodParameters:
Name Flags
model
targetClass
typeFlags
private tryUnwrapTo(freemarker.template.TemplateModel, java.lang.Class<?>, int, java.util.Map<java.lang.Object, java.lang.Object>);
descriptor: (Lfreemarker/template/TemplateModel;Ljava/lang/Class;ILjava/util/Map;)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
ifnull 1
aload 1
aload 0
getfield freemarker.ext.beans.BeansWrapper.nullModel:Lfreemarker/template/TemplateModel;
if_acmpne 2
1: StackMap locals:
StackMap stack:
aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual freemarker.ext.beans.BeansWrapper.is2321Bugfixed:()Z
istore 5
start local 5 3: iload 5
ifeq 5
aload 2
invokevirtual java.lang.Class.isPrimitive:()Z
ifeq 5
4: aload 2
invokestatic freemarker.template.utility.ClassUtil.primitiveClassToBoxingClass:(Ljava/lang/Class;)Ljava/lang/Class;
astore 2
5: StackMap locals: int
StackMap stack:
aload 1
instanceof freemarker.template.AdapterTemplateModel
ifeq 14
6: aload 1
checkcast freemarker.template.AdapterTemplateModel
7: aload 2
8: invokeinterface freemarker.template.AdapterTemplateModel.getAdaptedObject:(Ljava/lang/Class;)Ljava/lang/Object;
astore 6
start local 6 9: aload 2
ldc Ljava/lang/Object;
if_acmpeq 10
aload 2
aload 6
invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
ifeq 11
10: StackMap locals: java.lang.Object
StackMap stack:
aload 6
areturn
11: StackMap locals:
StackMap stack:
aload 2
ldc Ljava/lang/Object;
if_acmpeq 14
aload 6
instanceof java.lang.Number
ifeq 14
aload 2
invokestatic freemarker.template.utility.ClassUtil.isNumerical:(Ljava/lang/Class;)Z
ifeq 14
12: aload 6
checkcast java.lang.Number
aload 2
iload 5
invokestatic freemarker.ext.beans.BeansWrapper.forceUnwrappedNumberToType:(Ljava/lang/Number;Ljava/lang/Class;Z)Ljava/lang/Number;
astore 7
start local 7 13: aload 7
ifnull 14
aload 7
areturn
end local 7 end local 6 14: StackMap locals:
StackMap stack:
aload 1
instanceof freemarker.ext.util.WrapperTemplateModel
ifeq 22
15: aload 1
checkcast freemarker.ext.util.WrapperTemplateModel
invokeinterface freemarker.ext.util.WrapperTemplateModel.getWrappedObject:()Ljava/lang/Object;
astore 6
start local 6 16: aload 2
ldc Ljava/lang/Object;
if_acmpeq 17
aload 2
aload 6
invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
ifeq 18
17: StackMap locals: java.lang.Object
StackMap stack:
aload 6
areturn
18: StackMap locals:
StackMap stack:
aload 2
ldc Ljava/lang/Object;
if_acmpeq 22
aload 6
instanceof java.lang.Number
ifeq 22
aload 2
invokestatic freemarker.template.utility.ClassUtil.isNumerical:(Ljava/lang/Class;)Z
ifeq 22
19: aload 6
checkcast java.lang.Number
aload 2
iload 5
invokestatic freemarker.ext.beans.BeansWrapper.forceUnwrappedNumberToType:(Ljava/lang/Number;Ljava/lang/Class;Z)Ljava/lang/Number;
astore 7
start local 7 20: aload 7
ifnull 22
21: aload 7
areturn
end local 7 end local 6 22: StackMap locals:
StackMap stack:
aload 2
ldc Ljava/lang/Object;
if_acmpeq 67
23: ldc Ljava/lang/String;
aload 2
if_acmpne 27
24: aload 1
instanceof freemarker.template.TemplateScalarModel
ifeq 26
25: aload 1
checkcast freemarker.template.TemplateScalarModel
invokeinterface freemarker.template.TemplateScalarModel.getAsString:()Ljava/lang/String;
areturn
26: StackMap locals:
StackMap stack:
getstatic freemarker.template.ObjectWrapperAndUnwrapper.CANT_UNWRAP_TO_TARGET_CLASS:Ljava/lang/Object;
areturn
27: StackMap locals:
StackMap stack:
aload 2
invokestatic freemarker.template.utility.ClassUtil.isNumerical:(Ljava/lang/Class;)Z
ifeq 33
28: aload 1
instanceof freemarker.template.TemplateNumberModel
ifeq 33
29: aload 1
checkcast freemarker.template.TemplateNumberModel
invokeinterface freemarker.template.TemplateNumberModel.getAsNumber:()Ljava/lang/Number;
aload 2
iload 5
30: invokestatic freemarker.ext.beans.BeansWrapper.forceUnwrappedNumberToType:(Ljava/lang/Number;Ljava/lang/Class;Z)Ljava/lang/Number;
astore 6
start local 6 31: aload 6
ifnull 33
32: aload 6
areturn
end local 6 33: StackMap locals:
StackMap stack:
getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
aload 2
if_acmpeq 34
ldc Ljava/lang/Boolean;
aload 2
if_acmpne 37
34: StackMap locals:
StackMap stack:
aload 1
instanceof freemarker.template.TemplateBooleanModel
ifeq 36
35: aload 1
checkcast freemarker.template.TemplateBooleanModel
invokeinterface freemarker.template.TemplateBooleanModel.getAsBoolean:()Z
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
areturn
36: StackMap locals:
StackMap stack:
getstatic freemarker.template.ObjectWrapperAndUnwrapper.CANT_UNWRAP_TO_TARGET_CLASS:Ljava/lang/Object;
areturn
37: StackMap locals:
StackMap stack:
ldc Ljava/util/Map;
aload 2
if_acmpne 40
38: aload 1
instanceof freemarker.template.TemplateHashModel
ifeq 40
39: new freemarker.ext.beans.HashAdapter
dup
aload 1
checkcast freemarker.template.TemplateHashModel
aload 0
invokespecial freemarker.ext.beans.HashAdapter.<init>:(Lfreemarker/template/TemplateHashModel;Lfreemarker/ext/beans/BeansWrapper;)V
areturn
40: StackMap locals:
StackMap stack:
ldc Ljava/util/List;
aload 2
if_acmpne 43
41: aload 1
instanceof freemarker.template.TemplateSequenceModel
ifeq 43
42: new freemarker.ext.beans.SequenceAdapter
dup
aload 1
checkcast freemarker.template.TemplateSequenceModel
aload 0
invokespecial freemarker.ext.beans.SequenceAdapter.<init>:(Lfreemarker/template/TemplateSequenceModel;Lfreemarker/ext/beans/BeansWrapper;)V
areturn
43: StackMap locals:
StackMap stack:
ldc Ljava/util/Set;
aload 2
if_acmpne 46
44: aload 1
instanceof freemarker.template.TemplateCollectionModel
ifeq 46
45: new freemarker.ext.beans.SetAdapter
dup
aload 1
checkcast freemarker.template.TemplateCollectionModel
aload 0
invokespecial freemarker.ext.beans.SetAdapter.<init>:(Lfreemarker/template/TemplateCollectionModel;Lfreemarker/ext/beans/BeansWrapper;)V
areturn
46: StackMap locals:
StackMap stack:
ldc Ljava/util/Collection;
aload 2
if_acmpeq 47
ldc Ljava/lang/Iterable;
aload 2
if_acmpne 53
47: StackMap locals:
StackMap stack:
aload 1
instanceof freemarker.template.TemplateCollectionModel
ifeq 51
48: new freemarker.ext.beans.CollectionAdapter
dup
aload 1
checkcast freemarker.template.TemplateCollectionModel
49: aload 0
50: invokespecial freemarker.ext.beans.CollectionAdapter.<init>:(Lfreemarker/template/TemplateCollectionModel;Lfreemarker/ext/beans/BeansWrapper;)V
areturn
51: StackMap locals:
StackMap stack:
aload 1
instanceof freemarker.template.TemplateSequenceModel
ifeq 53
52: new freemarker.ext.beans.SequenceAdapter
dup
aload 1
checkcast freemarker.template.TemplateSequenceModel
aload 0
invokespecial freemarker.ext.beans.SequenceAdapter.<init>:(Lfreemarker/template/TemplateSequenceModel;Lfreemarker/ext/beans/BeansWrapper;)V
areturn
53: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.lang.Class.isArray:()Z
ifeq 57
54: aload 1
instanceof freemarker.template.TemplateSequenceModel
ifeq 56
55: aload 0
aload 1
checkcast freemarker.template.TemplateSequenceModel
aload 2
iconst_1
aload 4
invokevirtual freemarker.ext.beans.BeansWrapper.unwrapSequenceToArray:(Lfreemarker/template/TemplateSequenceModel;Ljava/lang/Class;ZLjava/util/Map;)Ljava/lang/Object;
areturn
56: StackMap locals:
StackMap stack:
getstatic freemarker.template.ObjectWrapperAndUnwrapper.CANT_UNWRAP_TO_TARGET_CLASS:Ljava/lang/Object;
areturn
57: StackMap locals:
StackMap stack:
getstatic java.lang.Character.TYPE:Ljava/lang/Class;
aload 2
if_acmpeq 58
aload 2
ldc Ljava/lang/Character;
if_acmpne 63
58: StackMap locals:
StackMap stack:
aload 1
instanceof freemarker.template.TemplateScalarModel
ifeq 62
59: aload 1
checkcast freemarker.template.TemplateScalarModel
invokeinterface freemarker.template.TemplateScalarModel.getAsString:()Ljava/lang/String;
astore 6
start local 6 60: aload 6
invokevirtual java.lang.String.length:()I
iconst_1
if_icmpne 62
61: aload 6
iconst_0
invokevirtual java.lang.String.charAt:(I)C
invokestatic java.lang.Character.valueOf:(C)Ljava/lang/Character;
areturn
end local 6 62: StackMap locals:
StackMap stack:
getstatic freemarker.template.ObjectWrapperAndUnwrapper.CANT_UNWRAP_TO_TARGET_CLASS:Ljava/lang/Object;
areturn
63: StackMap locals:
StackMap stack:
ldc Ljava/util/Date;
aload 2
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 67
aload 1
instanceof freemarker.template.TemplateDateModel
ifeq 67
64: aload 1
checkcast freemarker.template.TemplateDateModel
invokeinterface freemarker.template.TemplateDateModel.getAsDate:()Ljava/util/Date;
astore 6
start local 6 65: aload 2
aload 6
invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
ifeq 67
66: aload 6
areturn
end local 6 67: StackMap locals:
StackMap stack:
iload 3
istore 6
start local 6 68: StackMap locals: int
StackMap stack:
iload 6
ifeq 69
iload 6
sipush 2048
iand
ifeq 73
69: StackMap locals:
StackMap stack:
aload 1
instanceof freemarker.template.TemplateNumberModel
ifeq 73
70: aload 1
checkcast freemarker.template.TemplateNumberModel
invokeinterface freemarker.template.TemplateNumberModel.getAsNumber:()Ljava/lang/Number;
astore 7
start local 7 71: iload 6
ifne 72
aload 2
aload 7
invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
ifeq 73
72: StackMap locals: java.lang.Number
StackMap stack:
aload 7
areturn
end local 7 73: StackMap locals:
StackMap stack:
iload 6
ifeq 74
iload 6
sipush 4096
iand
ifeq 78
74: StackMap locals:
StackMap stack:
aload 1
instanceof freemarker.template.TemplateDateModel
ifeq 78
75: aload 1
checkcast freemarker.template.TemplateDateModel
invokeinterface freemarker.template.TemplateDateModel.getAsDate:()Ljava/util/Date;
astore 7
start local 7 76: iload 6
ifne 77
aload 2
aload 7
invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
ifeq 78
77: StackMap locals: java.util.Date
StackMap stack:
aload 7
areturn
end local 7 78: StackMap locals:
StackMap stack:
iload 6
ifeq 79
iload 6
ldc 532480
iand
ifeq 90
79: StackMap locals:
StackMap stack:
aload 1
instanceof freemarker.template.TemplateScalarModel
ifeq 90
80: iload 6
ifne 81
aload 2
ldc Ljava/lang/String;
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 90
81: StackMap locals:
StackMap stack:
aload 1
checkcast freemarker.template.TemplateScalarModel
invokeinterface freemarker.template.TemplateScalarModel.getAsString:()Ljava/lang/String;
astore 7
start local 7 82: iload 6
ifeq 83
iload 6
ldc 524288
iand
ifne 84
83: StackMap locals: java.lang.String
StackMap stack:
aload 7
areturn
84: StackMap locals:
StackMap stack:
aload 7
invokevirtual java.lang.String.length:()I
iconst_1
if_icmpne 88
85: iload 6
sipush 8192
iand
ifeq 87
86: new freemarker.ext.beans.CharacterOrString
dup
aload 7
invokespecial freemarker.ext.beans.CharacterOrString.<init>:(Ljava/lang/String;)V
areturn
87: StackMap locals:
StackMap stack:
aload 7
iconst_0
invokevirtual java.lang.String.charAt:(I)C
invokestatic java.lang.Character.valueOf:(C)Ljava/lang/Character;
areturn
88: StackMap locals:
StackMap stack:
iload 6
sipush 8192
iand
ifeq 90
89: aload 7
areturn
end local 7 90: StackMap locals:
StackMap stack:
iload 6
ifeq 91
iload 6
sipush 16384
iand
ifeq 94
91: StackMap locals:
StackMap stack:
aload 1
instanceof freemarker.template.TemplateBooleanModel
ifeq 94
92: iload 6
ifne 93
aload 2
ldc Ljava/lang/Boolean;
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 94
93: StackMap locals:
StackMap stack:
aload 1
checkcast freemarker.template.TemplateBooleanModel
invokeinterface freemarker.template.TemplateBooleanModel.getAsBoolean:()Z
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
areturn
94: StackMap locals:
StackMap stack:
iload 6
ifeq 95
iload 6
ldc 32768
iand
ifeq 98
95: StackMap locals:
StackMap stack:
aload 1
instanceof freemarker.template.TemplateHashModel
ifeq 98
96: iload 6
ifne 97
aload 2
ldc Lfreemarker/ext/beans/HashAdapter;
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 98
97: StackMap locals:
StackMap stack:
new freemarker.ext.beans.HashAdapter
dup
aload 1
checkcast freemarker.template.TemplateHashModel
aload 0
invokespecial freemarker.ext.beans.HashAdapter.<init>:(Lfreemarker/template/TemplateHashModel;Lfreemarker/ext/beans/BeansWrapper;)V
areturn
98: StackMap locals:
StackMap stack:
iload 6
ifeq 99
iload 6
ldc 65536
iand
ifeq 102
99: StackMap locals:
StackMap stack:
aload 1
instanceof freemarker.template.TemplateSequenceModel
ifeq 102
100: iload 6
ifne 101
aload 2
ldc Lfreemarker/ext/beans/SequenceAdapter;
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 102
101: StackMap locals:
StackMap stack:
new freemarker.ext.beans.SequenceAdapter
dup
aload 1
checkcast freemarker.template.TemplateSequenceModel
aload 0
invokespecial freemarker.ext.beans.SequenceAdapter.<init>:(Lfreemarker/template/TemplateSequenceModel;Lfreemarker/ext/beans/BeansWrapper;)V
areturn
102: StackMap locals:
StackMap stack:
iload 6
ifeq 103
iload 6
ldc 131072
iand
ifeq 106
103: StackMap locals:
StackMap stack:
aload 1
instanceof freemarker.template.TemplateCollectionModel
ifeq 106
104: iload 6
ifne 105
aload 2
ldc Lfreemarker/ext/beans/SetAdapter;
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 106
105: StackMap locals:
StackMap stack:
new freemarker.ext.beans.SetAdapter
dup
aload 1
checkcast freemarker.template.TemplateCollectionModel
aload 0
invokespecial freemarker.ext.beans.SetAdapter.<init>:(Lfreemarker/template/TemplateCollectionModel;Lfreemarker/ext/beans/BeansWrapper;)V
areturn
106: StackMap locals:
StackMap stack:
iload 6
ldc 262144
iand
ifeq 109
107: aload 1
instanceof freemarker.template.TemplateSequenceModel
ifeq 109
108: new freemarker.ext.beans.SequenceAdapter
dup
aload 1
checkcast freemarker.template.TemplateSequenceModel
aload 0
invokespecial freemarker.ext.beans.SequenceAdapter.<init>:(Lfreemarker/template/TemplateSequenceModel;Lfreemarker/ext/beans/BeansWrapper;)V
areturn
109: StackMap locals:
StackMap stack:
iload 6
ifne 111
110: goto 113
111: StackMap locals:
StackMap stack:
iconst_0
istore 6
112: goto 68
113: StackMap locals:
StackMap stack:
aload 2
aload 1
invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
ifeq 115
114: aload 1
areturn
115: StackMap locals:
StackMap stack:
getstatic freemarker.template.ObjectWrapperAndUnwrapper.CANT_UNWRAP_TO_TARGET_CLASS:Ljava/lang/Object;
areturn
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 116 0 this Lfreemarker/ext/beans/BeansWrapper;
0 116 1 model Lfreemarker/template/TemplateModel;
0 116 2 targetClass Ljava/lang/Class<*>;
0 116 3 typeFlags I
0 116 4 recursionStops Ljava/util/Map<Ljava/lang/Object;Ljava/lang/Object;>;
3 116 5 is2321Bugfixed Z
9 14 6 wrapped Ljava/lang/Object;
13 14 7 number Ljava/lang/Number;
16 22 6 wrapped Ljava/lang/Object;
20 22 7 number Ljava/lang/Number;
31 33 6 number Ljava/lang/Number;
60 62 6 s Ljava/lang/String;
65 67 6 date Ljava/util/Date;
68 116 6 itf I
71 73 7 number Ljava/lang/Number;
76 78 7 date Ljava/util/Date;
82 90 7 strVal Ljava/lang/String;
Exceptions:
throws freemarker.template.TemplateModelException
Signature: (Lfreemarker/template/TemplateModel;Ljava/lang/Class<*>;ILjava/util/Map<Ljava/lang/Object;Ljava/lang/Object;>;)Ljava/lang/Object;
MethodParameters:
Name Flags
model final
targetClass
typeFlags final
recursionStops final
unwrapSequenceToArray(freemarker.template.TemplateSequenceModel, java.lang.Class<?>, boolean, java.util.Map<java.lang.Object, java.lang.Object>);
descriptor: (Lfreemarker/template/TemplateSequenceModel;Ljava/lang/Class;ZLjava/util/Map;)Ljava/lang/Object;
flags: (0x0000)
Code:
stack=8, locals=13, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 4
ifnull 4
1: aload 4
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 5
start local 5 2: aload 5
ifnull 5
3: aload 5
areturn
end local 5 4: StackMap locals:
StackMap stack:
new java.util.IdentityHashMap
dup
invokespecial java.util.IdentityHashMap.<init>:()V
astore 4
5: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
astore 5
start local 5 6: aload 1
invokeinterface freemarker.template.TemplateSequenceModel.size:()I
istore 6
start local 6 7: aload 5
iload 6
invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
astore 7
start local 7 8: aload 4
aload 1
aload 7
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
9: iconst_0
istore 8
start local 8 10: goto 26
11: StackMap locals: freemarker.ext.beans.BeansWrapper freemarker.template.TemplateSequenceModel java.lang.Class int java.util.Map java.lang.Class int java.lang.Object int
StackMap stack:
aload 1
iload 8
invokeinterface freemarker.template.TemplateSequenceModel.get:(I)Lfreemarker/template/TemplateModel;
astore 9
start local 9 12: aload 0
aload 9
aload 5
iconst_0
aload 4
invokevirtual freemarker.ext.beans.BeansWrapper.tryUnwrapTo:(Lfreemarker/template/TemplateModel;Ljava/lang/Class;ILjava/util/Map;)Ljava/lang/Object;
astore 10
start local 10 13: aload 10
getstatic freemarker.template.ObjectWrapperAndUnwrapper.CANT_UNWRAP_TO_TARGET_CLASS:Ljava/lang/Object;
if_acmpne 24
14: iload 3
ifeq 18
15: getstatic freemarker.template.ObjectWrapperAndUnwrapper.CANT_UNWRAP_TO_TARGET_CLASS:Ljava/lang/Object;
astore 12
16: aload 4
aload 1
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
17: aload 12
areturn
18: StackMap locals: freemarker.template.TemplateModel java.lang.Object
StackMap stack:
new freemarker.core._TemplateModelException
dup
bipush 8
anewarray java.lang.Object
dup
iconst_0
19: ldc "Failed to convert "
aastore
dup
iconst_1
new freemarker.core._DelayedFTLTypeDescription
dup
aload 1
invokespecial freemarker.core._DelayedFTLTypeDescription.<init>:(Lfreemarker/template/TemplateModel;)V
aastore
dup
iconst_2
20: ldc " object to "
aastore
dup
iconst_3
new freemarker.core._DelayedShortClassName
dup
aload 7
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokespecial freemarker.core._DelayedShortClassName.<init>:(Ljava/lang/Class;)V
aastore
dup
iconst_4
21: ldc ": Problematic sequence item at index "
aastore
dup
iconst_5
iload 8
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
bipush 6
ldc " with value type: "
aastore
dup
bipush 7
22: new freemarker.core._DelayedFTLTypeDescription
dup
aload 9
invokespecial freemarker.core._DelayedFTLTypeDescription.<init>:(Lfreemarker/template/TemplateModel;)V
23: aastore
invokespecial freemarker.core._TemplateModelException.<init>:([Ljava/lang/Object;)V
athrow
24: StackMap locals:
StackMap stack:
aload 7
iload 8
aload 10
invokestatic java.lang.reflect.Array.set:(Ljava/lang/Object;ILjava/lang/Object;)V
end local 10 end local 9 25: iinc 8 1
StackMap locals:
StackMap stack:
26: iload 8
iload 6
if_icmplt 11
end local 8 27: goto 31
StackMap locals: freemarker.ext.beans.BeansWrapper freemarker.template.TemplateSequenceModel java.lang.Class int java.util.Map java.lang.Class int java.lang.Object
StackMap stack: java.lang.Throwable
28: astore 11
29: aload 4
aload 1
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
30: aload 11
athrow
31: StackMap locals:
StackMap stack:
aload 4
aload 1
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
32: aload 7
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 33 0 this Lfreemarker/ext/beans/BeansWrapper;
0 33 1 seq Lfreemarker/template/TemplateSequenceModel;
0 33 2 arrayClass Ljava/lang/Class<*>;
0 33 3 tryOnly Z
0 33 4 recursionStops Ljava/util/Map<Ljava/lang/Object;Ljava/lang/Object;>;
2 4 5 retval Ljava/lang/Object;
6 33 5 componentType Ljava/lang/Class<*>;
7 33 6 size I
8 33 7 array Ljava/lang/Object;
10 27 8 i I
12 25 9 seqItem Lfreemarker/template/TemplateModel;
13 25 10 val Ljava/lang/Object;
Exception table:
from to target type
9 16 28 any
18 28 28 any
Exceptions:
throws freemarker.template.TemplateModelException
Signature: (Lfreemarker/template/TemplateSequenceModel;Ljava/lang/Class<*>;ZLjava/util/Map<Ljava/lang/Object;Ljava/lang/Object;>;)Ljava/lang/Object;
MethodParameters:
Name Flags
seq
arrayClass
tryOnly
recursionStops
listToArray(java.util.List<?>, java.lang.Class<?>, java.util.Map<java.lang.Object, java.lang.Object>);
descriptor: (Ljava/util/List;Ljava/lang/Class;Ljava/util/Map;)Ljava/lang/Object;
flags: (0x0000)
Code:
stack=5, locals=14, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
instanceof freemarker.ext.beans.SequenceAdapter
ifeq 6
1: aload 0
2: aload 1
checkcast freemarker.ext.beans.SequenceAdapter
invokevirtual freemarker.ext.beans.SequenceAdapter.getTemplateSequenceModel:()Lfreemarker/template/TemplateSequenceModel;
3: aload 2
iconst_0
4: aload 3
5: invokevirtual freemarker.ext.beans.BeansWrapper.unwrapSequenceToArray:(Lfreemarker/template/TemplateSequenceModel;Ljava/lang/Class;ZLjava/util/Map;)Ljava/lang/Object;
areturn
6: StackMap locals:
StackMap stack:
aload 3
ifnull 10
7: aload 3
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 4
start local 4 8: aload 4
ifnull 11
9: aload 4
areturn
end local 4 10: StackMap locals:
StackMap stack:
new java.util.IdentityHashMap
dup
invokespecial java.util.IdentityHashMap.<init>:()V
astore 3
11: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
astore 4
start local 4 12: aload 4
aload 1
invokeinterface java.util.List.size:()I
invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
astore 5
start local 5 13: aload 3
aload 1
aload 5
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
14: iconst_0
istore 6
start local 6 15: iconst_0
istore 7
start local 7 16: iconst_0
istore 8
start local 8 17: iconst_0
istore 9
start local 9 18: aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 10
start local 10 19: goto 59
20: StackMap locals: freemarker.ext.beans.BeansWrapper java.util.List java.lang.Class java.util.Map java.lang.Class java.lang.Object int int int int java.util.Iterator
StackMap stack:
aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 11
start local 11 21: aload 11
ifnull 47
aload 4
aload 11
invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
ifne 47
22: iload 6
ifne 26
23: aload 4
invokestatic freemarker.template.utility.ClassUtil.isNumerical:(Ljava/lang/Class;)Z
istore 7
24: ldc Ljava/util/List;
aload 4
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
istore 8
25: iconst_1
istore 6
26: StackMap locals: java.lang.Object
StackMap stack:
iload 7
ifeq 29
aload 11
instanceof java.lang.Number
ifeq 29
27: aload 11
checkcast java.lang.Number
aload 4
iconst_1
invokestatic freemarker.ext.beans.BeansWrapper.forceUnwrappedNumberToType:(Ljava/lang/Number;Ljava/lang/Class;Z)Ljava/lang/Number;
astore 11
28: goto 47
StackMap locals:
StackMap stack:
29: aload 4
ldc Ljava/lang/String;
if_acmpne 32
aload 11
instanceof java.lang.Character
ifeq 32
30: aload 11
checkcast java.lang.Character
invokevirtual java.lang.Character.charValue:()C
invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
astore 11
31: goto 47
StackMap locals:
StackMap stack:
32: aload 4
ldc Ljava/lang/Character;
if_acmpeq 33
aload 4
getstatic java.lang.Character.TYPE:Ljava/lang/Class;
if_acmpne 38
33: StackMap locals:
StackMap stack:
aload 11
instanceof java.lang.String
ifeq 38
34: aload 11
checkcast java.lang.String
astore 12
start local 12 35: aload 12
invokevirtual java.lang.String.length:()I
iconst_1
if_icmpne 47
36: aload 12
iconst_0
invokevirtual java.lang.String.charAt:(I)C
invokestatic java.lang.Character.valueOf:(C)Ljava/lang/Character;
astore 11
end local 12 37: goto 47
StackMap locals:
StackMap stack:
38: aload 4
invokevirtual java.lang.Class.isArray:()Z
ifeq 45
39: aload 11
instanceof java.util.List
ifeq 42
40: aload 0
aload 11
checkcast java.util.List
aload 4
aload 3
invokevirtual freemarker.ext.beans.BeansWrapper.listToArray:(Ljava/util/List;Ljava/lang/Class;Ljava/util/Map;)Ljava/lang/Object;
astore 11
41: goto 47
StackMap locals:
StackMap stack:
42: aload 11
instanceof freemarker.template.TemplateSequenceModel
ifeq 47
43: aload 0
aload 11
checkcast freemarker.template.TemplateSequenceModel
aload 4
iconst_0
aload 3
invokevirtual freemarker.ext.beans.BeansWrapper.unwrapSequenceToArray:(Lfreemarker/template/TemplateSequenceModel;Ljava/lang/Class;ZLjava/util/Map;)Ljava/lang/Object;
astore 11
44: goto 47
StackMap locals:
StackMap stack:
45: iload 8
ifeq 47
aload 11
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.isArray:()Z
ifeq 47
46: aload 0
aload 11
invokevirtual freemarker.ext.beans.BeansWrapper.arrayToList:(Ljava/lang/Object;)Ljava/util/List;
astore 11
47: StackMap locals:
StackMap stack:
aload 5
iload 9
aload 11
invokestatic java.lang.reflect.Array.set:(Ljava/lang/Object;ILjava/lang/Object;)V
48: goto 58
StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
49: astore 12
start local 12 50: new freemarker.template.TemplateModelException
dup
51: new java.lang.StringBuilder
dup
ldc "Failed to convert "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokestatic freemarker.template.utility.ClassUtil.getShortClassNameOfObject:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
52: ldc " object to "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
invokestatic freemarker.template.utility.ClassUtil.getShortClassNameOfObject:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
53: ldc ": Problematic List item at index "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 9
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " with value type: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
54: aload 11
invokestatic freemarker.template.utility.ClassUtil.getShortClassNameOfObject:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
55: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
56: aload 12
57: invokespecial freemarker.template.TemplateModelException.<init>:(Ljava/lang/String;Ljava/lang/Exception;)V
athrow
end local 12 58: StackMap locals:
StackMap stack:
iinc 9 1
end local 11 59: StackMap locals:
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 20
end local 10 end local 9 end local 8 end local 7 end local 6 60: goto 64
StackMap locals: freemarker.ext.beans.BeansWrapper java.util.List java.lang.Class java.util.Map java.lang.Class java.lang.Object
StackMap stack: java.lang.Throwable
61: astore 13
62: aload 3
aload 1
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
63: aload 13
athrow
64: StackMap locals:
StackMap stack:
aload 3
aload 1
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
65: aload 5
areturn
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 66 0 this Lfreemarker/ext/beans/BeansWrapper;
0 66 1 list Ljava/util/List<*>;
0 66 2 arrayClass Ljava/lang/Class<*>;
0 66 3 recursionStops Ljava/util/Map<Ljava/lang/Object;Ljava/lang/Object;>;
8 10 4 retval Ljava/lang/Object;
12 66 4 componentType Ljava/lang/Class<*>;
13 66 5 array Ljava/lang/Object;
15 60 6 isComponentTypeExamined Z
16 60 7 isComponentTypeNumerical Z
17 60 8 isComponentTypeList Z
18 60 9 i I
19 60 10 it Ljava/util/Iterator<*>;
21 59 11 listItem Ljava/lang/Object;
35 37 12 listItemStr Ljava/lang/String;
50 58 12 e Ljava/lang/IllegalArgumentException;
Exception table:
from to target type
47 48 49 Class java.lang.IllegalArgumentException
14 61 61 any
Exceptions:
throws freemarker.template.TemplateModelException
Signature: (Ljava/util/List<*>;Ljava/lang/Class<*>;Ljava/util/Map<Ljava/lang/Object;Ljava/lang/Object;>;)Ljava/lang/Object;
MethodParameters:
Name Flags
list
arrayClass
recursionStops
java.util.List<?> arrayToList();
descriptor: (Ljava/lang/Object;)Ljava/util/List;
flags: (0x0000)
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
instanceof java.lang.Object[]
ifeq 5
1: aload 1
checkcast java.lang.Object[]
astore 2
start local 2 2: aload 2
arraylength
ifne 3
getstatic java.util.Collections.EMPTY_LIST:Ljava/util/List;
goto 4
StackMap locals: java.lang.Object[]
StackMap stack:
3: new freemarker.ext.beans.NonPrimitiveArrayBackedReadOnlyList
dup
aload 2
invokespecial freemarker.ext.beans.NonPrimitiveArrayBackedReadOnlyList.<init>:([Ljava/lang/Object;)V
StackMap locals:
StackMap stack: java.util.List
4: areturn
end local 2 5: StackMap locals:
StackMap stack:
aload 1
invokestatic java.lang.reflect.Array.getLength:(Ljava/lang/Object;)I
ifne 6
getstatic java.util.Collections.EMPTY_LIST:Ljava/util/List;
goto 7
StackMap locals:
StackMap stack:
6: new freemarker.ext.beans.PrimtiveArrayBackedReadOnlyList
dup
aload 1
invokespecial freemarker.ext.beans.PrimtiveArrayBackedReadOnlyList.<init>:(Ljava/lang/Object;)V
StackMap locals:
StackMap stack: java.util.List
7: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lfreemarker/ext/beans/BeansWrapper;
0 8 1 array Ljava/lang/Object;
2 5 2 objArray [Ljava/lang/Object;
Exceptions:
throws freemarker.template.TemplateModelException
Signature: (Ljava/lang/Object;)Ljava/util/List<*>;
MethodParameters:
Name Flags
array
static java.lang.Number forceUnwrappedNumberToType(java.lang.Number, java.lang.Class<?>, boolean);
descriptor: (Ljava/lang/Number;Ljava/lang/Class;Z)Ljava/lang/Number;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
if_acmpne 2
1: aload 0
areturn
2: StackMap locals:
StackMap stack:
aload 1
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
if_acmpeq 3
aload 1
ldc Ljava/lang/Integer;
if_acmpne 6
3: StackMap locals:
StackMap stack:
aload 0
instanceof java.lang.Integer
ifeq 4
aload 0
checkcast java.lang.Integer
goto 5
StackMap locals:
StackMap stack:
4: aload 0
invokevirtual java.lang.Number.intValue:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
StackMap locals:
StackMap stack: java.lang.Integer
5: areturn
6: StackMap locals:
StackMap stack:
aload 1
getstatic java.lang.Long.TYPE:Ljava/lang/Class;
if_acmpeq 7
aload 1
ldc Ljava/lang/Long;
if_acmpne 10
7: StackMap locals:
StackMap stack:
aload 0
instanceof java.lang.Long
ifeq 8
aload 0
checkcast java.lang.Long
goto 9
StackMap locals:
StackMap stack:
8: aload 0
invokevirtual java.lang.Number.longValue:()J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
StackMap locals:
StackMap stack: java.lang.Long
9: areturn
10: StackMap locals:
StackMap stack:
aload 1
getstatic java.lang.Double.TYPE:Ljava/lang/Class;
if_acmpeq 11
aload 1
ldc Ljava/lang/Double;
if_acmpne 14
11: StackMap locals:
StackMap stack:
aload 0
instanceof java.lang.Double
ifeq 12
aload 0
checkcast java.lang.Double
goto 13
StackMap locals:
StackMap stack:
12: aload 0
invokevirtual java.lang.Number.doubleValue:()D
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
StackMap locals:
StackMap stack: java.lang.Double
13: areturn
14: StackMap locals:
StackMap stack:
aload 1
ldc Ljava/math/BigDecimal;
if_acmpne 22
15: aload 0
instanceof java.math.BigDecimal
ifeq 17
16: aload 0
areturn
17: StackMap locals:
StackMap stack:
aload 0
instanceof java.math.BigInteger
ifeq 19
18: new java.math.BigDecimal
dup
aload 0
checkcast java.math.BigInteger
invokespecial java.math.BigDecimal.<init>:(Ljava/math/BigInteger;)V
areturn
19: StackMap locals:
StackMap stack:
aload 0
instanceof java.lang.Long
ifeq 21
20: aload 0
invokevirtual java.lang.Number.longValue:()J
invokestatic java.math.BigDecimal.valueOf:(J)Ljava/math/BigDecimal;
areturn
21: StackMap locals:
StackMap stack:
new java.math.BigDecimal
dup
aload 0
invokevirtual java.lang.Number.doubleValue:()D
invokespecial java.math.BigDecimal.<init>:(D)V
areturn
22: StackMap locals:
StackMap stack:
aload 1
getstatic java.lang.Float.TYPE:Ljava/lang/Class;
if_acmpeq 23
aload 1
ldc Ljava/lang/Float;
if_acmpne 26
23: StackMap locals:
StackMap stack:
aload 0
instanceof java.lang.Float
ifeq 24
aload 0
checkcast java.lang.Float
goto 25
StackMap locals:
StackMap stack:
24: aload 0
invokevirtual java.lang.Number.floatValue:()F
invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
StackMap locals:
StackMap stack: java.lang.Float
25: areturn
26: StackMap locals:
StackMap stack:
aload 1
getstatic java.lang.Byte.TYPE:Ljava/lang/Class;
if_acmpeq 27
aload 1
ldc Ljava/lang/Byte;
if_acmpne 30
27: StackMap locals:
StackMap stack:
aload 0
instanceof java.lang.Byte
ifeq 28
aload 0
checkcast java.lang.Byte
goto 29
StackMap locals:
StackMap stack:
28: aload 0
invokevirtual java.lang.Number.byteValue:()B
invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
StackMap locals:
StackMap stack: java.lang.Byte
29: areturn
30: StackMap locals:
StackMap stack:
aload 1
getstatic java.lang.Short.TYPE:Ljava/lang/Class;
if_acmpeq 31
aload 1
ldc Ljava/lang/Short;
if_acmpne 34
31: StackMap locals:
StackMap stack:
aload 0
instanceof java.lang.Short
ifeq 32
aload 0
checkcast java.lang.Short
goto 33
StackMap locals:
StackMap stack:
32: aload 0
invokevirtual java.lang.Number.shortValue:()S
invokestatic java.lang.Short.valueOf:(S)Ljava/lang/Short;
StackMap locals:
StackMap stack: java.lang.Short
33: areturn
34: StackMap locals:
StackMap stack:
aload 1
ldc Ljava/math/BigInteger;
if_acmpne 44
35: aload 0
instanceof java.math.BigInteger
ifeq 37
36: aload 0
areturn
37: StackMap locals:
StackMap stack:
iload 2
ifeq 43
38: aload 0
instanceof freemarker.ext.beans.OverloadedNumberUtil$IntegerBigDecimal
ifeq 40
39: aload 0
checkcast freemarker.ext.beans.OverloadedNumberUtil$IntegerBigDecimal
invokevirtual freemarker.ext.beans.OverloadedNumberUtil$IntegerBigDecimal.bigIntegerValue:()Ljava/math/BigInteger;
areturn
40: StackMap locals:
StackMap stack:
aload 0
instanceof java.math.BigDecimal
ifeq 42
41: aload 0
checkcast java.math.BigDecimal
invokevirtual java.math.BigDecimal.toBigInteger:()Ljava/math/BigInteger;
areturn
42: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Number.longValue:()J
invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
areturn
43: StackMap locals:
StackMap stack:
new java.math.BigInteger
dup
aload 0
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokespecial java.math.BigInteger.<init>:(Ljava/lang/String;)V
areturn
44: StackMap locals:
StackMap stack:
aload 0
instanceof freemarker.ext.beans.OverloadedNumberUtil$NumberWithFallbackType
ifeq 46
45: aload 0
checkcast freemarker.ext.beans.OverloadedNumberUtil$NumberWithFallbackType
invokevirtual freemarker.ext.beans.OverloadedNumberUtil$NumberWithFallbackType.getSourceNumber:()Ljava/lang/Number;
goto 47
StackMap locals:
StackMap stack:
46: aload 0
47: StackMap locals:
StackMap stack: java.lang.Number
astore 3
start local 3 48: aload 1
aload 3
invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
ifeq 50
49: aload 3
areturn
50: StackMap locals: java.lang.Number
StackMap stack:
aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 51 0 n Ljava/lang/Number;
0 51 1 targetType Ljava/lang/Class<*>;
0 51 2 bugfixed Z
48 51 3 oriN Ljava/lang/Number;
Signature: (Ljava/lang/Number;Ljava/lang/Class<*>;Z)Ljava/lang/Number;
MethodParameters:
Name Flags
n final
targetType final
bugfixed final
freemarker.template.TemplateModel invokeMethod(java.lang.Object, java.lang.reflect.Method, java.lang.Object[]);
descriptor: (Ljava/lang/Object;Ljava/lang/reflect/Method;[Ljava/lang/Object;)Lfreemarker/template/TemplateModel;
flags: (0x0000)
Code:
stack=3, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
aload 1
aload 3
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
astore 4
start local 4 1: aload 2
invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
if_acmpne 3
2: getstatic freemarker.template.TemplateModel.NOTHING:Lfreemarker/template/TemplateModel;
goto 4
3: StackMap locals: java.lang.Object
StackMap stack:
aload 0
invokevirtual freemarker.ext.beans.BeansWrapper.getOuterIdentity:()Lfreemarker/template/ObjectWrapper;
aload 4
invokeinterface freemarker.template.ObjectWrapper.wrap:(Ljava/lang/Object;)Lfreemarker/template/TemplateModel;
4: StackMap locals:
StackMap stack: freemarker.template.TemplateModel
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lfreemarker/ext/beans/BeansWrapper;
0 5 1 object Ljava/lang/Object;
0 5 2 method Ljava/lang/reflect/Method;
0 5 3 args [Ljava/lang/Object;
1 5 4 retval Ljava/lang/Object;
Exceptions:
throws java.lang.reflect.InvocationTargetException, java.lang.IllegalAccessException, freemarker.template.TemplateModelException
MethodParameters:
Name Flags
object
method
args
public freemarker.template.TemplateHashModel getStaticModels();
descriptor: ()Lfreemarker/template/TemplateHashModel;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield freemarker.ext.beans.BeansWrapper.staticModels:Lfreemarker/ext/beans/StaticModels;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/ext/beans/BeansWrapper;
public freemarker.template.TemplateHashModel getEnumModels();
descriptor: ()Lfreemarker/template/TemplateHashModel;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield freemarker.ext.beans.BeansWrapper.enumModels:Lfreemarker/ext/beans/ClassBasedModelFactory;
ifnonnull 4
1: new java.lang.UnsupportedOperationException
dup
2: ldc "Enums not supported before J2SE 5."
3: invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield freemarker.ext.beans.BeansWrapper.enumModels:Lfreemarker/ext/beans/ClassBasedModelFactory;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lfreemarker/ext/beans/BeansWrapper;
freemarker.ext.util.ModelCache getModelCache();
descriptor: ()Lfreemarker/ext/util/ModelCache;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield freemarker.ext.beans.BeansWrapper.modelCache:Lfreemarker/ext/util/ModelCache;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/ext/beans/BeansWrapper;
public newInstance(java.lang.Class<?>, java.util.List);
descriptor: (Ljava/lang/Class;Ljava/util/List;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield freemarker.ext.beans.BeansWrapper.classIntrospector:Lfreemarker/ext/beans/ClassIntrospector;
aload 1
invokevirtual freemarker.ext.beans.ClassIntrospector.get:(Ljava/lang/Class;)Ljava/util/Map;
getstatic freemarker.ext.beans.ClassIntrospector.CONSTRUCTORS_KEY:Ljava/lang/Object;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 3
start local 3 1: aload 3
ifnonnull 5
2: new freemarker.template.TemplateModelException
dup
new java.lang.StringBuilder
dup
ldc "Class "
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;
3: ldc " has no public constructors."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
4: invokespecial freemarker.template.TemplateModelException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: java.lang.Object
StackMap stack:
aconst_null
astore 4
start local 4 6: aload 3
instanceof freemarker.ext.beans.SimpleMethod
ifeq 15
7: aload 3
checkcast freemarker.ext.beans.SimpleMethod
astore 6
start local 6 8: aload 6
invokevirtual freemarker.ext.beans.SimpleMethod.getMember:()Ljava/lang/reflect/Member;
checkcast java.lang.reflect.Constructor
astore 4
9: aload 6
aload 2
aload 0
invokevirtual freemarker.ext.beans.SimpleMethod.unwrapArguments:(Ljava/util/List;Lfreemarker/ext/beans/BeansWrapper;)[Ljava/lang/Object;
astore 5
start local 5 10: aload 4
aload 5
invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
11: areturn
12: StackMap locals: freemarker.ext.beans.BeansWrapper java.lang.Class java.util.List java.lang.Object java.lang.reflect.Constructor java.lang.Object[] freemarker.ext.beans.SimpleMethod
StackMap stack: java.lang.Exception
astore 7
start local 7 13: aload 7
instanceof freemarker.template.TemplateModelException
ifeq 14
aload 7
checkcast freemarker.template.TemplateModelException
athrow
14: StackMap locals: java.lang.Exception
StackMap stack:
aconst_null
aload 4
aload 7
invokestatic freemarker.ext.beans._MethodUtil.newInvocationTemplateModelException:(Ljava/lang/Object;Ljava/lang/reflect/Member;Ljava/lang/Throwable;)Lfreemarker/template/TemplateModelException;
athrow
end local 7 end local 6 end local 5 15: StackMap locals:
StackMap stack:
aload 3
instanceof freemarker.ext.beans.OverloadedMethods
ifeq 22
16: aload 3
checkcast freemarker.ext.beans.OverloadedMethods
aload 2
aload 0
invokevirtual freemarker.ext.beans.OverloadedMethods.getMemberAndArguments:(Ljava/util/List;Lfreemarker/ext/beans/BeansWrapper;)Lfreemarker/ext/beans/MemberAndArguments;
astore 6
start local 6 17: aload 6
aload 0
invokevirtual freemarker.ext.beans.MemberAndArguments.invokeConstructor:(Lfreemarker/ext/beans/BeansWrapper;)Ljava/lang/Object;
18: areturn
19: StackMap locals: freemarker.ext.beans.BeansWrapper java.lang.Class java.util.List java.lang.Object java.lang.reflect.Constructor top freemarker.ext.beans.MemberAndArguments
StackMap stack: java.lang.Exception
astore 7
start local 7 20: aload 7
instanceof freemarker.template.TemplateModelException
ifeq 21
aload 7
checkcast freemarker.template.TemplateModelException
athrow
21: StackMap locals: java.lang.Exception
StackMap stack:
aconst_null
aload 6
invokevirtual freemarker.ext.beans.MemberAndArguments.getCallableMemberDescriptor:()Lfreemarker/ext/beans/CallableMemberDescriptor;
aload 7
invokestatic freemarker.ext.beans._MethodUtil.newInvocationTemplateModelException:(Ljava/lang/Object;Lfreemarker/ext/beans/CallableMemberDescriptor;Ljava/lang/Throwable;)Lfreemarker/template/TemplateModelException;
athrow
end local 7 end local 6 22: StackMap locals: freemarker.ext.beans.BeansWrapper java.lang.Class java.util.List java.lang.Object java.lang.reflect.Constructor
StackMap stack:
new freemarker.core.BugException
dup
invokespecial freemarker.core.BugException.<init>:()V
athrow
end local 4 end local 3 23: StackMap locals: freemarker.ext.beans.BeansWrapper java.lang.Class java.util.List
StackMap stack: freemarker.template.TemplateModelException
astore 3
start local 3 24: aload 3
athrow
end local 3 25: StackMap locals:
StackMap stack: java.lang.Exception
astore 3
start local 3 26: new freemarker.template.TemplateModelException
dup
27: new java.lang.StringBuilder
dup
ldc "Error while creating new instance of class "
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 "; see cause exception"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 3
28: invokespecial freemarker.template.TemplateModelException.<init>:(Ljava/lang/String;Ljava/lang/Exception;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lfreemarker/ext/beans/BeansWrapper;
0 29 1 clazz Ljava/lang/Class<*>;
0 29 2 arguments Ljava/util/List;
1 23 3 ctors Ljava/lang/Object;
6 23 4 ctor Ljava/lang/reflect/Constructor<*>;
10 15 5 objargs [Ljava/lang/Object;
8 15 6 sm Lfreemarker/ext/beans/SimpleMethod;
13 15 7 e Ljava/lang/Exception;
17 22 6 mma Lfreemarker/ext/beans/MemberAndArguments;
20 22 7 e Ljava/lang/Exception;
24 25 3 e Lfreemarker/template/TemplateModelException;
26 29 3 e Ljava/lang/Exception;
Exception table:
from to target type
10 11 12 Class java.lang.Exception
17 18 19 Class java.lang.Exception
0 11 23 Class freemarker.template.TemplateModelException
12 18 23 Class freemarker.template.TemplateModelException
19 23 23 Class freemarker.template.TemplateModelException
0 11 25 Class java.lang.Exception
12 18 25 Class java.lang.Exception
19 23 25 Class java.lang.Exception
Exceptions:
throws freemarker.template.TemplateModelException
Signature: (Ljava/lang/Class<*>;Ljava/util/List;)Ljava/lang/Object;
MethodParameters:
Name Flags
clazz
arguments
public void removeFromClassIntrospectionCache(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield freemarker.ext.beans.BeansWrapper.classIntrospector:Lfreemarker/ext/beans/ClassIntrospector;
aload 1
invokevirtual freemarker.ext.beans.ClassIntrospector.remove:(Ljava/lang/Class;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lfreemarker/ext/beans/BeansWrapper;
0 2 1 clazz Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)V
MethodParameters:
Name Flags
clazz
public void clearClassIntrospecitonCache();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield freemarker.ext.beans.BeansWrapper.classIntrospector:Lfreemarker/ext/beans/ClassIntrospector;
invokevirtual freemarker.ext.beans.ClassIntrospector.clearCache:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lfreemarker/ext/beans/BeansWrapper;
freemarker.ext.beans.ClassIntrospector getClassIntrospector();
descriptor: ()Lfreemarker/ext/beans/ClassIntrospector;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield freemarker.ext.beans.BeansWrapper.classIntrospector:Lfreemarker/ext/beans/ClassIntrospector;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/ext/beans/BeansWrapper;
protected void finetuneMethodAppearance(java.lang.Class<?>, java.lang.reflect.Method, freemarker.ext.beans.BeansWrapper$MethodAppearanceDecision);
descriptor: (Ljava/lang/Class;Ljava/lang/reflect/Method;Lfreemarker/ext/beans/BeansWrapper$MethodAppearanceDecision;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=0, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/ext/beans/BeansWrapper;
0 1 1 clazz Ljava/lang/Class<*>;
0 1 2 m Ljava/lang/reflect/Method;
0 1 3 decision Lfreemarker/ext/beans/BeansWrapper$MethodAppearanceDecision;
Signature: (Ljava/lang/Class<*>;Ljava/lang/reflect/Method;Lfreemarker/ext/beans/BeansWrapper$MethodAppearanceDecision;)V
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
clazz
m
decision
public static void coerceBigDecimals(java.lang.reflect.AccessibleObject, java.lang.Object[]);
descriptor: (Ljava/lang/reflect/AccessibleObject;[Ljava/lang/Object;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 17
3: StackMap locals: java.lang.Class[] int
StackMap stack:
aload 1
iload 3
aaload
astore 4
start local 4 4: aload 4
instanceof java.math.BigDecimal
ifeq 16
5: aload 2
ifnonnull 15
6: aload 0
instanceof java.lang.reflect.Method
ifeq 9
7: aload 0
checkcast java.lang.reflect.Method
invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
astore 2
8: goto 15
StackMap locals: java.lang.Object
StackMap stack:
9: aload 0
instanceof java.lang.reflect.Constructor
ifeq 12
10: aload 0
checkcast java.lang.reflect.Constructor
invokevirtual java.lang.reflect.Constructor.getParameterTypes:()[Ljava/lang/Class;
astore 2
11: goto 15
12: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Expected method or constructor; callable is "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
13: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
14: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
15: StackMap locals:
StackMap stack:
aload 1
iload 3
aload 4
checkcast java.math.BigDecimal
aload 2
iload 3
aaload
invokestatic freemarker.ext.beans.BeansWrapper.coerceBigDecimal:(Ljava/math/BigDecimal;Ljava/lang/Class;)Ljava/lang/Object;
aastore
end local 4 16: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
17: iload 3
aload 1
arraylength
if_icmplt 3
end local 3 18: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 callable Ljava/lang/reflect/AccessibleObject;
0 19 1 args [Ljava/lang/Object;
1 19 2 formalTypes [Ljava/lang/Class;
2 18 3 i I
4 16 4 arg Ljava/lang/Object;
MethodParameters:
Name Flags
callable
args
public static void coerceBigDecimals(java.lang.Class<?>[], []);
descriptor: ([Ljava/lang/Class;[Ljava/lang/Object;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=8, args_size=2
start local 0 start local 1 0: aload 0
arraylength
istore 2
start local 2 1: aload 1
arraylength
istore 3
start local 3 2: iload 2
iload 3
invokestatic java.lang.Math.min:(II)I
istore 4
start local 4 3: iconst_0
istore 5
start local 5 4: goto 9
5: StackMap locals: java.lang.Class[] java.lang.Object[] int int int int
StackMap stack:
aload 1
iload 5
aaload
astore 6
start local 6 6: aload 6
instanceof java.math.BigDecimal
ifeq 8
7: aload 1
iload 5
aload 6
checkcast java.math.BigDecimal
aload 0
iload 5
aaload
invokestatic freemarker.ext.beans.BeansWrapper.coerceBigDecimal:(Ljava/math/BigDecimal;Ljava/lang/Class;)Ljava/lang/Object;
aastore
end local 6 8: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
9: iload 5
iload 4
if_icmplt 5
end local 5 10: iload 3
iload 2
if_icmple 19
11: aload 0
iload 2
iconst_1
isub
aaload
astore 5
start local 5 12: iload 2
istore 6
start local 6 13: goto 18
14: StackMap locals: java.lang.Class[] java.lang.Object[] int int int java.lang.Class int
StackMap stack:
aload 1
iload 6
aaload
astore 7
start local 7 15: aload 7
instanceof java.math.BigDecimal
ifeq 17
16: aload 1
iload 6
aload 7
checkcast java.math.BigDecimal
aload 5
invokestatic freemarker.ext.beans.BeansWrapper.coerceBigDecimal:(Ljava/math/BigDecimal;Ljava/lang/Class;)Ljava/lang/Object;
aastore
end local 7 17: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
18: iload 6
iload 3
if_icmplt 14
end local 6 end local 5 19: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 formalTypes [Ljava/lang/Class;
0 20 1 args [Ljava/lang/Object;
1 20 2 typeLen I
2 20 3 argsLen I
3 20 4 min I
4 10 5 i I
6 8 6 arg Ljava/lang/Object;
12 19 5 varArgType Ljava/lang/Class<*>;
13 19 6 i I
15 17 7 arg Ljava/lang/Object;
Signature: ([Ljava/lang/Class<*>;[Ljava/lang/Object;)V
MethodParameters:
Name Flags
formalTypes
args
public static coerceBigDecimal(java.math.BigDecimal, java.lang.Class<?>);
descriptor: (Ljava/math/BigDecimal;Ljava/lang/Class;)Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
if_acmpeq 1
aload 1
ldc Ljava/lang/Integer;
if_acmpne 2
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.math.BigDecimal.intValue:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
areturn
2: StackMap locals:
StackMap stack:
aload 1
getstatic java.lang.Double.TYPE:Ljava/lang/Class;
if_acmpeq 3
aload 1
ldc Ljava/lang/Double;
if_acmpne 4
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.math.BigDecimal.doubleValue:()D
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
areturn
4: StackMap locals:
StackMap stack:
aload 1
getstatic java.lang.Long.TYPE:Ljava/lang/Class;
if_acmpeq 5
aload 1
ldc Ljava/lang/Long;
if_acmpne 6
5: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.math.BigDecimal.longValue:()J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
areturn
6: StackMap locals:
StackMap stack:
aload 1
getstatic java.lang.Float.TYPE:Ljava/lang/Class;
if_acmpeq 7
aload 1
ldc Ljava/lang/Float;
if_acmpne 8
7: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.math.BigDecimal.floatValue:()F
invokestatic java.lang.Float.valueOf:(F)Ljava/lang/Float;
areturn
8: StackMap locals:
StackMap stack:
aload 1
getstatic java.lang.Short.TYPE:Ljava/lang/Class;
if_acmpeq 9
aload 1
ldc Ljava/lang/Short;
if_acmpne 10
9: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.math.BigDecimal.shortValue:()S
invokestatic java.lang.Short.valueOf:(S)Ljava/lang/Short;
areturn
10: StackMap locals:
StackMap stack:
aload 1
getstatic java.lang.Byte.TYPE:Ljava/lang/Class;
if_acmpeq 11
aload 1
ldc Ljava/lang/Byte;
if_acmpne 12
11: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.math.BigDecimal.byteValue:()B
invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
areturn
12: StackMap locals:
StackMap stack:
ldc Ljava/math/BigInteger;
aload 1
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 14
13: aload 0
invokevirtual java.math.BigDecimal.toBigInteger:()Ljava/math/BigInteger;
areturn
14: StackMap locals:
StackMap stack:
aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 bd Ljava/math/BigDecimal;
0 15 1 formalType Ljava/lang/Class<*>;
Signature: (Ljava/math/BigDecimal;Ljava/lang/Class<*>;)Ljava/lang/Object;
MethodParameters:
Name Flags
bd
formalType
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual freemarker.ext.beans.BeansWrapper.toPropertiesString:()Ljava/lang/String;
astore 1
start local 1 1: new java.lang.StringBuilder
dup
aload 0
invokestatic freemarker.template.utility.ClassUtil.getShortClassNameOfObject:(Ljava/lang/Object;)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;
aload 0
invokestatic java.lang.System.identityHashCode:(Ljava/lang/Object;)I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
2: ldc "("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield freemarker.ext.beans.BeansWrapper.incompatibleImprovements:Lfreemarker/template/Version;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
3: aload 1
invokevirtual java.lang.String.length:()I
ifeq 4
new java.lang.StringBuilder
dup
aload 1
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;
goto 5
StackMap locals: freemarker.ext.beans.BeansWrapper java.lang.String
StackMap stack: java.lang.StringBuilder
4: ldc ""
StackMap locals: freemarker.ext.beans.BeansWrapper java.lang.String
StackMap stack: java.lang.StringBuilder java.lang.String
5: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
6: ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
7: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lfreemarker/ext/beans/BeansWrapper;
1 8 1 propsStr Ljava/lang/String;
protected java.lang.String toPropertiesString();
descriptor: ()Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "simpleMapWrapper="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield freemarker.ext.beans.BeansWrapper.simpleMapWrapper:Z
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
1: ldc "exposureLevel="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield freemarker.ext.beans.BeansWrapper.classIntrospector:Lfreemarker/ext/beans/ClassIntrospector;
invokevirtual freemarker.ext.beans.ClassIntrospector.getExposureLevel:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
2: ldc "exposeFields="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield freemarker.ext.beans.BeansWrapper.classIntrospector:Lfreemarker/ext/beans/ClassIntrospector;
invokevirtual freemarker.ext.beans.ClassIntrospector.getExposeFields:()Z
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
3: ldc "preferIndexedReadMethod="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield freemarker.ext.beans.BeansWrapper.preferIndexedReadMethod:Z
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
4: ldc "treatDefaultMethodsAsBeanMembers="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
5: aload 0
getfield freemarker.ext.beans.BeansWrapper.classIntrospector:Lfreemarker/ext/beans/ClassIntrospector;
invokevirtual freemarker.ext.beans.ClassIntrospector.getTreatDefaultMethodsAsBeanMembers:()Z
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
6: ldc "sharedClassIntrospCache="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
7: aload 0
getfield freemarker.ext.beans.BeansWrapper.classIntrospector:Lfreemarker/ext/beans/ClassIntrospector;
invokevirtual freemarker.ext.beans.ClassIntrospector.isShared:()Z
ifeq 8
new java.lang.StringBuilder
dup
ldc "@"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield freemarker.ext.beans.BeansWrapper.classIntrospector:Lfreemarker/ext/beans/ClassIntrospector;
invokestatic java.lang.System.identityHashCode:(Ljava/lang/Object;)I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
goto 9
StackMap locals:
StackMap stack: java.lang.StringBuilder
8: ldc "none"
StackMap locals: freemarker.ext.beans.BeansWrapper
StackMap stack: java.lang.StringBuilder java.lang.String
9: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
10: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lfreemarker/ext/beans/BeansWrapper;
}
SourceFile: "BeansWrapper.java"
NestMembers:
freemarker.ext.beans.BeansWrapper$1 freemarker.ext.beans.BeansWrapper$2 freemarker.ext.beans.BeansWrapper$3 freemarker.ext.beans.BeansWrapper$4 freemarker.ext.beans.BeansWrapper$5 freemarker.ext.beans.BeansWrapper$MethodAppearanceDecision freemarker.ext.beans.BeansWrapper$MethodAppearanceDecisionInput
InnerClasses:
freemarker.ext.beans.BeansWrapper$1
freemarker.ext.beans.BeansWrapper$2
freemarker.ext.beans.BeansWrapper$3
freemarker.ext.beans.BeansWrapper$4
freemarker.ext.beans.BeansWrapper$5
public final MethodAppearanceDecision = freemarker.ext.beans.BeansWrapper$MethodAppearanceDecision of freemarker.ext.beans.BeansWrapper
public final MethodAppearanceDecisionInput = freemarker.ext.beans.BeansWrapper$MethodAppearanceDecisionInput of freemarker.ext.beans.BeansWrapper
final IntegerBigDecimal = freemarker.ext.beans.OverloadedNumberUtil$IntegerBigDecimal of freemarker.ext.beans.OverloadedNumberUtil
abstract NumberWithFallbackType = freemarker.ext.beans.OverloadedNumberUtil$NumberWithFallbackType of freemarker.ext.beans.OverloadedNumberUtil