public class org.hibernate.hql.internal.ast.SqlASTFactory extends antlr.ASTFactory implements org.hibernate.hql.internal.antlr.HqlSqlTokenTypes
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.hibernate.hql.internal.ast.SqlASTFactory
  super_class: antlr.ASTFactory
{
  private org.hibernate.hql.internal.ast.HqlSqlWalker walker;
    descriptor: Lorg/hibernate/hql/internal/ast/HqlSqlWalker;
    flags: (0x0002) ACC_PRIVATE

  public void <init>(org.hibernate.hql.internal.ast.HqlSqlWalker);
    descriptor: (Lorg/hibernate/hql/internal/ast/HqlSqlWalker;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.hql.internal.ast.SqlASTFactory this
        start local 1 // org.hibernate.hql.internal.ast.HqlSqlWalker walker
         0: .line 93
            aload 0 /* this */
            invokespecial antlr.ASTFactory.<init>:()V
         1: .line 94
            aload 0 /* this */
            aload 1 /* walker */
            putfield org.hibernate.hql.internal.ast.SqlASTFactory.walker:Lorg/hibernate/hql/internal/ast/HqlSqlWalker;
         2: .line 95
            return
        end local 1 // org.hibernate.hql.internal.ast.HqlSqlWalker walker
        end local 0 // org.hibernate.hql.internal.ast.SqlASTFactory this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/hibernate/hql/internal/ast/SqlASTFactory;
            0    3     1  walker  Lorg/hibernate/hql/internal/ast/HqlSqlWalker;
    MethodParameters:
        Name  Flags
      walker  

  public java.lang.Class getASTNodeType(int);
    descriptor: (I)Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.hibernate.hql.internal.ast.SqlASTFactory this
        start local 1 // int tokenType
         0: .line 105
            iload 1 /* tokenType */
            tableswitch { // 10 - 154
                   10: 33
                   11: 40
                   12: 20
                   13: 3
                   14: 40
                   15: 9
                   16: 40
                   17: 16
                   18: 40
                   19: 36
                   20: 23
                   21: 40
                   22: 6
                   23: 40
                   24: 40
                   25: 40
                   26: 32
                   27: 16
                   28: 40
                   29: 4
                   30: 5
                   31: 40
                   32: 40
                   33: 40
                   34: 31
                   35: 40
                   36: 40
                   37: 40
                   38: 40
                   39: 40
                   40: 40
                   41: 25
                   42: 40
                   43: 40
                   44: 40
                   45: 1
                   46: 40
                   47: 40
                   48: 40
                   49: 23
                   50: 40
                   51: 2
                   52: 40
                   53: 40
                   54: 40
                   55: 40
                   56: 40
                   57: 29
                   58: 40
                   59: 40
                   60: 40
                   61: 40
                   62: 40
                   63: 40
                   64: 40
                   65: 40
                   66: 40
                   67: 40
                   68: 40
                   69: 40
                   70: 40
                   71: 37
                   72: 38
                   73: 39
                   74: 19
                   75: 40
                   76: 21
                   77: 28
                   78: 15
                   79: 40
                   80: 40
                   81: 40
                   82: 10
                   83: 35
                   84: 34
                   85: 14
                   86: 33
                   87: 32
                   88: 31
                   89: 40
                   90: 1
                   91: 40
                   92: 40
                   93: 40
                   94: 27
                   95: 27
                   96: 40
                   97: 40
                   98: 40
                   99: 22
                  100: 22
                  101: 22
                  102: 22
                  103: 22
                  104: 24
                  105: 40
                  106: 31
                  107: 40
                  108: 40
                  109: 11
                  110: 40
                  111: 40
                  112: 40
                  113: 31
                  114: 40
                  115: 31
                  116: 31
                  117: 31
                  118: 31
                  119: 40
                  120: 26
                  121: 26
                  122: 26
                  123: 26
                  124: 26
                  125: 40
                  126: 40
                  127: 22
                  128: 40
                  129: 30
                  130: 22
                  131: 40
                  132: 40
                  133: 40
                  134: 40
                  135: 40
                  136: 40
                  137: 40
                  138: 7
                  139: 8
                  140: 40
                  141: 17
                  142: 40
                  143: 40
                  144: 11
                  145: 40
                  146: 13
                  147: 40
                  148: 18
                  149: 40
                  150: 40
                  151: 40
                  152: 30
                  153: 40
                  154: 12
              default: 40
          }
         1: .line 108
      StackMap locals:
      StackMap stack:
            ldc Lorg/hibernate/hql/internal/ast/tree/QueryNode;
            areturn
         2: .line 110
      StackMap locals:
      StackMap stack:
            ldc Lorg/hibernate/hql/internal/ast/tree/UpdateStatement;
            areturn
         3: .line 112
      StackMap locals:
      StackMap stack:
            ldc Lorg/hibernate/hql/internal/ast/tree/DeleteStatement;
            areturn
         4: .line 114
      StackMap locals:
      StackMap stack:
            ldc Lorg/hibernate/hql/internal/ast/tree/InsertStatement;
            areturn
         5: .line 116
      StackMap locals:
      StackMap stack:
            ldc Lorg/hibernate/hql/internal/ast/tree/IntoClause;
            areturn
         6: .line 118
      StackMap locals:
      StackMap stack:
            ldc Lorg/hibernate/hql/internal/ast/tree/FromClause;
            areturn
         7: .line 120
      StackMap locals:
      StackMap stack:
            ldc Lorg/hibernate/hql/internal/ast/tree/FromElement;
            areturn
         8: .line 122
      StackMap locals:
      StackMap stack:
            ldc Lorg/hibernate/hql/internal/ast/tree/ImpliedFromElement;
            areturn
         9: .line 124
      StackMap locals:
      StackMap stack:
            ldc Lorg/hibernate/hql/internal/ast/tree/DotNode;
            areturn
        10: .line 126
      StackMap locals:
      StackMap stack:
            ldc Lorg/hibernate/hql/internal/ast/tree/IndexNode;
            areturn
        11: .line 130
      StackMap locals:
      StackMap stack:
            ldc Lorg/hibernate/hql/internal/ast/tree/IdentNode;
            areturn
        12: .line 132
      StackMap locals:
      StackMap stack:
            ldc Lorg/hibernate/hql/internal/ast/tree/ResultVariableRefNode;
            areturn
        13: .line 134
      StackMap locals:
      StackMap stack:
            ldc Lorg/hibernate/hql/internal/ast/tree/SqlFragment;
            areturn
        14: .line 136
      StackMap locals:
      StackMap stack:
            ldc Lorg/hibernate/hql/internal/ast/tree/MethodNode;
            areturn
        15: .line 138
      StackMap locals:
      StackMap stack:
            ldc Lorg/hibernate/hql/internal/ast/tree/CastFunctionNode;
            areturn
        16: .line 141
      StackMap locals:
      StackMap stack:
            ldc Lorg/hibernate/hql/internal/ast/tree/CollectionFunction;
            areturn
        17: .line 143
      StackMap locals:
      StackMap stack:
            ldc Lorg/hibernate/hql/internal/ast/tree/SelectClause;
            areturn
        18: .line 145
      StackMap locals:
      StackMap stack:
            ldc Lorg/hibernate/hql/internal/ast/tree/SelectExpressionImpl;
            areturn
        19: .line 147
      StackMap locals:
      StackMap stack:
            ldc Lorg/hibernate/hql/internal/ast/tree/AggregateNode;
            areturn
        20: .line 149
      StackMap locals:
      StackMap stack:
            ldc Lorg/hibernate/hql/internal/ast/tree/CountNode;
            areturn
        21: .line 151
      StackMap locals:
      StackMap stack:
            ldc Lorg/hibernate/hql/internal/ast/tree/ConstructorNode;
            areturn
        22: .line 159
      StackMap locals:
      StackMap stack:
            ldc Lorg/hibernate/hql/internal/ast/tree/LiteralNode;
            areturn
        23: .line 162
      StackMap locals:
      StackMap stack:
            ldc Lorg/hibernate/hql/internal/ast/tree/BooleanLiteralNode;
            areturn
        24: .line 164
      StackMap locals:
      StackMap stack:
            ldc Lorg/hibernate/hql/internal/ast/tree/JavaConstantNode;
            areturn
        25: .line 166
      StackMap locals:
      StackMap stack:
            ldc Lorg/hibernate/hql/internal/ast/tree/OrderByClause;
            areturn
        26: .line 172
      StackMap locals:
      StackMap stack:
            ldc Lorg/hibernate/hql/internal/ast/tree/BinaryArithmeticOperatorNode;
            areturn
        27: .line 175
      StackMap locals:
      StackMap stack:
            ldc Lorg/hibernate/hql/internal/ast/tree/UnaryArithmeticNode;
            areturn
        28: .line 177
      StackMap locals:
      StackMap stack:
            ldc Lorg/hibernate/hql/internal/ast/tree/SimpleCaseNode;
            areturn
        29: .line 179
      StackMap locals:
      StackMap stack:
            ldc Lorg/hibernate/hql/internal/ast/tree/SearchedCaseNode;
            areturn
        30: .line 182
      StackMap locals:
      StackMap stack:
            ldc Lorg/hibernate/hql/internal/ast/tree/ParameterNode;
            areturn
        31: .line 191
      StackMap locals:
      StackMap stack:
            ldc Lorg/hibernate/hql/internal/ast/tree/BinaryLogicOperatorNode;
            areturn
        32: .line 194
      StackMap locals:
      StackMap stack:
            ldc Lorg/hibernate/hql/internal/ast/tree/InLogicOperatorNode;
            areturn
        33: .line 197
      StackMap locals:
      StackMap stack:
            ldc Lorg/hibernate/hql/internal/ast/tree/BetweenOperatorNode;
            areturn
        34: .line 199
      StackMap locals:
      StackMap stack:
            ldc Lorg/hibernate/hql/internal/ast/tree/IsNullLogicOperatorNode;
            areturn
        35: .line 201
      StackMap locals:
      StackMap stack:
            ldc Lorg/hibernate/hql/internal/ast/tree/IsNotNullLogicOperatorNode;
            areturn
        36: .line 203
      StackMap locals:
      StackMap stack:
            ldc Lorg/hibernate/hql/internal/ast/tree/UnaryLogicOperatorNode;
            areturn
        37: .line 205
      StackMap locals:
      StackMap stack:
            ldc Lorg/hibernate/hql/internal/ast/tree/MapKeyNode;
            areturn
        38: .line 208
      StackMap locals:
      StackMap stack:
            ldc Lorg/hibernate/hql/internal/ast/tree/MapValueNode;
            areturn
        39: .line 211
      StackMap locals:
      StackMap stack:
            ldc Lorg/hibernate/hql/internal/ast/tree/MapEntryNode;
            areturn
        40: .line 214
      StackMap locals:
      StackMap stack:
            ldc Lorg/hibernate/hql/internal/ast/tree/SqlNode;
            areturn
        end local 1 // int tokenType
        end local 0 // org.hibernate.hql.internal.ast.SqlASTFactory this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   41     0       this  Lorg/hibernate/hql/internal/ast/SqlASTFactory;
            0   41     1  tokenType  I
    MethodParameters:
           Name  Flags
      tokenType  

  protected antlr.collections.AST createUsingCtor(antlr.Token, java.lang.String);
    descriptor: (Lantlr/Token;Ljava/lang/String;)Lantlr/collections/AST;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // org.hibernate.hql.internal.ast.SqlASTFactory this
        start local 1 // antlr.Token token
        start local 2 // java.lang.String className
         0: .line 223
            aload 2 /* className */
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 3 /* c */
        start local 3 // java.lang.Class c
         1: .line 224
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Lantlr/Token;
            aastore
            astore 5 /* tokenArgType */
        start local 5 // java.lang.Class[] tokenArgType
         2: .line 225
            aload 3 /* c */
            aload 5 /* tokenArgType */
            invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
            astore 6 /* ctor */
        start local 6 // java.lang.reflect.Constructor ctor
         3: .line 226
            aload 6 /* ctor */
            ifnull 7
         4: .line 227
            aload 6 /* ctor */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* token */
            aastore
            invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
            checkcast antlr.collections.AST
            astore 4 /* t */
        start local 4 // antlr.collections.AST t
         5: .line 228
            aload 0 /* this */
            aload 4 /* t */
            invokevirtual org.hibernate.hql.internal.ast.SqlASTFactory.initializeSqlNode:(Lantlr/collections/AST;)V
         6: .line 229
            goto 11
        end local 4 // antlr.collections.AST t
         7: .line 233
      StackMap locals: org.hibernate.hql.internal.ast.SqlASTFactory antlr.Token java.lang.String java.lang.Class top java.lang.Class[] java.lang.reflect.Constructor
      StackMap stack:
            aload 0 /* this */
            aload 3 /* c */
            invokevirtual org.hibernate.hql.internal.ast.SqlASTFactory.create:(Ljava/lang/Class;)Lantlr/collections/AST;
            astore 4 /* t */
        end local 6 // java.lang.reflect.Constructor ctor
        end local 5 // java.lang.Class[] tokenArgType
        start local 4 // antlr.collections.AST t
         8: .line 235
            goto 11
        end local 4 // antlr.collections.AST t
        end local 3 // java.lang.Class c
         9: .line 236
      StackMap locals: org.hibernate.hql.internal.ast.SqlASTFactory antlr.Token java.lang.String
      StackMap stack: java.lang.Exception
            pop
        10: .line 237
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid class or can't make instance, "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* className */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        start local 3 // java.lang.Class c
        start local 4 // antlr.collections.AST t
        11: .line 239
      StackMap locals: java.lang.Class antlr.collections.AST
      StackMap stack:
            aload 4 /* t */
            areturn
        end local 4 // antlr.collections.AST t
        end local 3 // java.lang.Class c
        end local 2 // java.lang.String className
        end local 1 // antlr.Token token
        end local 0 // org.hibernate.hql.internal.ast.SqlASTFactory this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   12     0          this  Lorg/hibernate/hql/internal/ast/SqlASTFactory;
            0   12     1         token  Lantlr/Token;
            0   12     2     className  Ljava/lang/String;
            1    9     3             c  Ljava/lang/Class;
           11   12     3             c  Ljava/lang/Class;
            5    7     4             t  Lantlr/collections/AST;
            8    9     4             t  Lantlr/collections/AST;
           11   12     4             t  Lantlr/collections/AST;
            2    8     5  tokenArgType  [Ljava/lang/Class;
            3    8     6          ctor  Ljava/lang/reflect/Constructor;
      Exception table:
        from    to  target  type
           0     8       9  Class java.lang.Exception
    MethodParameters:
           Name  Flags
      token      
      className  

  private void initializeSqlNode(antlr.collections.AST);
    descriptor: (Lantlr/collections/AST;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.hibernate.hql.internal.ast.SqlASTFactory this
        start local 1 // antlr.collections.AST t
         0: .line 244
            aload 1 /* t */
            instanceof org.hibernate.hql.internal.ast.tree.InitializeableNode
            ifeq 3
         1: .line 245
            aload 1 /* t */
            checkcast org.hibernate.hql.internal.ast.tree.InitializeableNode
            astore 2 /* initializeableNode */
        start local 2 // org.hibernate.hql.internal.ast.tree.InitializeableNode initializeableNode
         2: .line 246
            aload 2 /* initializeableNode */
            aload 0 /* this */
            getfield org.hibernate.hql.internal.ast.SqlASTFactory.walker:Lorg/hibernate/hql/internal/ast/HqlSqlWalker;
            invokeinterface org.hibernate.hql.internal.ast.tree.InitializeableNode.initialize:(Ljava/lang/Object;)V
        end local 2 // org.hibernate.hql.internal.ast.tree.InitializeableNode initializeableNode
         3: .line 248
      StackMap locals:
      StackMap stack:
            aload 1 /* t */
            instanceof org.hibernate.hql.internal.ast.tree.SessionFactoryAwareNode
            ifeq 5
         4: .line 249
            aload 1 /* t */
            checkcast org.hibernate.hql.internal.ast.tree.SessionFactoryAwareNode
            aload 0 /* this */
            getfield org.hibernate.hql.internal.ast.SqlASTFactory.walker:Lorg/hibernate/hql/internal/ast/HqlSqlWalker;
            invokevirtual org.hibernate.hql.internal.ast.HqlSqlWalker.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.hql.internal.ast.tree.SessionFactoryAwareNode.setSessionFactory:(Lorg/hibernate/engine/spi/SessionFactoryImplementor;)V
         5: .line 251
      StackMap locals:
      StackMap stack:
            return
        end local 1 // antlr.collections.AST t
        end local 0 // org.hibernate.hql.internal.ast.SqlASTFactory this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    6     0                this  Lorg/hibernate/hql/internal/ast/SqlASTFactory;
            0    6     1                   t  Lantlr/collections/AST;
            2    3     2  initializeableNode  Lorg/hibernate/hql/internal/ast/tree/InitializeableNode;
    MethodParameters:
      Name  Flags
      t     

  protected antlr.collections.AST create(java.lang.Class);
    descriptor: (Ljava/lang/Class;)Lantlr/collections/AST;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.hibernate.hql.internal.ast.SqlASTFactory this
        start local 1 // java.lang.Class c
         0: .line 263
            aload 1 /* c */
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            checkcast antlr.collections.AST
            astore 2 /* t */
        start local 2 // antlr.collections.AST t
         1: .line 264
            aload 0 /* this */
            aload 2 /* t */
            invokevirtual org.hibernate.hql.internal.ast.SqlASTFactory.initializeSqlNode:(Lantlr/collections/AST;)V
         2: .line 265
            goto 6
        end local 2 // antlr.collections.AST t
         3: .line 266
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         4: .line 267
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "Can't create AST Node "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* c */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            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.SqlASTFactory.error:(Ljava/lang/String;)V
         5: .line 268
            aconst_null
            areturn
        start local 2 // antlr.collections.AST t
         6: .line 270
      StackMap locals: antlr.collections.AST
      StackMap stack:
            aload 2 /* t */
            areturn
        end local 2 // antlr.collections.AST t
        end local 1 // java.lang.Class c
        end local 0 // org.hibernate.hql.internal.ast.SqlASTFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/hibernate/hql/internal/ast/SqlASTFactory;
            0    7     1     c  Ljava/lang/Class;
            1    3     2     t  Lantlr/collections/AST;
            6    7     2     t  Lantlr/collections/AST;
      Exception table:
        from    to  target  type
           0     2       3  Class java.lang.Exception
    MethodParameters:
      Name  Flags
      c     
}
SourceFile: "SqlASTFactory.java"