public class org.hibernate.procedure.internal.Util
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.hibernate.procedure.internal.Util
  super_class: java.lang.Object
{
  private static final org.jboss.logging.Logger log;
    descriptor: Lorg/jboss/logging/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 30
            ldc Lorg/hibernate/procedure/internal/Util;
            invokestatic org.jboss.logging.Logger.getLogger:(Ljava/lang/Class;)Lorg/jboss/logging/Logger;
            putstatic org.hibernate.procedure.internal.Util.log:Lorg/jboss/logging/Logger;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.procedure.internal.Util this
         0: .line 32
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 33
            return
        end local 0 // org.hibernate.procedure.internal.Util this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hibernate/procedure/internal/Util;

  public static org.hibernate.engine.query.spi.sql.NativeSQLQueryReturn[] copy(org.hibernate.engine.query.spi.sql.NativeSQLQueryReturn[]);
    descriptor: ([Lorg/hibernate/engine/query/spi/sql/NativeSQLQueryReturn;)[Lorg/hibernate/engine/query/spi/sql/NativeSQLQueryReturn;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // org.hibernate.engine.query.spi.sql.NativeSQLQueryReturn[] queryReturns
         0: .line 43
            aload 0 /* queryReturns */
            ifnonnull 2
         1: .line 44
            iconst_0
            anewarray org.hibernate.engine.query.spi.sql.NativeSQLQueryReturn
            areturn
         2: .line 47
      StackMap locals:
      StackMap stack:
            aload 0 /* queryReturns */
            arraylength
            anewarray org.hibernate.engine.query.spi.sql.NativeSQLQueryReturn
            astore 1 /* copy */
        start local 1 // org.hibernate.engine.query.spi.sql.NativeSQLQueryReturn[] copy
         3: .line 48
            aload 0 /* queryReturns */
            iconst_0
            aload 1 /* copy */
            iconst_0
            aload 0 /* queryReturns */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         4: .line 49
            aload 1 /* copy */
            areturn
        end local 1 // org.hibernate.engine.query.spi.sql.NativeSQLQueryReturn[] copy
        end local 0 // org.hibernate.engine.query.spi.sql.NativeSQLQueryReturn[] queryReturns
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0  queryReturns  [Lorg/hibernate/engine/query/spi/sql/NativeSQLQueryReturn;
            3    5     1          copy  [Lorg/hibernate/engine/query/spi/sql/NativeSQLQueryReturn;
    MethodParameters:
              Name  Flags
      queryReturns  

  public static java.util.Set<java.lang.String> copy(java.util.Set<java.lang.String>);
    descriptor: (Ljava/util/Set;)Ljava/util/Set;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.util.Set synchronizedQuerySpaces
         0: .line 60
            aload 0 /* synchronizedQuerySpaces */
            invokestatic org.hibernate.internal.util.collections.CollectionHelper.makeCopy:(Ljava/util/Set;)Ljava/util/Set;
            areturn
        end local 0 // java.util.Set synchronizedQuerySpaces
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    1     0  synchronizedQuerySpaces  Ljava/util/Set<Ljava/lang/String;>;
    Signature: (Ljava/util/Set<Ljava/lang/String;>;)Ljava/util/Set<Ljava/lang/String;>;
    MethodParameters:
                         Name  Flags
      synchronizedQuerySpaces  

  public static java.util.Map<java.lang.String, java.lang.Object> copy(java.util.Map<java.lang.String, java.lang.Object>);
    descriptor: (Ljava/util/Map;)Ljava/util/Map;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.util.Map hints
         0: .line 71
            aload 0 /* hints */
            invokestatic org.hibernate.internal.util.collections.CollectionHelper.makeCopy:(Ljava/util/Map;)Ljava/util/Map;
            areturn
        end local 0 // java.util.Map hints
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  hints  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
    Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;)Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
    MethodParameters:
       Name  Flags
      hints  

  public static void resolveResultSetMappings(org.hibernate.procedure.internal.Util$ResultSetMappingResolutionContext, java.lang.String[]);
    descriptor: (Lorg/hibernate/procedure/internal/Util$ResultSetMappingResolutionContext;[Ljava/lang/String;)V
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=5, locals=9, args_size=2
        start local 0 // org.hibernate.procedure.internal.Util$ResultSetMappingResolutionContext context
        start local 1 // java.lang.String[] resultSetMappingNames
         0: .line 116
            aload 1 /* resultSetMappingNames */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 13
      StackMap locals: org.hibernate.procedure.internal.Util$ResultSetMappingResolutionContext java.lang.String[] top int int java.lang.String[]
      StackMap stack:
         1: aload 5
            iload 3
            aaload
            astore 2 /* resultSetMappingName */
        start local 2 // java.lang.String resultSetMappingName
         2: .line 117
            getstatic org.hibernate.procedure.internal.Util.log:Lorg/jboss/logging/Logger;
            ldc "Starting attempt resolve named result-set-mapping : %s"
            aload 2 /* resultSetMappingName */
            invokevirtual org.jboss.logging.Logger.tracef:(Ljava/lang/String;Ljava/lang/Object;)V
         3: .line 118
            aload 0 /* context */
            aload 2 /* resultSetMappingName */
            invokeinterface org.hibernate.procedure.internal.Util$ResultSetMappingResolutionContext.findResultSetMapping:(Ljava/lang/String;)Lorg/hibernate/engine/ResultSetMappingDefinition;
            astore 6 /* mapping */
        start local 6 // org.hibernate.engine.ResultSetMappingDefinition mapping
         4: .line 119
            aload 6 /* mapping */
            ifnonnull 6
         5: .line 120
            new org.hibernate.procedure.UnknownSqlResultSetMappingException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unknown SqlResultSetMapping ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* resultSetMappingName */
            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.procedure.UnknownSqlResultSetMappingException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 123
      StackMap locals: org.hibernate.procedure.internal.Util$ResultSetMappingResolutionContext java.lang.String[] java.lang.String int int java.lang.String[] org.hibernate.engine.ResultSetMappingDefinition
      StackMap stack:
            getstatic org.hibernate.procedure.internal.Util.log:Lorg/jboss/logging/Logger;
            ldc "Found result-set-mapping : %s"
            aload 6 /* mapping */
            invokevirtual org.hibernate.engine.ResultSetMappingDefinition.traceLoggableFormat:()Ljava/lang/String;
            invokevirtual org.jboss.logging.Logger.tracef:(Ljava/lang/String;Ljava/lang/Object;)V
         7: .line 125
            aload 0 /* context */
            aload 6 /* mapping */
            invokevirtual org.hibernate.engine.ResultSetMappingDefinition.getQueryReturns:()[Lorg/hibernate/engine/query/spi/sql/NativeSQLQueryReturn;
            invokeinterface org.hibernate.procedure.internal.Util$ResultSetMappingResolutionContext.addQueryReturns:([Lorg/hibernate/engine/query/spi/sql/NativeSQLQueryReturn;)V
         8: .line 128
            new org.hibernate.loader.custom.sql.SQLQueryReturnProcessor
            dup
            aload 6 /* mapping */
            invokevirtual org.hibernate.engine.ResultSetMappingDefinition.getQueryReturns:()[Lorg/hibernate/engine/query/spi/sql/NativeSQLQueryReturn;
            aload 0 /* context */
            invokeinterface org.hibernate.procedure.internal.Util$ResultSetMappingResolutionContext.getSessionFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokespecial org.hibernate.loader.custom.sql.SQLQueryReturnProcessor.<init>:([Lorg/hibernate/engine/query/spi/sql/NativeSQLQueryReturn;Lorg/hibernate/engine/spi/SessionFactoryImplementor;)V
         9: .line 127
            astore 7 /* processor */
        start local 7 // org.hibernate.loader.custom.sql.SQLQueryReturnProcessor processor
        10: .line 129
            aload 7 /* processor */
            invokevirtual org.hibernate.loader.custom.sql.SQLQueryReturnProcessor.process:()Lorg/hibernate/loader/custom/sql/SQLQueryReturnProcessor$ResultAliasContext;
            astore 8 /* processResult */
        start local 8 // org.hibernate.loader.custom.sql.SQLQueryReturnProcessor$ResultAliasContext processResult
        11: .line 130
            aload 0 /* context */
            aload 8 /* processResult */
            invokevirtual org.hibernate.loader.custom.sql.SQLQueryReturnProcessor$ResultAliasContext.collectQuerySpaces:()[Ljava/lang/String;
            invokeinterface org.hibernate.procedure.internal.Util$ResultSetMappingResolutionContext.addQuerySpaces:([Ljava/lang/String;)V
        end local 8 // org.hibernate.loader.custom.sql.SQLQueryReturnProcessor$ResultAliasContext processResult
        end local 7 // org.hibernate.loader.custom.sql.SQLQueryReturnProcessor processor
        end local 6 // org.hibernate.engine.ResultSetMappingDefinition mapping
        end local 2 // java.lang.String resultSetMappingName
        12: .line 116
            iinc 3 1
      StackMap locals: org.hibernate.procedure.internal.Util$ResultSetMappingResolutionContext java.lang.String[] top int int java.lang.String[]
      StackMap stack:
        13: iload 3
            iload 4
            if_icmplt 1
        14: .line 132
            return
        end local 1 // java.lang.String[] resultSetMappingNames
        end local 0 // org.hibernate.procedure.internal.Util$ResultSetMappingResolutionContext context
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   15     0                context  Lorg/hibernate/procedure/internal/Util$ResultSetMappingResolutionContext;
            0   15     1  resultSetMappingNames  [Ljava/lang/String;
            2   12     2   resultSetMappingName  Ljava/lang/String;
            4   12     6                mapping  Lorg/hibernate/engine/ResultSetMappingDefinition;
           10   12     7              processor  Lorg/hibernate/loader/custom/sql/SQLQueryReturnProcessor;
           11   12     8          processResult  Lorg/hibernate/loader/custom/sql/SQLQueryReturnProcessor$ResultAliasContext;
    MethodParameters:
                       Name  Flags
      context                
      resultSetMappingNames  

  public static void resolveResultClasses(org.hibernate.procedure.internal.Util$ResultClassesResolutionContext, java.lang.Class[]);
    descriptor: (Lorg/hibernate/procedure/internal/Util$ResultClassesResolutionContext;[Ljava/lang/Class;)V
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=9, locals=8, args_size=2
        start local 0 // org.hibernate.procedure.internal.Util$ResultClassesResolutionContext context
        start local 1 // java.lang.Class[] resultClasses
         0: .line 166
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: .line 167
            aload 1 /* resultClasses */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 11
      StackMap locals: org.hibernate.procedure.internal.Util$ResultClassesResolutionContext java.lang.Class[] int top int int java.lang.Class[]
      StackMap stack:
         2: aload 6
            iload 4
            aaload
            astore 3 /* resultClass */
        start local 3 // java.lang.Class resultClass
         3: .line 168
            aload 0 /* context */
            iconst_1
            anewarray org.hibernate.engine.query.spi.sql.NativeSQLQueryReturn
            dup
            iconst_0
         4: .line 169
            new org.hibernate.engine.query.spi.sql.NativeSQLQueryRootReturn
            dup
            new java.lang.StringBuilder
            dup
            ldc "alias"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iinc 2 /* i */ 1
            iload 2 /* i */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 3 /* resultClass */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            getstatic org.hibernate.LockMode.READ:Lorg/hibernate/LockMode;
            invokespecial org.hibernate.engine.query.spi.sql.NativeSQLQueryRootReturn.<init>:(Ljava/lang/String;Ljava/lang/String;Lorg/hibernate/LockMode;)V
            aastore
         5: .line 168
            invokeinterface org.hibernate.procedure.internal.Util$ResultClassesResolutionContext.addQueryReturns:([Lorg/hibernate/engine/query/spi/sql/NativeSQLQueryReturn;)V
         6: .line 172
            aload 0 /* context */
            invokeinterface org.hibernate.procedure.internal.Util$ResultClassesResolutionContext.getSessionFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            aload 3 /* resultClass */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getEntityPersister:(Ljava/lang/String;)Lorg/hibernate/persister/entity/EntityPersister;
            astore 7 /* persister */
        start local 7 // org.hibernate.persister.entity.EntityPersister persister
         7: .line 173
            aload 0 /* context */
            aload 7 /* persister */
            invokeinterface org.hibernate.persister.entity.EntityPersister.getQuerySpaces:()[Ljava/io/Serializable;
            checkcast java.lang.String[]
            invokeinterface org.hibernate.procedure.internal.Util$ResultClassesResolutionContext.addQuerySpaces:([Ljava/lang/String;)V
        end local 7 // org.hibernate.persister.entity.EntityPersister persister
         8: .line 174
            goto 10
         9: .line 175
      StackMap locals: org.hibernate.procedure.internal.Util$ResultClassesResolutionContext java.lang.Class[] int java.lang.Class int int java.lang.Class[]
      StackMap stack: java.lang.Exception
            pop
        end local 3 // java.lang.Class resultClass
        10: .line 167
      StackMap locals: org.hibernate.procedure.internal.Util$ResultClassesResolutionContext java.lang.Class[] int top int int java.lang.Class[]
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
        11: iload 4
            iload 5
            if_icmplt 2
        12: .line 178
            return
        end local 2 // int i
        end local 1 // java.lang.Class[] resultClasses
        end local 0 // org.hibernate.procedure.internal.Util$ResultClassesResolutionContext context
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   13     0        context  Lorg/hibernate/procedure/internal/Util$ResultClassesResolutionContext;
            0   13     1  resultClasses  [Ljava/lang/Class;
            1   13     2              i  I
            3   10     3    resultClass  Ljava/lang/Class;
            7    8     7      persister  Lorg/hibernate/persister/entity/EntityPersister;
      Exception table:
        from    to  target  type
           6     8       9  Class java.lang.Exception
    MethodParameters:
               Name  Flags
      context        
      resultClasses  
}
SourceFile: "Util.java"
NestMembers:
  org.hibernate.procedure.internal.Util$ResultClassesResolutionContext  org.hibernate.procedure.internal.Util$ResultSetMappingResolutionContext
InnerClasses:
  public ResultAliasContext = org.hibernate.loader.custom.sql.SQLQueryReturnProcessor$ResultAliasContext of org.hibernate.loader.custom.sql.SQLQueryReturnProcessor
  public abstract ResultClassesResolutionContext = org.hibernate.procedure.internal.Util$ResultClassesResolutionContext of org.hibernate.procedure.internal.Util
  public abstract ResultSetMappingResolutionContext = org.hibernate.procedure.internal.Util$ResultSetMappingResolutionContext of org.hibernate.procedure.internal.Util