public class org.hibernate.hql.internal.ast.tree.IntoClause extends org.hibernate.hql.internal.ast.tree.HqlSqlWalkerNode implements org.hibernate.hql.internal.ast.tree.DisplayableNode
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.hibernate.hql.internal.ast.tree.IntoClause
  super_class: org.hibernate.hql.internal.ast.tree.HqlSqlWalkerNode
{
  private org.hibernate.persister.entity.Queryable persister;
    descriptor: Lorg/hibernate/persister/entity/Queryable;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String columnSpec;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private org.hibernate.type.Type[] types;
    descriptor: [Lorg/hibernate/type/Type;
    flags: (0x0002) ACC_PRIVATE

  private boolean discriminated;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean explicitIdInsertion;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean explicitVersionInsertion;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private java.util.Set componentIds;
    descriptor: Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE

  private java.util.List explicitComponentIds;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hibernate.hql.internal.ast.tree.IntoClause this
         0: .line 29
            aload 0 /* this */
            invokespecial org.hibernate.hql.internal.ast.tree.HqlSqlWalkerNode.<init>:()V
         1: .line 32
            aload 0 /* this */
            ldc ""
            putfield org.hibernate.hql.internal.ast.tree.IntoClause.columnSpec:Ljava/lang/String;
         2: .line 29
            return
        end local 0 // org.hibernate.hql.internal.ast.tree.IntoClause this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/hibernate/hql/internal/ast/tree/IntoClause;

  public void initialize(org.hibernate.persister.entity.Queryable);
    descriptor: (Lorg/hibernate/persister/entity/Queryable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // org.hibernate.hql.internal.ast.tree.IntoClause this
        start local 1 // org.hibernate.persister.entity.Queryable persister
         0: .line 43
            aload 1 /* persister */
            invokeinterface org.hibernate.persister.entity.Queryable.isAbstract:()Z
            ifeq 2
         1: .line 44
            new org.hibernate.QueryException
            dup
            ldc "cannot insert into abstract class (no table)"
            invokespecial org.hibernate.QueryException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 46
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* persister */
            putfield org.hibernate.hql.internal.ast.tree.IntoClause.persister:Lorg/hibernate/persister/entity/Queryable;
         3: .line 47
            aload 0 /* this */
            invokevirtual org.hibernate.hql.internal.ast.tree.IntoClause.initializeColumns:()V
         4: .line 49
            aload 0 /* this */
            invokevirtual org.hibernate.hql.internal.ast.tree.IntoClause.getWalker:()Lorg/hibernate/hql/internal/ast/HqlSqlWalker;
            invokevirtual org.hibernate.hql.internal.ast.HqlSqlWalker.getSessionFactoryHelper:()Lorg/hibernate/hql/internal/ast/util/SessionFactoryHelper;
            aload 1 /* persister */
            invokevirtual org.hibernate.hql.internal.ast.util.SessionFactoryHelper.hasPhysicalDiscriminatorColumn:(Lorg/hibernate/persister/entity/Queryable;)Z
            ifeq 7
         5: .line 50
            aload 0 /* this */
            iconst_1
            putfield org.hibernate.hql.internal.ast.tree.IntoClause.discriminated:Z
         6: .line 51
            aload 0 /* this */
            dup
            getfield org.hibernate.hql.internal.ast.tree.IntoClause.columnSpec:Ljava/lang/String;
            new java.lang.StringBuilder
            dup_x1
            swap
            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 1 /* persister */
            invokeinterface org.hibernate.persister.entity.Queryable.getDiscriminatorColumnName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putfield org.hibernate.hql.internal.ast.tree.IntoClause.columnSpec:Ljava/lang/String;
         7: .line 54
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.hibernate.hql.internal.ast.tree.IntoClause.resetText:()V
         8: .line 55
            return
        end local 1 // org.hibernate.persister.entity.Queryable persister
        end local 0 // org.hibernate.hql.internal.ast.tree.IntoClause this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0       this  Lorg/hibernate/hql/internal/ast/tree/IntoClause;
            0    9     1  persister  Lorg/hibernate/persister/entity/Queryable;
    MethodParameters:
           Name  Flags
      persister  

  private void resetText();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // org.hibernate.hql.internal.ast.tree.IntoClause this
         0: .line 58
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "into "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            invokevirtual org.hibernate.hql.internal.ast.tree.IntoClause.getTableName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " ( "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.hibernate.hql.internal.ast.tree.IntoClause.columnSpec:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " )"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.hibernate.hql.internal.ast.tree.IntoClause.setText:(Ljava/lang/String;)V
         1: .line 59
            return
        end local 0 // org.hibernate.hql.internal.ast.tree.IntoClause this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hibernate/hql/internal/ast/tree/IntoClause;

  public java.lang.String getTableName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hibernate.hql.internal.ast.tree.IntoClause this
         0: .line 62
            aload 0 /* this */
            getfield org.hibernate.hql.internal.ast.tree.IntoClause.persister:Lorg/hibernate/persister/entity/Queryable;
            iconst_0
            invokeinterface org.hibernate.persister.entity.Queryable.getSubclassTableName:(I)Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.hql.internal.ast.tree.IntoClause this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/hql/internal/ast/tree/IntoClause;

  public org.hibernate.persister.entity.Queryable getQueryable();
    descriptor: ()Lorg/hibernate/persister/entity/Queryable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.hql.internal.ast.tree.IntoClause this
         0: .line 66
            aload 0 /* this */
            getfield org.hibernate.hql.internal.ast.tree.IntoClause.persister:Lorg/hibernate/persister/entity/Queryable;
            areturn
        end local 0 // org.hibernate.hql.internal.ast.tree.IntoClause this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/hql/internal/ast/tree/IntoClause;

  public java.lang.String getEntityName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.hql.internal.ast.tree.IntoClause this
         0: .line 70
            aload 0 /* this */
            getfield org.hibernate.hql.internal.ast.tree.IntoClause.persister:Lorg/hibernate/persister/entity/Queryable;
            invokeinterface org.hibernate.persister.entity.Queryable.getEntityName:()Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.hql.internal.ast.tree.IntoClause this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/hql/internal/ast/tree/IntoClause;

  public org.hibernate.type.Type[] getInsertionTypes();
    descriptor: ()[Lorg/hibernate/type/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.hql.internal.ast.tree.IntoClause this
         0: .line 74
            aload 0 /* this */
            getfield org.hibernate.hql.internal.ast.tree.IntoClause.types:[Lorg/hibernate/type/Type;
            areturn
        end local 0 // org.hibernate.hql.internal.ast.tree.IntoClause this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/hql/internal/ast/tree/IntoClause;

  public boolean isDiscriminated();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.hql.internal.ast.tree.IntoClause this
         0: .line 78
            aload 0 /* this */
            getfield org.hibernate.hql.internal.ast.tree.IntoClause.discriminated:Z
            ireturn
        end local 0 // org.hibernate.hql.internal.ast.tree.IntoClause this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/hql/internal/ast/tree/IntoClause;

  public boolean isExplicitIdInsertion();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.hql.internal.ast.tree.IntoClause this
         0: .line 82
            aload 0 /* this */
            getfield org.hibernate.hql.internal.ast.tree.IntoClause.explicitIdInsertion:Z
            ireturn
        end local 0 // org.hibernate.hql.internal.ast.tree.IntoClause this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/hql/internal/ast/tree/IntoClause;

  public boolean isExplicitVersionInsertion();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.hql.internal.ast.tree.IntoClause this
         0: .line 86
            aload 0 /* this */
            getfield org.hibernate.hql.internal.ast.tree.IntoClause.explicitVersionInsertion:Z
            ireturn
        end local 0 // org.hibernate.hql.internal.ast.tree.IntoClause this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/hql/internal/ast/tree/IntoClause;

  public void prependIdColumnSpec();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.hibernate.hql.internal.ast.tree.IntoClause this
         0: .line 90
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield org.hibernate.hql.internal.ast.tree.IntoClause.persister:Lorg/hibernate/persister/entity/Queryable;
            invokeinterface org.hibernate.persister.entity.Queryable.getIdentifierColumnNames:()[Ljava/lang/String;
            iconst_0
            aaload
            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 /* this */
            getfield org.hibernate.hql.internal.ast.tree.IntoClause.columnSpec:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putfield org.hibernate.hql.internal.ast.tree.IntoClause.columnSpec:Ljava/lang/String;
         1: .line 91
            aload 0 /* this */
            invokevirtual org.hibernate.hql.internal.ast.tree.IntoClause.resetText:()V
         2: .line 92
            return
        end local 0 // org.hibernate.hql.internal.ast.tree.IntoClause this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/hibernate/hql/internal/ast/tree/IntoClause;

  public void prependVersionColumnSpec();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // org.hibernate.hql.internal.ast.tree.IntoClause this
         0: .line 95
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield org.hibernate.hql.internal.ast.tree.IntoClause.persister:Lorg/hibernate/persister/entity/Queryable;
            aload 0 /* this */
            getfield org.hibernate.hql.internal.ast.tree.IntoClause.persister:Lorg/hibernate/persister/entity/Queryable;
            invokeinterface org.hibernate.persister.entity.Queryable.getVersionProperty:()I
            invokeinterface org.hibernate.persister.entity.Queryable.getPropertyColumnNames:(I)[Ljava/lang/String;
            iconst_0
            aaload
            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 /* this */
            getfield org.hibernate.hql.internal.ast.tree.IntoClause.columnSpec:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putfield org.hibernate.hql.internal.ast.tree.IntoClause.columnSpec:Ljava/lang/String;
         1: .line 96
            aload 0 /* this */
            invokevirtual org.hibernate.hql.internal.ast.tree.IntoClause.resetText:()V
         2: .line 97
            return
        end local 0 // org.hibernate.hql.internal.ast.tree.IntoClause this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/hibernate/hql/internal/ast/tree/IntoClause;

  public void validateTypes(org.hibernate.hql.internal.ast.tree.SelectClause);
    descriptor: (Lorg/hibernate/hql/internal/ast/tree/SelectClause;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=2
        start local 0 // org.hibernate.hql.internal.ast.tree.IntoClause this
        start local 1 // org.hibernate.hql.internal.ast.tree.SelectClause selectClause
         0: .line 100
            aload 1 /* selectClause */
            invokevirtual org.hibernate.hql.internal.ast.tree.SelectClause.getQueryReturnTypes:()[Lorg/hibernate/type/Type;
            astore 2 /* selectTypes */
        start local 2 // org.hibernate.type.Type[] selectTypes
         1: .line 101
            aload 2 /* selectTypes */
            arraylength
            aload 1 /* selectClause */
            invokevirtual org.hibernate.hql.internal.ast.tree.SelectClause.getTotalParameterCount:()I
            iadd
            aload 0 /* this */
            getfield org.hibernate.hql.internal.ast.tree.IntoClause.types:[Lorg/hibernate/type/Type;
            arraylength
            if_icmpeq 3
         2: .line 102
            new org.hibernate.QueryException
            dup
            ldc "number of select types did not match those for insert"
            invokespecial org.hibernate.QueryException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 105
      StackMap locals: org.hibernate.type.Type[]
      StackMap stack:
            iconst_0
            istore 3 /* parameterCount */
        start local 3 // int parameterCount
         4: .line 106
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         5: goto 16
         6: .line 107
      StackMap locals: int int
      StackMap stack:
            aload 1 /* selectClause */
            invokevirtual org.hibernate.hql.internal.ast.tree.SelectClause.getParameterPositions:()Ljava/util/List;
            iload 4 /* i */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifeq 9
         7: .line 108
            iinc 3 /* parameterCount */ 1
         8: .line 109
            goto 15
         9: .line 110
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.hql.internal.ast.tree.IntoClause.types:[Lorg/hibernate/type/Type;
            iload 4 /* i */
            aaload
            aload 2 /* selectTypes */
            iload 4 /* i */
            iload 3 /* parameterCount */
            isub
            aaload
            invokevirtual org.hibernate.hql.internal.ast.tree.IntoClause.areCompatible:(Lorg/hibernate/type/Type;Lorg/hibernate/type/Type;)Z
            ifne 15
        10: .line 111
            new org.hibernate.QueryException
            dup
        11: .line 112
            new java.lang.StringBuilder
            dup
            ldc "insertion type ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.hibernate.hql.internal.ast.tree.IntoClause.types:[Lorg/hibernate/type/Type;
            iload 4 /* i */
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "] and selection type ["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        12: .line 113
            aload 2 /* selectTypes */
            iload 4 /* i */
            iload 3 /* parameterCount */
            isub
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "] at position "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 4 /* i */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " are not compatible"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        13: .line 112
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        14: .line 111
            invokespecial org.hibernate.QueryException.<init>:(Ljava/lang/String;)V
            athrow
        15: .line 106
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 4 /* i */
            aload 0 /* this */
            getfield org.hibernate.hql.internal.ast.tree.IntoClause.types:[Lorg/hibernate/type/Type;
            arraylength
            if_icmplt 6
        end local 4 // int i
        17: .line 119
            return
        end local 3 // int parameterCount
        end local 2 // org.hibernate.type.Type[] selectTypes
        end local 1 // org.hibernate.hql.internal.ast.tree.SelectClause selectClause
        end local 0 // org.hibernate.hql.internal.ast.tree.IntoClause this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   18     0            this  Lorg/hibernate/hql/internal/ast/tree/IntoClause;
            0   18     1    selectClause  Lorg/hibernate/hql/internal/ast/tree/SelectClause;
            1   18     2     selectTypes  [Lorg/hibernate/type/Type;
            4   18     3  parameterCount  I
            5   17     4               i  I
    Exceptions:
      throws org.hibernate.QueryException
    MethodParameters:
              Name  Flags
      selectClause  

  public java.lang.String getDisplayText();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.hibernate.hql.internal.ast.tree.IntoClause this
         0: .line 127
            new java.lang.StringBuilder
            dup
            ldc "IntoClause{entityName="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         1: .line 128
            aload 0 /* this */
            invokevirtual org.hibernate.hql.internal.ast.tree.IntoClause.getEntityName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 129
            ldc ",tableName="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            invokevirtual org.hibernate.hql.internal.ast.tree.IntoClause.getTableName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 130
            ldc ",columns={"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.hibernate.hql.internal.ast.tree.IntoClause.columnSpec:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "}"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 131
            ldc "}"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 127
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.hql.internal.ast.tree.IntoClause this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/hibernate/hql/internal/ast/tree/IntoClause;

  private void initializeColumns();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // org.hibernate.hql.internal.ast.tree.IntoClause this
         0: .line 135
            aload 0 /* this */
            invokevirtual org.hibernate.hql.internal.ast.tree.IntoClause.getFirstChild:()Lantlr/collections/AST;
            astore 1 /* propertySpec */
        start local 1 // antlr.collections.AST propertySpec
         1: .line 136
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* types */
        start local 2 // java.util.List types
         2: .line 137
            aload 0 /* this */
            aload 1 /* propertySpec */
            invokeinterface antlr.collections.AST.getFirstChild:()Lantlr/collections/AST;
            aload 2 /* types */
            invokevirtual org.hibernate.hql.internal.ast.tree.IntoClause.visitPropertySpecNodes:(Lantlr/collections/AST;Ljava/util/List;)V
         3: .line 138
            aload 0 /* this */
            aload 2 /* types */
            invokestatic org.hibernate.internal.util.collections.ArrayHelper.toTypeArray:(Ljava/util/Collection;)[Lorg/hibernate/type/Type;
            putfield org.hibernate.hql.internal.ast.tree.IntoClause.types:[Lorg/hibernate/type/Type;
         4: .line 139
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.hql.internal.ast.tree.IntoClause.columnSpec:Ljava/lang/String;
            iconst_0
            aload 0 /* this */
            getfield org.hibernate.hql.internal.ast.tree.IntoClause.columnSpec:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            iconst_2
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            putfield org.hibernate.hql.internal.ast.tree.IntoClause.columnSpec:Ljava/lang/String;
         5: .line 140
            return
        end local 2 // java.util.List types
        end local 1 // antlr.collections.AST propertySpec
        end local 0 // org.hibernate.hql.internal.ast.tree.IntoClause this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    6     0          this  Lorg/hibernate/hql/internal/ast/tree/IntoClause;
            1    6     1  propertySpec  Lantlr/collections/AST;
            2    6     2         types  Ljava/util/List;

  private void visitPropertySpecNodes(antlr.collections.AST, java.util.List);
    descriptor: (Lantlr/collections/AST;Ljava/util/List;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // org.hibernate.hql.internal.ast.tree.IntoClause this
        start local 1 // antlr.collections.AST propertyNode
        start local 2 // java.util.List types
         0: .line 143
            aload 1 /* propertyNode */
            ifnonnull 2
         1: .line 144
            return
         2: .line 154
      StackMap locals:
      StackMap stack:
            aload 1 /* propertyNode */
            invokeinterface antlr.collections.AST.getText:()Ljava/lang/String;
            astore 3 /* name */
        start local 3 // java.lang.String name
         3: .line 155
            aload 0 /* this */
            aload 3 /* name */
            invokevirtual org.hibernate.hql.internal.ast.tree.IntoClause.isSuperclassProperty:(Ljava/lang/String;)Z
            ifeq 5
         4: .line 156
            new org.hibernate.QueryException
            dup
            new java.lang.StringBuilder
            dup
            ldc "INSERT statements cannot refer to superclass/joined properties ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial org.hibernate.QueryException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 159
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.hql.internal.ast.tree.IntoClause.explicitIdInsertion:Z
            ifne 25
         6: .line 160
            aload 0 /* this */
            getfield org.hibernate.hql.internal.ast.tree.IntoClause.persister:Lorg/hibernate/persister/entity/Queryable;
            invokeinterface org.hibernate.persister.entity.Queryable.getIdentifierType:()Lorg/hibernate/type/Type;
            instanceof org.hibernate.type.CompositeType
            ifeq 23
         7: .line 161
            aload 0 /* this */
            getfield org.hibernate.hql.internal.ast.tree.IntoClause.componentIds:Ljava/util/Set;
            ifnonnull 15
         8: .line 162
            aload 0 /* this */
            getfield org.hibernate.hql.internal.ast.tree.IntoClause.persister:Lorg/hibernate/persister/entity/Queryable;
            invokeinterface org.hibernate.persister.entity.Queryable.getIdentifierType:()Lorg/hibernate/type/Type;
            checkcast org.hibernate.type.CompositeType
            invokeinterface org.hibernate.type.CompositeType.getPropertyNames:()[Ljava/lang/String;
            astore 4 /* propertyNames */
        start local 4 // java.lang.String[] propertyNames
         9: .line 163
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.hibernate.hql.internal.ast.tree.IntoClause.componentIds:Ljava/util/Set;
        10: .line 164
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        11: goto 14
        12: .line 165
      StackMap locals: java.lang.String[] int
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.hql.internal.ast.tree.IntoClause.componentIds:Ljava/util/Set;
            aload 4 /* propertyNames */
            iload 5 /* i */
            aaload
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        13: .line 164
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 5 /* i */
            aload 4 /* propertyNames */
            arraylength
            if_icmplt 12
        end local 5 // int i
        end local 4 // java.lang.String[] propertyNames
        15: .line 168
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.hql.internal.ast.tree.IntoClause.componentIds:Ljava/util/Set;
            aload 3 /* name */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 25
        16: .line 169
            aload 0 /* this */
            getfield org.hibernate.hql.internal.ast.tree.IntoClause.explicitComponentIds:Ljava/util/List;
            ifnonnull 18
        17: .line 170
            aload 0 /* this */
            new java.util.ArrayList
            dup
            aload 0 /* this */
            getfield org.hibernate.hql.internal.ast.tree.IntoClause.componentIds:Ljava/util/Set;
            invokeinterface java.util.Set.size:()I
            invokespecial java.util.ArrayList.<init>:(I)V
            putfield org.hibernate.hql.internal.ast.tree.IntoClause.explicitComponentIds:Ljava/util/List;
        18: .line 172
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.hql.internal.ast.tree.IntoClause.explicitComponentIds:Ljava/util/List;
            aload 3 /* name */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        19: .line 173
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.hql.internal.ast.tree.IntoClause.explicitComponentIds:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            aload 0 /* this */
            getfield org.hibernate.hql.internal.ast.tree.IntoClause.componentIds:Ljava/util/Set;
            invokeinterface java.util.Set.size:()I
            if_icmpne 20
            iconst_1
            goto 21
      StackMap locals:
      StackMap stack: org.hibernate.hql.internal.ast.tree.IntoClause
        20: iconst_0
      StackMap locals: org.hibernate.hql.internal.ast.tree.IntoClause antlr.collections.AST java.util.List java.lang.String
      StackMap stack: org.hibernate.hql.internal.ast.tree.IntoClause int
        21: putfield org.hibernate.hql.internal.ast.tree.IntoClause.explicitIdInsertion:Z
        22: .line 175
            goto 25
        23: .line 176
      StackMap locals:
      StackMap stack:
            aload 3 /* name */
            aload 0 /* this */
            getfield org.hibernate.hql.internal.ast.tree.IntoClause.persister:Lorg/hibernate/persister/entity/Queryable;
            invokeinterface org.hibernate.persister.entity.Queryable.getIdentifierPropertyName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 25
        24: .line 177
            aload 0 /* this */
            iconst_1
            putfield org.hibernate.hql.internal.ast.tree.IntoClause.explicitIdInsertion:Z
        25: .line 181
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.hql.internal.ast.tree.IntoClause.persister:Lorg/hibernate/persister/entity/Queryable;
            invokeinterface org.hibernate.persister.entity.Queryable.isVersioned:()Z
            ifeq 28
        26: .line 182
            aload 3 /* name */
            aload 0 /* this */
            getfield org.hibernate.hql.internal.ast.tree.IntoClause.persister:Lorg/hibernate/persister/entity/Queryable;
            invokeinterface org.hibernate.persister.entity.Queryable.getPropertyNames:()[Ljava/lang/String;
            aload 0 /* this */
            getfield org.hibernate.hql.internal.ast.tree.IntoClause.persister:Lorg/hibernate/persister/entity/Queryable;
            invokeinterface org.hibernate.persister.entity.Queryable.getVersionProperty:()I
            aaload
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 28
        27: .line 183
            aload 0 /* this */
            iconst_1
            putfield org.hibernate.hql.internal.ast.tree.IntoClause.explicitVersionInsertion:Z
        28: .line 187
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.hql.internal.ast.tree.IntoClause.persister:Lorg/hibernate/persister/entity/Queryable;
            aload 3 /* name */
            invokeinterface org.hibernate.persister.entity.Queryable.toColumns:(Ljava/lang/String;)[Ljava/lang/String;
            astore 4 /* columnNames */
        start local 4 // java.lang.String[] columnNames
        29: .line 188
            aload 0 /* this */
            aload 4 /* columnNames */
            invokevirtual org.hibernate.hql.internal.ast.tree.IntoClause.renderColumns:([Ljava/lang/String;)V
        30: .line 189
            aload 2 /* types */
            aload 0 /* this */
            getfield org.hibernate.hql.internal.ast.tree.IntoClause.persister:Lorg/hibernate/persister/entity/Queryable;
            aload 3 /* name */
            invokeinterface org.hibernate.persister.entity.Queryable.toType:(Ljava/lang/String;)Lorg/hibernate/type/Type;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        31: .line 192
            aload 0 /* this */
            aload 1 /* propertyNode */
            invokeinterface antlr.collections.AST.getNextSibling:()Lantlr/collections/AST;
            aload 2 /* types */
            invokevirtual org.hibernate.hql.internal.ast.tree.IntoClause.visitPropertySpecNodes:(Lantlr/collections/AST;Ljava/util/List;)V
        32: .line 193
            aload 0 /* this */
            aload 1 /* propertyNode */
            invokeinterface antlr.collections.AST.getFirstChild:()Lantlr/collections/AST;
            aload 2 /* types */
            invokevirtual org.hibernate.hql.internal.ast.tree.IntoClause.visitPropertySpecNodes:(Lantlr/collections/AST;Ljava/util/List;)V
        33: .line 194
            return
        end local 4 // java.lang.String[] columnNames
        end local 3 // java.lang.String name
        end local 2 // java.util.List types
        end local 1 // antlr.collections.AST propertyNode
        end local 0 // org.hibernate.hql.internal.ast.tree.IntoClause this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   34     0           this  Lorg/hibernate/hql/internal/ast/tree/IntoClause;
            0   34     1   propertyNode  Lantlr/collections/AST;
            0   34     2          types  Ljava/util/List;
            3   34     3           name  Ljava/lang/String;
            9   15     4  propertyNames  [Ljava/lang/String;
           11   15     5              i  I
           29   34     4    columnNames  [Ljava/lang/String;
    MethodParameters:
              Name  Flags
      propertyNode  
      types         

  private void renderColumns(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.hibernate.hql.internal.ast.tree.IntoClause this
        start local 1 // java.lang.String[] columnNames
         0: .line 197
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: goto 4
         2: .line 198
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            dup
            getfield org.hibernate.hql.internal.ast.tree.IntoClause.columnSpec:Ljava/lang/String;
            new java.lang.StringBuilder
            dup_x1
            swap
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* columnNames */
            iload 2 /* i */
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putfield org.hibernate.hql.internal.ast.tree.IntoClause.columnSpec:Ljava/lang/String;
         3: .line 197
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         4: iload 2 /* i */
            aload 1 /* columnNames */
            arraylength
            if_icmplt 2
        end local 2 // int i
         5: .line 200
            return
        end local 1 // java.lang.String[] columnNames
        end local 0 // org.hibernate.hql.internal.ast.tree.IntoClause this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0         this  Lorg/hibernate/hql/internal/ast/tree/IntoClause;
            0    6     1  columnNames  [Ljava/lang/String;
            1    5     2            i  I
    MethodParameters:
             Name  Flags
      columnNames  

  private boolean isSuperclassProperty(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.hql.internal.ast.tree.IntoClause this
        start local 1 // java.lang.String propertyName
         0: .line 214
            aload 0 /* this */
            getfield org.hibernate.hql.internal.ast.tree.IntoClause.persister:Lorg/hibernate/persister/entity/Queryable;
            aload 1 /* propertyName */
            invokeinterface org.hibernate.persister.entity.Queryable.getSubclassPropertyTableNumber:(Ljava/lang/String;)I
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // java.lang.String propertyName
        end local 0 // org.hibernate.hql.internal.ast.tree.IntoClause this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lorg/hibernate/hql/internal/ast/tree/IntoClause;
            0    2     1  propertyName  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      propertyName  

  private boolean areCompatible(org.hibernate.type.Type, org.hibernate.type.Type);
    descriptor: (Lorg/hibernate/type/Type;Lorg/hibernate/type/Type;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // org.hibernate.hql.internal.ast.tree.IntoClause this
        start local 1 // org.hibernate.type.Type target
        start local 2 // org.hibernate.type.Type source
         0: .line 226
            aload 1 /* target */
            aload 2 /* source */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 228
            iconst_1
            ireturn
         2: .line 233
      StackMap locals:
      StackMap stack:
            aload 1 /* target */
            invokeinterface org.hibernate.type.Type.getReturnedClass:()Ljava/lang/Class;
            aload 2 /* source */
            invokeinterface org.hibernate.type.Type.getReturnedClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifne 4
         3: .line 234
            iconst_0
            ireturn
         4: .line 237
      StackMap locals:
      StackMap stack:
            aload 1 /* target */
            aload 0 /* this */
            invokevirtual org.hibernate.hql.internal.ast.tree.IntoClause.getSessionFactoryHelper:()Lorg/hibernate/hql/internal/ast/util/SessionFactoryHelper;
            invokevirtual org.hibernate.hql.internal.ast.util.SessionFactoryHelper.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.type.Type.sqlTypes:(Lorg/hibernate/engine/spi/Mapping;)[I
            astore 3 /* targetDatatypes */
        start local 3 // int[] targetDatatypes
         5: .line 238
            aload 2 /* source */
            aload 0 /* this */
            invokevirtual org.hibernate.hql.internal.ast.tree.IntoClause.getSessionFactoryHelper:()Lorg/hibernate/hql/internal/ast/util/SessionFactoryHelper;
            invokevirtual org.hibernate.hql.internal.ast.util.SessionFactoryHelper.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.type.Type.sqlTypes:(Lorg/hibernate/engine/spi/Mapping;)[I
            astore 4 /* sourceDatatypes */
        start local 4 // int[] sourceDatatypes
         6: .line 240
            aload 3 /* targetDatatypes */
            arraylength
            aload 4 /* sourceDatatypes */
            arraylength
            if_icmpeq 8
         7: .line 241
            iconst_0
            ireturn
         8: .line 244
      StackMap locals: int[] int[]
      StackMap stack:
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         9: goto 13
        10: .line 245
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 3 /* targetDatatypes */
            iload 5 /* i */
            iaload
            aload 4 /* sourceDatatypes */
            iload 5 /* i */
            iaload
            invokevirtual org.hibernate.hql.internal.ast.tree.IntoClause.areSqlTypesCompatible:(II)Z
            ifne 12
        11: .line 246
            iconst_0
            ireturn
        12: .line 244
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 5 /* i */
            aload 3 /* targetDatatypes */
            arraylength
            if_icmplt 10
        end local 5 // int i
        14: .line 250
            iconst_1
            ireturn
        end local 4 // int[] sourceDatatypes
        end local 3 // int[] targetDatatypes
        end local 2 // org.hibernate.type.Type source
        end local 1 // org.hibernate.type.Type target
        end local 0 // org.hibernate.hql.internal.ast.tree.IntoClause this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   15     0             this  Lorg/hibernate/hql/internal/ast/tree/IntoClause;
            0   15     1           target  Lorg/hibernate/type/Type;
            0   15     2           source  Lorg/hibernate/type/Type;
            5   15     3  targetDatatypes  [I
            6   15     4  sourceDatatypes  [I
            9   14     5                i  I
    MethodParameters:
        Name  Flags
      target  
      source  

  private boolean areSqlTypesCompatible(int, int);
    descriptor: (II)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.hibernate.hql.internal.ast.tree.IntoClause this
        start local 1 // int target
        start local 2 // int source
         0: .line 254
            iload 1 /* target */
            tableswitch { // 91 - 93
                   91: 3
                   92: 5
                   93: 1
              default: 7
          }
         1: .line 256
      StackMap locals:
      StackMap stack:
            iload 2 /* source */
            bipush 91
            if_icmpeq 2
            iload 2 /* source */
            bipush 92
            if_icmpeq 2
            iload 2 /* source */
            bipush 93
            if_icmpeq 2
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_1
            ireturn
         3: .line 258
      StackMap locals:
      StackMap stack:
            iload 2 /* source */
            bipush 91
            if_icmpeq 4
            iload 2 /* source */
            bipush 93
            if_icmpeq 4
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         4: iconst_1
            ireturn
         5: .line 260
      StackMap locals:
      StackMap stack:
            iload 2 /* source */
            bipush 92
            if_icmpeq 6
            iload 2 /* source */
            bipush 93
            if_icmpeq 6
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         6: iconst_1
            ireturn
         7: .line 262
      StackMap locals:
      StackMap stack:
            iload 1 /* target */
            iload 2 /* source */
            if_icmpne 8
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         8: iconst_0
            ireturn
        end local 2 // int source
        end local 1 // int target
        end local 0 // org.hibernate.hql.internal.ast.tree.IntoClause this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Lorg/hibernate/hql/internal/ast/tree/IntoClause;
            0    9     1  target  I
            0    9     2  source  I
    MethodParameters:
        Name  Flags
      target  
      source  
}
SourceFile: "IntoClause.java"