class freemarker.core.NewBI$ConstructorFunction implements freemarker.template.TemplateMethodModelEx
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: freemarker.core.NewBI$ConstructorFunction
super_class: java.lang.Object
{
private final java.lang.Class<?> cl;
descriptor: Ljava/lang/Class;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/lang/Class<*>;
private final freemarker.core.Environment env;
descriptor: Lfreemarker/core/Environment;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
final freemarker.core.NewBI this$0;
descriptor: Lfreemarker/core/NewBI;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
public void <init>(freemarker.core.NewBI, java.lang.String, freemarker.core.Environment, freemarker.template.Template);
descriptor: (Lfreemarker/core/NewBI;Ljava/lang/String;Lfreemarker/core/Environment;Lfreemarker/template/Template;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=5, args_size=5
start local 0 start local 2 start local 3 start local 4 0: aload 0
aload 1
putfield freemarker.core.NewBI$ConstructorFunction.this$0:Lfreemarker/core/NewBI;
aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 3
putfield freemarker.core.NewBI$ConstructorFunction.env:Lfreemarker/core/Environment;
2: aload 0
aload 3
invokevirtual freemarker.core.Environment.getNewBuiltinClassResolver:()Lfreemarker/core/TemplateClassResolver;
aload 2
aload 3
aload 4
invokeinterface freemarker.core.TemplateClassResolver.resolve:(Ljava/lang/String;Lfreemarker/core/Environment;Lfreemarker/template/Template;)Ljava/lang/Class;
putfield freemarker.core.NewBI$ConstructorFunction.cl:Ljava/lang/Class;
3: ldc Lfreemarker/template/TemplateModel;
aload 0
getfield freemarker.core.NewBI$ConstructorFunction.cl:Ljava/lang/Class;
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifne 7
4: new freemarker.core._MiscTemplateException
dup
aload 1
aload 3
iconst_3
anewarray java.lang.Object
dup
iconst_0
5: ldc "Class "
aastore
dup
iconst_1
aload 0
getfield freemarker.core.NewBI$ConstructorFunction.cl:Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
aastore
dup
iconst_2
ldc " does not implement freemarker.template.TemplateModel"
6: aastore
invokespecial freemarker.core._MiscTemplateException.<init>:(Lfreemarker/core/Expression;Lfreemarker/core/Environment;[Ljava/lang/Object;)V
athrow
7: StackMap locals: freemarker.core.NewBI$ConstructorFunction freemarker.core.NewBI java.lang.String freemarker.core.Environment freemarker.template.Template
StackMap stack:
ldc Lfreemarker/ext/beans/BeanModel;
aload 0
getfield freemarker.core.NewBI$ConstructorFunction.cl:Ljava/lang/Class;
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 11
8: new freemarker.core._MiscTemplateException
dup
aload 1
aload 3
iconst_3
anewarray java.lang.Object
dup
iconst_0
9: ldc "Bean Models cannot be instantiated using the ?"
aastore
dup
iconst_1
aload 1
getfield freemarker.core.NewBI.key:Ljava/lang/String;
aastore
dup
iconst_2
ldc " built-in"
10: aastore
invokespecial freemarker.core._MiscTemplateException.<init>:(Lfreemarker/core/Expression;Lfreemarker/core/Environment;[Ljava/lang/Object;)V
athrow
11: StackMap locals:
StackMap stack:
getstatic freemarker.core.NewBI.JYTHON_MODEL_CLASS:Ljava/lang/Class;
ifnull 15
getstatic freemarker.core.NewBI.JYTHON_MODEL_CLASS:Ljava/lang/Class;
aload 0
getfield freemarker.core.NewBI$ConstructorFunction.cl:Ljava/lang/Class;
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 15
12: new freemarker.core._MiscTemplateException
dup
aload 1
aload 3
iconst_3
anewarray java.lang.Object
dup
iconst_0
13: ldc "Jython Models cannot be instantiated using the ?"
aastore
dup
iconst_1
aload 1
getfield freemarker.core.NewBI.key:Ljava/lang/String;
aastore
dup
iconst_2
ldc " built-in"
14: aastore
invokespecial freemarker.core._MiscTemplateException.<init>:(Lfreemarker/core/Expression;Lfreemarker/core/Environment;[Ljava/lang/Object;)V
athrow
15: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lfreemarker/core/NewBI$ConstructorFunction;
0 16 2 classname Ljava/lang/String;
0 16 3 env Lfreemarker/core/Environment;
0 16 4 template Lfreemarker/template/Template;
Exceptions:
throws freemarker.template.TemplateException
MethodParameters:
Name Flags
this$0 final
classname
env
template
public java.lang.Object exec(java.util.List);
descriptor: (Ljava/util/List;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield freemarker.core.NewBI$ConstructorFunction.env:Lfreemarker/core/Environment;
invokevirtual freemarker.core.Environment.getObjectWrapper:()Lfreemarker/template/ObjectWrapper;
astore 2
start local 2 1: aload 2
instanceof freemarker.ext.beans.BeansWrapper
ifeq 3
2: aload 2
checkcast freemarker.ext.beans.BeansWrapper
goto 4
3: StackMap locals: freemarker.template.ObjectWrapper
StackMap stack:
invokestatic freemarker.ext.beans.BeansWrapper.getDefaultInstance:()Lfreemarker/ext/beans/BeansWrapper;
4: StackMap locals:
StackMap stack: freemarker.ext.beans.BeansWrapper
astore 3
start local 3 5: aload 3
aload 0
getfield freemarker.core.NewBI$ConstructorFunction.cl:Ljava/lang/Class;
aload 1
invokevirtual freemarker.ext.beans.BeansWrapper.newInstance:(Ljava/lang/Class;Ljava/util/List;)Ljava/lang/Object;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lfreemarker/core/NewBI$ConstructorFunction;
0 6 1 arguments Ljava/util/List;
1 6 2 ow Lfreemarker/template/ObjectWrapper;
5 6 3 bw Lfreemarker/ext/beans/BeansWrapper;
Exceptions:
throws freemarker.template.TemplateModelException
MethodParameters:
Name Flags
arguments
}
SourceFile: "NewBI.java"
NestHost: freemarker.core.NewBI
InnerClasses:
ConstructorFunction = freemarker.core.NewBI$ConstructorFunction of freemarker.core.NewBI