public class org.hibernate.loader.custom.sql.SQLCustomQuery implements org.hibernate.loader.custom.CustomQuery, java.io.Serializable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.hibernate.loader.custom.sql.SQLCustomQuery
  super_class: java.lang.Object
{
  private static final org.hibernate.internal.CoreMessageLogger LOG;
    descriptor: Lorg/hibernate/internal/CoreMessageLogger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final java.lang.String sql;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.Set querySpaces;
    descriptor: Ljava/util/Set;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.List<org.hibernate.param.ParameterBinder> paramValueBinders;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Lorg/hibernate/param/ParameterBinder;>;

  private final java.util.List customQueryReturns;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 39
            ldc Lorg/hibernate/internal/CoreMessageLogger;
            ldc Lorg/hibernate/loader/custom/sql/SQLCustomQuery;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic org.jboss.logging.Logger.getMessageLogger:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Object;
            checkcast org.hibernate.internal.CoreMessageLogger
            putstatic org.hibernate.loader.custom.sql.SQLCustomQuery.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.lang.String getSQL();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.loader.custom.sql.SQLCustomQuery this
         0: .line 50
            aload 0 /* this */
            getfield org.hibernate.loader.custom.sql.SQLCustomQuery.sql:Ljava/lang/String;
            areturn
        end local 0 // org.hibernate.loader.custom.sql.SQLCustomQuery this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/loader/custom/sql/SQLCustomQuery;

  public java.util.Set getQuerySpaces();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.loader.custom.sql.SQLCustomQuery this
         0: .line 54
            aload 0 /* this */
            getfield org.hibernate.loader.custom.sql.SQLCustomQuery.querySpaces:Ljava/util/Set;
            areturn
        end local 0 // org.hibernate.loader.custom.sql.SQLCustomQuery this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/loader/custom/sql/SQLCustomQuery;

  public java.util.List<org.hibernate.param.ParameterBinder> getParameterValueBinders();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.loader.custom.sql.SQLCustomQuery this
         0: .line 59
            aload 0 /* this */
            getfield org.hibernate.loader.custom.sql.SQLCustomQuery.paramValueBinders:Ljava/util/List;
            areturn
        end local 0 // org.hibernate.loader.custom.sql.SQLCustomQuery this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/loader/custom/sql/SQLCustomQuery;
    Signature: ()Ljava/util/List<Lorg/hibernate/param/ParameterBinder;>;

  public java.util.List getCustomQueryReturns();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hibernate.loader.custom.sql.SQLCustomQuery this
         0: .line 63
            aload 0 /* this */
            getfield org.hibernate.loader.custom.sql.SQLCustomQuery.customQueryReturns:Ljava/util/List;
            areturn
        end local 0 // org.hibernate.loader.custom.sql.SQLCustomQuery this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/loader/custom/sql/SQLCustomQuery;

  public void <init>(java.lang.String, org.hibernate.engine.query.spi.sql.NativeSQLQueryReturn[], java.util.Collection, org.hibernate.engine.spi.SessionFactoryImplementor);
    descriptor: (Ljava/lang/String;[Lorg/hibernate/engine/query/spi/sql/NativeSQLQueryReturn;Ljava/util/Collection;Lorg/hibernate/engine/spi/SessionFactoryImplementor;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=8, args_size=5
        start local 0 // org.hibernate.loader.custom.sql.SQLCustomQuery this
        start local 1 // java.lang.String sqlQuery
        start local 2 // org.hibernate.engine.query.spi.sql.NativeSQLQueryReturn[] queryReturns
        start local 3 // java.util.Collection additionalQuerySpaces
        start local 4 // org.hibernate.engine.spi.SessionFactoryImplementor factory
         0: .line 66
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 42
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield org.hibernate.loader.custom.sql.SQLCustomQuery.querySpaces:Ljava/util/Set;
         2: .line 46
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield org.hibernate.loader.custom.sql.SQLCustomQuery.customQueryReturns:Ljava/util/List;
         3: .line 72
            getstatic org.hibernate.loader.custom.sql.SQLCustomQuery.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Starting processing of sql query [{0}]"
            aload 1 /* sqlQuery */
            invokeinterface org.hibernate.internal.CoreMessageLogger.tracev:(Ljava/lang/String;Ljava/lang/Object;)V
         4: .line 73
            new org.hibernate.loader.custom.sql.SQLQueryReturnProcessor
            dup
            aload 2 /* queryReturns */
            aload 4 /* factory */
            invokespecial org.hibernate.loader.custom.sql.SQLQueryReturnProcessor.<init>:([Lorg/hibernate/engine/query/spi/sql/NativeSQLQueryReturn;Lorg/hibernate/engine/spi/SessionFactoryImplementor;)V
            astore 5 /* processor */
        start local 5 // org.hibernate.loader.custom.sql.SQLQueryReturnProcessor processor
         5: .line 74
            aload 5 /* processor */
            invokevirtual org.hibernate.loader.custom.sql.SQLQueryReturnProcessor.process:()Lorg/hibernate/loader/custom/sql/SQLQueryReturnProcessor$ResultAliasContext;
            astore 6 /* aliasContext */
        start local 6 // org.hibernate.loader.custom.sql.SQLQueryReturnProcessor$ResultAliasContext aliasContext
         6: .line 119
            new org.hibernate.loader.custom.sql.SQLQueryParser
            dup
            aload 1 /* sqlQuery */
            new org.hibernate.loader.custom.sql.SQLCustomQuery$ParserContext
            dup
            aload 6 /* aliasContext */
            invokespecial org.hibernate.loader.custom.sql.SQLCustomQuery$ParserContext.<init>:(Lorg/hibernate/loader/custom/sql/SQLQueryReturnProcessor$ResultAliasContext;)V
            aload 4 /* factory */
            invokespecial org.hibernate.loader.custom.sql.SQLQueryParser.<init>:(Ljava/lang/String;Lorg/hibernate/loader/custom/sql/SQLQueryParser$ParserContext;Lorg/hibernate/engine/spi/SessionFactoryImplementor;)V
            astore 7 /* parser */
        start local 7 // org.hibernate.loader.custom.sql.SQLQueryParser parser
         7: .line 120
            aload 0 /* this */
            aload 7 /* parser */
            invokevirtual org.hibernate.loader.custom.sql.SQLQueryParser.process:()Ljava/lang/String;
            putfield org.hibernate.loader.custom.sql.SQLCustomQuery.sql:Ljava/lang/String;
         8: .line 122
            aload 0 /* this */
            aload 7 /* parser */
            invokevirtual org.hibernate.loader.custom.sql.SQLQueryParser.getParameterValueBinders:()Ljava/util/List;
            putfield org.hibernate.loader.custom.sql.SQLCustomQuery.paramValueBinders:Ljava/util/List;
         9: .line 140
            aload 0 /* this */
            getfield org.hibernate.loader.custom.sql.SQLCustomQuery.customQueryReturns:Ljava/util/List;
            aload 5 /* processor */
            aload 7 /* parser */
            invokevirtual org.hibernate.loader.custom.sql.SQLQueryParser.queryHasAliases:()Z
            invokevirtual org.hibernate.loader.custom.sql.SQLQueryReturnProcessor.generateCustomReturns:(Z)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
        10: .line 166
            aload 3 /* additionalQuerySpaces */
            ifnull 12
        11: .line 167
            aload 0 /* this */
            getfield org.hibernate.loader.custom.sql.SQLCustomQuery.querySpaces:Ljava/util/Set;
            aload 3 /* additionalQuerySpaces */
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        12: .line 204
      StackMap locals: org.hibernate.loader.custom.sql.SQLCustomQuery java.lang.String org.hibernate.engine.query.spi.sql.NativeSQLQueryReturn[] java.util.Collection org.hibernate.engine.spi.SessionFactoryImplementor org.hibernate.loader.custom.sql.SQLQueryReturnProcessor org.hibernate.loader.custom.sql.SQLQueryReturnProcessor$ResultAliasContext org.hibernate.loader.custom.sql.SQLQueryParser
      StackMap stack:
            return
        end local 7 // org.hibernate.loader.custom.sql.SQLQueryParser parser
        end local 6 // org.hibernate.loader.custom.sql.SQLQueryReturnProcessor$ResultAliasContext aliasContext
        end local 5 // org.hibernate.loader.custom.sql.SQLQueryReturnProcessor processor
        end local 4 // org.hibernate.engine.spi.SessionFactoryImplementor factory
        end local 3 // java.util.Collection additionalQuerySpaces
        end local 2 // org.hibernate.engine.query.spi.sql.NativeSQLQueryReturn[] queryReturns
        end local 1 // java.lang.String sqlQuery
        end local 0 // org.hibernate.loader.custom.sql.SQLCustomQuery this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   13     0                   this  Lorg/hibernate/loader/custom/sql/SQLCustomQuery;
            0   13     1               sqlQuery  Ljava/lang/String;
            0   13     2           queryReturns  [Lorg/hibernate/engine/query/spi/sql/NativeSQLQueryReturn;
            0   13     3  additionalQuerySpaces  Ljava/util/Collection;
            0   13     4                factory  Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            5   13     5              processor  Lorg/hibernate/loader/custom/sql/SQLQueryReturnProcessor;
            6   13     6           aliasContext  Lorg/hibernate/loader/custom/sql/SQLQueryReturnProcessor$ResultAliasContext;
            7   13     7                 parser  Lorg/hibernate/loader/custom/sql/SQLQueryParser;
    Exceptions:
      throws org.hibernate.HibernateException
    MethodParameters:
                       Name  Flags
      sqlQuery               final
      queryReturns           final
      additionalQuerySpaces  final
      factory                final
}
SourceFile: "SQLCustomQuery.java"
NestMembers:
  org.hibernate.loader.custom.sql.SQLCustomQuery$ParserContext
InnerClasses:
  private ParserContext = org.hibernate.loader.custom.sql.SQLCustomQuery$ParserContext of org.hibernate.loader.custom.sql.SQLCustomQuery
  abstract ParserContext = org.hibernate.loader.custom.sql.SQLQueryParser$ParserContext of org.hibernate.loader.custom.sql.SQLQueryParser
  public ResultAliasContext = org.hibernate.loader.custom.sql.SQLQueryReturnProcessor$ResultAliasContext of org.hibernate.loader.custom.sql.SQLQueryReturnProcessor