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 // freemarker.core.NewBI$ConstructorFunction this
        start local 2 // java.lang.String classname
        start local 3 // freemarker.core.Environment env
        start local 4 // freemarker.template.Template template
         0: .line 59
            aload 0 /* this */
            aload 1
            putfield freemarker.core.NewBI$ConstructorFunction.this$0:Lfreemarker/core/NewBI;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 60
            aload 0 /* this */
            aload 3 /* env */
            putfield freemarker.core.NewBI$ConstructorFunction.env:Lfreemarker/core/Environment;
         2: .line 61
            aload 0 /* this */
            aload 3 /* env */
            invokevirtual freemarker.core.Environment.getNewBuiltinClassResolver:()Lfreemarker/core/TemplateClassResolver;
            aload 2 /* classname */
            aload 3 /* env */
            aload 4 /* template */
            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: .line 62
            ldc Lfreemarker/template/TemplateModel;
            aload 0 /* this */
            getfield freemarker.core.NewBI$ConstructorFunction.cl:Ljava/lang/Class;
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifne 7
         4: .line 63
            new freemarker.core._MiscTemplateException
            dup
            aload 1
            aload 3 /* env */
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
         5: .line 64
            ldc "Class "
            aastore
            dup
            iconst_1
            aload 0 /* this */
            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: .line 63
            aastore
            invokespecial freemarker.core._MiscTemplateException.<init>:(Lfreemarker/core/Expression;Lfreemarker/core/Environment;[Ljava/lang/Object;)V
            athrow
         7: .line 66
      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 /* this */
            getfield freemarker.core.NewBI$ConstructorFunction.cl:Ljava/lang/Class;
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 11
         8: .line 67
            new freemarker.core._MiscTemplateException
            dup
            aload 1
            aload 3 /* env */
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
         9: .line 68
            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: .line 67
            aastore
            invokespecial freemarker.core._MiscTemplateException.<init>:(Lfreemarker/core/Expression;Lfreemarker/core/Environment;[Ljava/lang/Object;)V
            athrow
        11: .line 70
      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 /* this */
            getfield freemarker.core.NewBI$ConstructorFunction.cl:Ljava/lang/Class;
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 15
        12: .line 71
            new freemarker.core._MiscTemplateException
            dup
            aload 1
            aload 3 /* env */
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
        13: .line 72
            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: .line 71
            aastore
            invokespecial freemarker.core._MiscTemplateException.<init>:(Lfreemarker/core/Expression;Lfreemarker/core/Environment;[Ljava/lang/Object;)V
            athrow
        15: .line 74
      StackMap locals:
      StackMap stack:
            return
        end local 4 // freemarker.template.Template template
        end local 3 // freemarker.core.Environment env
        end local 2 // java.lang.String classname
        end local 0 // freemarker.core.NewBI$ConstructorFunction this
      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 // freemarker.core.NewBI$ConstructorFunction this
        start local 1 // java.util.List arguments
         0: .line 77
            aload 0 /* this */
            getfield freemarker.core.NewBI$ConstructorFunction.env:Lfreemarker/core/Environment;
            invokevirtual freemarker.core.Environment.getObjectWrapper:()Lfreemarker/template/ObjectWrapper;
            astore 2 /* ow */
        start local 2 // freemarker.template.ObjectWrapper ow
         1: .line 79
            aload 2 /* ow */
            instanceof freemarker.ext.beans.BeansWrapper
            ifeq 3
         2: .line 80
            aload 2 /* ow */
            checkcast freemarker.ext.beans.BeansWrapper
            goto 4
         3: .line 81
      StackMap locals: freemarker.template.ObjectWrapper
      StackMap stack:
            invokestatic freemarker.ext.beans.BeansWrapper.getDefaultInstance:()Lfreemarker/ext/beans/BeansWrapper;
         4: .line 78
      StackMap locals:
      StackMap stack: freemarker.ext.beans.BeansWrapper
            astore 3 /* bw */
        start local 3 // freemarker.ext.beans.BeansWrapper bw
         5: .line 82
            aload 3 /* bw */
            aload 0 /* this */
            getfield freemarker.core.NewBI$ConstructorFunction.cl:Ljava/lang/Class;
            aload 1 /* arguments */
            invokevirtual freemarker.ext.beans.BeansWrapper.newInstance:(Ljava/lang/Class;Ljava/util/List;)Ljava/lang/Object;
            areturn
        end local 3 // freemarker.ext.beans.BeansWrapper bw
        end local 2 // freemarker.template.ObjectWrapper ow
        end local 1 // java.util.List arguments
        end local 0 // freemarker.core.NewBI$ConstructorFunction this
      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