public class org.hibernate.hql.internal.classic.SelectParser implements org.hibernate.hql.internal.classic.Parser
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.hibernate.hql.internal.classic.SelectParser
  super_class: java.lang.Object
{
  private static final java.util.Set COUNT_MODIFIERS;
    descriptor: Ljava/util/Set;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private java.util.LinkedList aggregateFuncTokenList;
    descriptor: Ljava/util/LinkedList;
    flags: (0x0002) ACC_PRIVATE

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

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

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

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

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

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

  private java.lang.Class holderClass;
    descriptor: Ljava/lang/Class;
    flags: (0x0002) ACC_PRIVATE

  private final org.hibernate.hql.internal.classic.SelectPathExpressionParser pathExpressionParser;
    descriptor: Lorg/hibernate/hql/internal/classic/SelectPathExpressionParser;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.hibernate.hql.internal.classic.PathExpressionParser aggregatePathExpressionParser;
    descriptor: Lorg/hibernate/hql/internal/classic/PathExpressionParser;
    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 48
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putstatic org.hibernate.hql.internal.classic.SelectParser.COUNT_MODIFIERS:Ljava/util/Set;
         1: .line 51
            getstatic org.hibernate.hql.internal.classic.SelectParser.COUNT_MODIFIERS:Ljava/util/Set;
            ldc "distinct"
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         2: .line 52
            getstatic org.hibernate.hql.internal.classic.SelectParser.COUNT_MODIFIERS:Ljava/util/Set;
            ldc "all"
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         3: .line 53
            getstatic org.hibernate.hql.internal.classic.SelectParser.COUNT_MODIFIERS:Ljava/util/Set;
            ldc "*"
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         4: .line 54
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.hibernate.hql.internal.classic.SelectParser this
         0: .line 44
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 56
            aload 0 /* this */
            new java.util.LinkedList
            dup
            invokespecial java.util.LinkedList.<init>:()V
            putfield org.hibernate.hql.internal.classic.SelectParser.aggregateFuncTokenList:Ljava/util/LinkedList;
         2: .line 70
            aload 0 /* this */
            new org.hibernate.hql.internal.classic.SelectPathExpressionParser
            dup
            invokespecial org.hibernate.hql.internal.classic.SelectPathExpressionParser.<init>:()V
            putfield org.hibernate.hql.internal.classic.SelectParser.pathExpressionParser:Lorg/hibernate/hql/internal/classic/SelectPathExpressionParser;
         3: .line 71
            aload 0 /* this */
            new org.hibernate.hql.internal.classic.PathExpressionParser
            dup
            invokespecial org.hibernate.hql.internal.classic.PathExpressionParser.<init>:()V
            putfield org.hibernate.hql.internal.classic.SelectParser.aggregatePathExpressionParser:Lorg/hibernate/hql/internal/classic/PathExpressionParser;
         4: .line 73
            aload 0 /* this */
            getfield org.hibernate.hql.internal.classic.SelectParser.pathExpressionParser:Lorg/hibernate/hql/internal/classic/SelectPathExpressionParser;
            iconst_1
            invokevirtual org.hibernate.hql.internal.classic.SelectPathExpressionParser.setUseThetaStyleJoin:(Z)V
         5: .line 74
            aload 0 /* this */
            getfield org.hibernate.hql.internal.classic.SelectParser.aggregatePathExpressionParser:Lorg/hibernate/hql/internal/classic/PathExpressionParser;
            iconst_1
            invokevirtual org.hibernate.hql.internal.classic.PathExpressionParser.setUseThetaStyleJoin:(Z)V
         6: .line 44
            return
        end local 0 // org.hibernate.hql.internal.classic.SelectParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/hibernate/hql/internal/classic/SelectParser;

  public void token(java.lang.String, org.hibernate.hql.internal.classic.QueryTranslatorImpl);
    descriptor: (Ljava/lang/String;Lorg/hibernate/hql/internal/classic/QueryTranslatorImpl;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // org.hibernate.hql.internal.classic.SelectParser this
        start local 1 // java.lang.String token
        start local 2 // org.hibernate.hql.internal.classic.QueryTranslatorImpl q
         0: .line 79
            aload 1 /* token */
            getstatic java.util.Locale.ROOT:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            astore 3 /* lctoken */
        start local 3 // java.lang.String lctoken
         1: .line 81
            aload 0 /* this */
            getfield org.hibernate.hql.internal.classic.SelectParser.first:Z
            ifeq 9
         2: .line 82
            aload 0 /* this */
            iconst_0
            putfield org.hibernate.hql.internal.classic.SelectParser.first:Z
         3: .line 83
            ldc "distinct"
            aload 3 /* lctoken */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
         4: .line 84
            aload 2 /* q */
            iconst_1
            invokevirtual org.hibernate.hql.internal.classic.QueryTranslatorImpl.setDistinct:(Z)V
         5: .line 85
            return
         6: .line 87
      StackMap locals: java.lang.String
      StackMap stack:
            ldc "all"
            aload 3 /* lctoken */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 9
         7: .line 88
            aload 2 /* q */
            iconst_0
            invokevirtual org.hibernate.hql.internal.classic.QueryTranslatorImpl.setDistinct:(Z)V
         8: .line 89
            return
         9: .line 93
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.hql.internal.classic.SelectParser.afterNew:Z
            ifeq 19
        10: .line 94
            aload 0 /* this */
            iconst_0
            putfield org.hibernate.hql.internal.classic.SelectParser.afterNew:Z
        11: .line 96
            aload 0 /* this */
            aload 1 /* token */
            aload 2 /* q */
            invokevirtual org.hibernate.hql.internal.classic.QueryTranslatorImpl.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokestatic org.hibernate.hql.internal.QuerySplitter.getImportedClass:(Ljava/lang/String;Lorg/hibernate/engine/spi/SessionFactoryImplementor;)Ljava/lang/String;
            invokestatic org.hibernate.internal.util.ReflectHelper.classForName:(Ljava/lang/String;)Ljava/lang/Class;
            putfield org.hibernate.hql.internal.classic.SelectParser.holderClass:Ljava/lang/Class;
        12: .line 97
            goto 15
        13: .line 98
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
            astore 4 /* cnfe */
        start local 4 // java.lang.ClassNotFoundException cnfe
        14: .line 99
            new org.hibernate.QueryException
            dup
            aload 4 /* cnfe */
            invokespecial org.hibernate.QueryException.<init>:(Ljava/lang/Exception;)V
            athrow
        end local 4 // java.lang.ClassNotFoundException cnfe
        15: .line 101
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.hql.internal.classic.SelectParser.holderClass:Ljava/lang/Class;
            ifnonnull 16
            new org.hibernate.QueryException
            dup
            new java.lang.StringBuilder
            dup
            ldc "class not found: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* token */
            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
        16: .line 102
      StackMap locals:
      StackMap stack:
            aload 2 /* q */
            aload 0 /* this */
            getfield org.hibernate.hql.internal.classic.SelectParser.holderClass:Ljava/lang/Class;
            invokevirtual org.hibernate.hql.internal.classic.QueryTranslatorImpl.setHolderClass:(Ljava/lang/Class;)V
        17: .line 103
            aload 0 /* this */
            iconst_1
            putfield org.hibernate.hql.internal.classic.SelectParser.insideNew:Z
        18: .line 104
            goto 107
        19: .line 105
      StackMap locals:
      StackMap stack:
            aload 1 /* token */
            ldc ","
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 24
        20: .line 106
            aload 0 /* this */
            getfield org.hibernate.hql.internal.classic.SelectParser.aggregate:Z
            ifne 21
            aload 0 /* this */
            getfield org.hibernate.hql.internal.classic.SelectParser.ready:Z
            ifeq 21
            new org.hibernate.QueryException
            dup
            ldc "alias or expression expected in SELECT"
            invokespecial org.hibernate.QueryException.<init>:(Ljava/lang/String;)V
            athrow
        21: .line 107
      StackMap locals:
      StackMap stack:
            aload 2 /* q */
            ldc ", "
            invokevirtual org.hibernate.hql.internal.classic.QueryTranslatorImpl.appendScalarSelectToken:(Ljava/lang/String;)V
        22: .line 108
            aload 0 /* this */
            iconst_1
            putfield org.hibernate.hql.internal.classic.SelectParser.ready:Z
        23: .line 109
            goto 107
        24: .line 110
      StackMap locals:
      StackMap stack:
            ldc "new"
            aload 3 /* lctoken */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 28
        25: .line 111
            aload 0 /* this */
            iconst_1
            putfield org.hibernate.hql.internal.classic.SelectParser.afterNew:Z
        26: .line 112
            aload 0 /* this */
            iconst_0
            putfield org.hibernate.hql.internal.classic.SelectParser.ready:Z
        27: .line 113
            goto 107
        28: .line 114
      StackMap locals:
      StackMap stack:
            ldc "("
            aload 1 /* token */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 38
        29: .line 115
            aload 0 /* this */
            getfield org.hibernate.hql.internal.classic.SelectParser.insideNew:Z
            ifeq 32
            aload 0 /* this */
            getfield org.hibernate.hql.internal.classic.SelectParser.aggregate:Z
            ifne 32
            aload 0 /* this */
            getfield org.hibernate.hql.internal.classic.SelectParser.ready:Z
            ifne 32
        30: .line 117
            aload 0 /* this */
            iconst_1
            putfield org.hibernate.hql.internal.classic.SelectParser.ready:Z
        31: .line 118
            goto 36
        32: .line 119
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.hql.internal.classic.SelectParser.aggregate:Z
            ifeq 35
        33: .line 120
            aload 2 /* q */
            aload 1 /* token */
            invokevirtual org.hibernate.hql.internal.classic.QueryTranslatorImpl.appendScalarSelectToken:(Ljava/lang/String;)V
        34: .line 121
            goto 36
        35: .line 123
      StackMap locals:
      StackMap stack:
            new org.hibernate.QueryException
            dup
            ldc "aggregate function expected before ( in SELECT"
            invokespecial org.hibernate.QueryException.<init>:(Ljava/lang/String;)V
            athrow
        36: .line 125
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield org.hibernate.hql.internal.classic.SelectParser.ready:Z
        37: .line 126
            goto 107
        38: .line 127
      StackMap locals:
      StackMap stack:
            ldc ")"
            aload 1 /* token */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 50
        39: .line 128
            aload 0 /* this */
            getfield org.hibernate.hql.internal.classic.SelectParser.insideNew:Z
            ifeq 42
            aload 0 /* this */
            getfield org.hibernate.hql.internal.classic.SelectParser.aggregate:Z
            ifne 42
            aload 0 /* this */
            getfield org.hibernate.hql.internal.classic.SelectParser.ready:Z
            ifne 42
        40: .line 130
            aload 0 /* this */
            iconst_0
            putfield org.hibernate.hql.internal.classic.SelectParser.insideNew:Z
        41: .line 131
            goto 107
        42: .line 132
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.hql.internal.classic.SelectParser.aggregate:Z
            ifeq 49
            aload 0 /* this */
            getfield org.hibernate.hql.internal.classic.SelectParser.ready:Z
            ifeq 49
        43: .line 133
            aload 2 /* q */
            aload 1 /* token */
            invokevirtual org.hibernate.hql.internal.classic.QueryTranslatorImpl.appendScalarSelectToken:(Ljava/lang/String;)V
        44: .line 134
            aload 0 /* this */
            getfield org.hibernate.hql.internal.classic.SelectParser.aggregateFuncTokenList:Ljava/util/LinkedList;
            invokevirtual java.util.LinkedList.removeLast:()Ljava/lang/Object;
            pop
        45: .line 135
            aload 0 /* this */
            getfield org.hibernate.hql.internal.classic.SelectParser.aggregateFuncTokenList:Ljava/util/LinkedList;
            invokevirtual java.util.LinkedList.size:()I
            iconst_1
            if_icmpge 107
        46: .line 136
            aload 0 /* this */
            iconst_0
            putfield org.hibernate.hql.internal.classic.SelectParser.aggregate:Z
        47: .line 137
            aload 0 /* this */
            iconst_0
            putfield org.hibernate.hql.internal.classic.SelectParser.ready:Z
        48: .line 139
            goto 107
        49: .line 141
      StackMap locals:
      StackMap stack:
            new org.hibernate.QueryException
            dup
            ldc "( expected before ) in select"
            invokespecial org.hibernate.QueryException.<init>:(Ljava/lang/String;)V
            athrow
        50: .line 144
      StackMap locals:
      StackMap stack:
            getstatic org.hibernate.hql.internal.classic.SelectParser.COUNT_MODIFIERS:Ljava/util/Set;
            aload 3 /* lctoken */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 57
        51: .line 145
            aload 0 /* this */
            getfield org.hibernate.hql.internal.classic.SelectParser.ready:Z
            ifeq 52
            aload 0 /* this */
            getfield org.hibernate.hql.internal.classic.SelectParser.aggregate:Z
            ifne 53
        52: .line 146
      StackMap locals:
      StackMap stack:
            new org.hibernate.QueryException
            dup
            new java.lang.StringBuilder
            dup
            aload 1 /* token */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " only allowed inside aggregate function in SELECT"
            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
        53: .line 148
      StackMap locals:
      StackMap stack:
            aload 2 /* q */
            aload 1 /* token */
            invokevirtual org.hibernate.hql.internal.classic.QueryTranslatorImpl.appendScalarSelectToken:(Ljava/lang/String;)V
        54: .line 149
            ldc "*"
            aload 1 /* token */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 107
        55: .line 151
            aload 2 /* q */
            aload 0 /* this */
            ldc "count"
            aload 2 /* q */
            invokevirtual org.hibernate.hql.internal.classic.SelectParser.getFunction:(Ljava/lang/String;Lorg/hibernate/hql/internal/classic/QueryTranslatorImpl;)Lorg/hibernate/dialect/function/SQLFunction;
            getstatic org.hibernate.type.StandardBasicTypes.LONG:Lorg/hibernate/type/LongType;
            aload 2 /* q */
            invokevirtual org.hibernate.hql.internal.classic.QueryTranslatorImpl.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.dialect.function.SQLFunction.getReturnType:(Lorg/hibernate/type/Type;Lorg/hibernate/engine/spi/Mapping;)Lorg/hibernate/type/Type;
            invokevirtual org.hibernate.hql.internal.classic.QueryTranslatorImpl.addSelectScalar:(Lorg/hibernate/type/Type;)V
        56: .line 153
            goto 107
        57: .line 154
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* lctoken */
            aload 2 /* q */
            invokevirtual org.hibernate.hql.internal.classic.SelectParser.getFunction:(Ljava/lang/String;Lorg/hibernate/hql/internal/classic/QueryTranslatorImpl;)Lorg/hibernate/dialect/function/SQLFunction;
            ifnull 74
            aload 1 /* token */
            aload 2 /* q */
            aload 1 /* token */
            invokevirtual org.hibernate.hql.internal.classic.QueryTranslatorImpl.unalias:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 74
        58: .line 156
            aload 0 /* this */
            getfield org.hibernate.hql.internal.classic.SelectParser.ready:Z
            ifne 59
            new org.hibernate.QueryException
            dup
            new java.lang.StringBuilder
            dup
            ldc ", expected before aggregate function in SELECT: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* token */
            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
        59: .line 157
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield org.hibernate.hql.internal.classic.SelectParser.aggregate:Z
        60: .line 158
            aload 0 /* this */
            iconst_1
            putfield org.hibernate.hql.internal.classic.SelectParser.aggregateAddSelectScalar:Z
        61: .line 159
            aload 0 /* this */
            getfield org.hibernate.hql.internal.classic.SelectParser.aggregateFuncTokenList:Ljava/util/LinkedList;
            aload 3 /* lctoken */
            invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
            pop
        62: .line 160
            aload 0 /* this */
            iconst_0
            putfield org.hibernate.hql.internal.classic.SelectParser.ready:Z
        63: .line 161
            aload 2 /* q */
            aload 1 /* token */
            invokevirtual org.hibernate.hql.internal.classic.QueryTranslatorImpl.appendScalarSelectToken:(Ljava/lang/String;)V
        64: .line 162
            aload 0 /* this */
            aload 3 /* lctoken */
            aload 2 /* q */
            invokevirtual org.hibernate.hql.internal.classic.SelectParser.aggregateHasArgs:(Ljava/lang/String;Lorg/hibernate/hql/internal/classic/QueryTranslatorImpl;)Z
            ifne 107
        65: .line 163
            aload 2 /* q */
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.hql.internal.classic.SelectParser.aggregateFuncTokenList:Ljava/util/LinkedList;
            aconst_null
            aload 2 /* q */
            invokevirtual org.hibernate.hql.internal.classic.SelectParser.aggregateType:(Ljava/util/List;Lorg/hibernate/type/Type;Lorg/hibernate/hql/internal/classic/QueryTranslatorImpl;)Lorg/hibernate/type/Type;
            invokevirtual org.hibernate.hql.internal.classic.QueryTranslatorImpl.addSelectScalar:(Lorg/hibernate/type/Type;)V
        66: .line 164
            aload 0 /* this */
            aload 3 /* lctoken */
            aload 2 /* q */
            invokevirtual org.hibernate.hql.internal.classic.SelectParser.aggregateFuncNoArgsHasParenthesis:(Ljava/lang/String;Lorg/hibernate/hql/internal/classic/QueryTranslatorImpl;)Z
            ifne 107
        67: .line 165
            aload 0 /* this */
            getfield org.hibernate.hql.internal.classic.SelectParser.aggregateFuncTokenList:Ljava/util/LinkedList;
            invokevirtual java.util.LinkedList.removeLast:()Ljava/lang/Object;
            pop
        68: .line 166
            aload 0 /* this */
            getfield org.hibernate.hql.internal.classic.SelectParser.aggregateFuncTokenList:Ljava/util/LinkedList;
            invokevirtual java.util.LinkedList.size:()I
            iconst_1
            if_icmpge 72
        69: .line 167
            aload 0 /* this */
            iconst_0
            putfield org.hibernate.hql.internal.classic.SelectParser.aggregate:Z
        70: .line 168
            aload 0 /* this */
            iconst_0
            putfield org.hibernate.hql.internal.classic.SelectParser.ready:Z
        71: .line 169
            goto 107
        72: .line 171
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield org.hibernate.hql.internal.classic.SelectParser.ready:Z
        73: .line 175
            goto 107
        74: .line 176
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.hql.internal.classic.SelectParser.aggregate:Z
            ifeq 94
        75: .line 177
            iconst_0
            istore 4 /* constantToken */
        start local 4 // boolean constantToken
        76: .line 178
            aload 0 /* this */
            getfield org.hibernate.hql.internal.classic.SelectParser.ready:Z
            ifne 77
            new org.hibernate.QueryException
            dup
            ldc "( expected after aggregate function in SELECT"
            invokespecial org.hibernate.QueryException.<init>:(Ljava/lang/String;)V
            athrow
        77: .line 180
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.hql.internal.classic.SelectParser.aggregatePathExpressionParser:Lorg/hibernate/hql/internal/classic/PathExpressionParser;
            aload 2 /* q */
            aload 1 /* token */
            invokevirtual org.hibernate.hql.internal.classic.QueryTranslatorImpl.unalias:(Ljava/lang/String;)Ljava/lang/String;
            ldc "."
            aload 2 /* q */
            invokestatic org.hibernate.hql.internal.classic.ParserHelper.parse:(Lorg/hibernate/hql/internal/classic/Parser;Ljava/lang/String;Ljava/lang/String;Lorg/hibernate/hql/internal/classic/QueryTranslatorImpl;)V
        78: .line 181
            goto 81
        79: .line 182
      StackMap locals:
      StackMap stack: org.hibernate.QueryException
            pop
        80: .line 183
            iconst_1
            istore 4 /* constantToken */
        81: .line 186
      StackMap locals:
      StackMap stack:
            iload 4 /* constantToken */
            ifeq 84
        82: .line 187
            aload 2 /* q */
            aload 1 /* token */
            invokevirtual org.hibernate.hql.internal.classic.QueryTranslatorImpl.appendScalarSelectToken:(Ljava/lang/String;)V
        83: .line 188
            goto 107
        84: .line 190
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.hql.internal.classic.SelectParser.aggregatePathExpressionParser:Lorg/hibernate/hql/internal/classic/PathExpressionParser;
            invokevirtual org.hibernate.hql.internal.classic.PathExpressionParser.isCollectionValued:()Z
            ifeq 88
        85: .line 191
            aload 2 /* q */
            aload 0 /* this */
            getfield org.hibernate.hql.internal.classic.SelectParser.aggregatePathExpressionParser:Lorg/hibernate/hql/internal/classic/PathExpressionParser;
            invokevirtual org.hibernate.hql.internal.classic.PathExpressionParser.getCollectionName:()Ljava/lang/String;
        86: .line 192
            aload 0 /* this */
            getfield org.hibernate.hql.internal.classic.SelectParser.aggregatePathExpressionParser:Lorg/hibernate/hql/internal/classic/PathExpressionParser;
            invokevirtual org.hibernate.hql.internal.classic.PathExpressionParser.getCollectionRole:()Ljava/lang/String;
        87: .line 191
            invokevirtual org.hibernate.hql.internal.classic.QueryTranslatorImpl.addCollection:(Ljava/lang/String;Ljava/lang/String;)V
        88: .line 194
      StackMap locals:
      StackMap stack:
            aload 2 /* q */
            aload 0 /* this */
            getfield org.hibernate.hql.internal.classic.SelectParser.aggregatePathExpressionParser:Lorg/hibernate/hql/internal/classic/PathExpressionParser;
            invokevirtual org.hibernate.hql.internal.classic.PathExpressionParser.getWhereColumn:()Ljava/lang/String;
            invokevirtual org.hibernate.hql.internal.classic.QueryTranslatorImpl.appendScalarSelectToken:(Ljava/lang/String;)V
        89: .line 195
            aload 0 /* this */
            getfield org.hibernate.hql.internal.classic.SelectParser.aggregateAddSelectScalar:Z
            ifeq 92
        90: .line 196
            aload 2 /* q */
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hibernate.hql.internal.classic.SelectParser.aggregateFuncTokenList:Ljava/util/LinkedList;
            aload 0 /* this */
            getfield org.hibernate.hql.internal.classic.SelectParser.aggregatePathExpressionParser:Lorg/hibernate/hql/internal/classic/PathExpressionParser;
            invokevirtual org.hibernate.hql.internal.classic.PathExpressionParser.getWhereColumnType:()Lorg/hibernate/type/Type;
            aload 2 /* q */
            invokevirtual org.hibernate.hql.internal.classic.SelectParser.aggregateType:(Ljava/util/List;Lorg/hibernate/type/Type;Lorg/hibernate/hql/internal/classic/QueryTranslatorImpl;)Lorg/hibernate/type/Type;
            invokevirtual org.hibernate.hql.internal.classic.QueryTranslatorImpl.addSelectScalar:(Lorg/hibernate/type/Type;)V
        91: .line 197
            aload 0 /* this */
            iconst_0
            putfield org.hibernate.hql.internal.classic.SelectParser.aggregateAddSelectScalar:Z
        92: .line 199
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.hql.internal.classic.SelectParser.aggregatePathExpressionParser:Lorg/hibernate/hql/internal/classic/PathExpressionParser;
            aload 2 /* q */
            invokevirtual org.hibernate.hql.internal.classic.PathExpressionParser.addAssociation:(Lorg/hibernate/hql/internal/classic/QueryTranslatorImpl;)V
        end local 4 // boolean constantToken
        93: .line 201
            goto 107
        94: .line 203
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.hql.internal.classic.SelectParser.ready:Z
            ifne 95
            new org.hibernate.QueryException
            dup
            ldc ", expected in SELECT"
            invokespecial org.hibernate.QueryException.<init>:(Ljava/lang/String;)V
            athrow
        95: .line 204
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.hql.internal.classic.SelectParser.pathExpressionParser:Lorg/hibernate/hql/internal/classic/SelectPathExpressionParser;
            aload 2 /* q */
            aload 1 /* token */
            invokevirtual org.hibernate.hql.internal.classic.QueryTranslatorImpl.unalias:(Ljava/lang/String;)Ljava/lang/String;
            ldc "."
            aload 2 /* q */
            invokestatic org.hibernate.hql.internal.classic.ParserHelper.parse:(Lorg/hibernate/hql/internal/classic/Parser;Ljava/lang/String;Ljava/lang/String;Lorg/hibernate/hql/internal/classic/QueryTranslatorImpl;)V
        96: .line 205
            aload 0 /* this */
            getfield org.hibernate.hql.internal.classic.SelectParser.pathExpressionParser:Lorg/hibernate/hql/internal/classic/SelectPathExpressionParser;
            invokevirtual org.hibernate.hql.internal.classic.SelectPathExpressionParser.isCollectionValued:()Z
            ifeq 101
        97: .line 206
            aload 2 /* q */
            aload 0 /* this */
            getfield org.hibernate.hql.internal.classic.SelectParser.pathExpressionParser:Lorg/hibernate/hql/internal/classic/SelectPathExpressionParser;
            invokevirtual org.hibernate.hql.internal.classic.SelectPathExpressionParser.getCollectionName:()Ljava/lang/String;
        98: .line 207
            aload 0 /* this */
            getfield org.hibernate.hql.internal.classic.SelectParser.pathExpressionParser:Lorg/hibernate/hql/internal/classic/SelectPathExpressionParser;
            invokevirtual org.hibernate.hql.internal.classic.SelectPathExpressionParser.getCollectionRole:()Ljava/lang/String;
        99: .line 206
            invokevirtual org.hibernate.hql.internal.classic.QueryTranslatorImpl.addCollection:(Ljava/lang/String;Ljava/lang/String;)V
       100: .line 208
            goto 103
       101: .line 209
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hibernate.hql.internal.classic.SelectParser.pathExpressionParser:Lorg/hibernate/hql/internal/classic/SelectPathExpressionParser;
            invokevirtual org.hibernate.hql.internal.classic.SelectPathExpressionParser.getWhereColumnType:()Lorg/hibernate/type/Type;
            invokeinterface org.hibernate.type.Type.isEntityType:()Z
            ifeq 103
       102: .line 210
            aload 2 /* q */
            aload 0 /* this */
            getfield org.hibernate.hql.internal.classic.SelectParser.pathExpressionParser:Lorg/hibernate/hql/internal/classic/SelectPathExpressionParser;
            invokevirtual org.hibernate.hql.internal.classic.SelectPathExpressionParser.getSelectName:()Ljava/lang/String;
            invokevirtual org.hibernate.hql.internal.classic.QueryTranslatorImpl.addSelectClass:(Ljava/lang/String;)V
       103: .line 212
      StackMap locals:
      StackMap stack:
            aload 2 /* q */
            aload 0 /* this */
            getfield org.hibernate.hql.internal.classic.SelectParser.pathExpressionParser:Lorg/hibernate/hql/internal/classic/SelectPathExpressionParser;
            invokevirtual org.hibernate.hql.internal.classic.SelectPathExpressionParser.getWhereColumns:()[Ljava/lang/String;
            invokevirtual org.hibernate.hql.internal.classic.QueryTranslatorImpl.appendScalarSelectTokens:([Ljava/lang/String;)V
       104: .line 213
            aload 2 /* q */
            aload 0 /* this */
            getfield org.hibernate.hql.internal.classic.SelectParser.pathExpressionParser:Lorg/hibernate/hql/internal/classic/SelectPathExpressionParser;
            invokevirtual org.hibernate.hql.internal.classic.SelectPathExpressionParser.getWhereColumnType:()Lorg/hibernate/type/Type;
            invokevirtual org.hibernate.hql.internal.classic.QueryTranslatorImpl.addSelectScalar:(Lorg/hibernate/type/Type;)V
       105: .line 214
            aload 0 /* this */
            getfield org.hibernate.hql.internal.classic.SelectParser.pathExpressionParser:Lorg/hibernate/hql/internal/classic/SelectPathExpressionParser;
            aload 2 /* q */
            invokevirtual org.hibernate.hql.internal.classic.SelectPathExpressionParser.addAssociation:(Lorg/hibernate/hql/internal/classic/QueryTranslatorImpl;)V
       106: .line 216
            aload 0 /* this */
            iconst_0
            putfield org.hibernate.hql.internal.classic.SelectParser.ready:Z
       107: .line 218
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.String lctoken
        end local 2 // org.hibernate.hql.internal.classic.QueryTranslatorImpl q
        end local 1 // java.lang.String token
        end local 0 // org.hibernate.hql.internal.classic.SelectParser this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0  108     0           this  Lorg/hibernate/hql/internal/classic/SelectParser;
            0  108     1          token  Ljava/lang/String;
            0  108     2              q  Lorg/hibernate/hql/internal/classic/QueryTranslatorImpl;
            1  108     3        lctoken  Ljava/lang/String;
           14   15     4           cnfe  Ljava/lang/ClassNotFoundException;
           76   93     4  constantToken  Z
      Exception table:
        from    to  target  type
          11    12      13  Class java.lang.ClassNotFoundException
          77    78      79  Class org.hibernate.QueryException
    Exceptions:
      throws org.hibernate.QueryException
    MethodParameters:
       Name  Flags
      token  
      q      

  public boolean aggregateHasArgs(java.lang.String, org.hibernate.hql.internal.classic.QueryTranslatorImpl);
    descriptor: (Ljava/lang/String;Lorg/hibernate/hql/internal/classic/QueryTranslatorImpl;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.hibernate.hql.internal.classic.SelectParser this
        start local 1 // java.lang.String funcToken
        start local 2 // org.hibernate.hql.internal.classic.QueryTranslatorImpl q
         0: .line 221
            aload 0 /* this */
            aload 1 /* funcToken */
            aload 2 /* q */
            invokevirtual org.hibernate.hql.internal.classic.SelectParser.getFunction:(Ljava/lang/String;Lorg/hibernate/hql/internal/classic/QueryTranslatorImpl;)Lorg/hibernate/dialect/function/SQLFunction;
            invokeinterface org.hibernate.dialect.function.SQLFunction.hasArguments:()Z
            ireturn
        end local 2 // org.hibernate.hql.internal.classic.QueryTranslatorImpl q
        end local 1 // java.lang.String funcToken
        end local 0 // org.hibernate.hql.internal.classic.SelectParser this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/hibernate/hql/internal/classic/SelectParser;
            0    1     1  funcToken  Ljava/lang/String;
            0    1     2          q  Lorg/hibernate/hql/internal/classic/QueryTranslatorImpl;
    MethodParameters:
           Name  Flags
      funcToken  
      q          

  public boolean aggregateFuncNoArgsHasParenthesis(java.lang.String, org.hibernate.hql.internal.classic.QueryTranslatorImpl);
    descriptor: (Ljava/lang/String;Lorg/hibernate/hql/internal/classic/QueryTranslatorImpl;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.hibernate.hql.internal.classic.SelectParser this
        start local 1 // java.lang.String funcToken
        start local 2 // org.hibernate.hql.internal.classic.QueryTranslatorImpl q
         0: .line 225
            aload 0 /* this */
            aload 1 /* funcToken */
            aload 2 /* q */
            invokevirtual org.hibernate.hql.internal.classic.SelectParser.getFunction:(Ljava/lang/String;Lorg/hibernate/hql/internal/classic/QueryTranslatorImpl;)Lorg/hibernate/dialect/function/SQLFunction;
            invokeinterface org.hibernate.dialect.function.SQLFunction.hasParenthesesIfNoArguments:()Z
            ireturn
        end local 2 // org.hibernate.hql.internal.classic.QueryTranslatorImpl q
        end local 1 // java.lang.String funcToken
        end local 0 // org.hibernate.hql.internal.classic.SelectParser this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Lorg/hibernate/hql/internal/classic/SelectParser;
            0    1     1  funcToken  Ljava/lang/String;
            0    1     2          q  Lorg/hibernate/hql/internal/classic/QueryTranslatorImpl;
    MethodParameters:
           Name  Flags
      funcToken  
      q          

  public org.hibernate.type.Type aggregateType(java.util.List, org.hibernate.type.Type, org.hibernate.hql.internal.classic.QueryTranslatorImpl);
    descriptor: (Ljava/util/List;Lorg/hibernate/type/Type;Lorg/hibernate/hql/internal/classic/QueryTranslatorImpl;)Lorg/hibernate/type/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=8, args_size=4
        start local 0 // org.hibernate.hql.internal.classic.SelectParser this
        start local 1 // java.util.List funcTokenList
        start local 2 // org.hibernate.type.Type type
        start local 3 // org.hibernate.hql.internal.classic.QueryTranslatorImpl q
         0: .line 229
            aload 2 /* type */
            astore 4 /* retType */
        start local 4 // org.hibernate.type.Type retType
         1: .line 231
            aload 1 /* funcTokenList */
            invokeinterface java.util.List.size:()I
            iconst_1
            isub
            istore 6 /* i */
        start local 6 // int i
         2: goto 7
         3: .line 232
      StackMap locals: org.hibernate.hql.internal.classic.SelectParser java.util.List org.hibernate.type.Type org.hibernate.hql.internal.classic.QueryTranslatorImpl org.hibernate.type.Type top int
      StackMap stack:
            aload 4 /* retType */
            astore 5 /* argType */
        start local 5 // org.hibernate.type.Type argType
         4: .line 233
            aload 1 /* funcTokenList */
            iload 6 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.lang.String
            astore 7 /* funcToken */
        start local 7 // java.lang.String funcToken
         5: .line 234
            aload 0 /* this */
            aload 7 /* funcToken */
            aload 3 /* q */
            invokevirtual org.hibernate.hql.internal.classic.SelectParser.getFunction:(Ljava/lang/String;Lorg/hibernate/hql/internal/classic/QueryTranslatorImpl;)Lorg/hibernate/dialect/function/SQLFunction;
            aload 5 /* argType */
            aload 3 /* q */
            invokevirtual org.hibernate.hql.internal.classic.QueryTranslatorImpl.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.dialect.function.SQLFunction.getReturnType:(Lorg/hibernate/type/Type;Lorg/hibernate/engine/spi/Mapping;)Lorg/hibernate/type/Type;
            astore 4 /* retType */
        end local 7 // java.lang.String funcToken
         6: .line 231
            iinc 6 /* i */ -1
        end local 5 // org.hibernate.type.Type argType
      StackMap locals:
      StackMap stack:
         7: iload 6 /* i */
            ifge 3
        end local 6 // int i
         8: .line 236
            aload 4 /* retType */
            areturn
        end local 4 // org.hibernate.type.Type retType
        end local 3 // org.hibernate.hql.internal.classic.QueryTranslatorImpl q
        end local 2 // org.hibernate.type.Type type
        end local 1 // java.util.List funcTokenList
        end local 0 // org.hibernate.hql.internal.classic.SelectParser this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    9     0           this  Lorg/hibernate/hql/internal/classic/SelectParser;
            0    9     1  funcTokenList  Ljava/util/List;
            0    9     2           type  Lorg/hibernate/type/Type;
            0    9     3              q  Lorg/hibernate/hql/internal/classic/QueryTranslatorImpl;
            1    9     4        retType  Lorg/hibernate/type/Type;
            4    7     5        argType  Lorg/hibernate/type/Type;
            2    8     6              i  I
            5    6     7      funcToken  Ljava/lang/String;
    Exceptions:
      throws org.hibernate.QueryException
    MethodParameters:
               Name  Flags
      funcTokenList  
      type           
      q              

  private org.hibernate.dialect.function.SQLFunction getFunction(java.lang.String, org.hibernate.hql.internal.classic.QueryTranslatorImpl);
    descriptor: (Ljava/lang/String;Lorg/hibernate/hql/internal/classic/QueryTranslatorImpl;)Lorg/hibernate/dialect/function/SQLFunction;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.hibernate.hql.internal.classic.SelectParser this
        start local 1 // java.lang.String name
        start local 2 // org.hibernate.hql.internal.classic.QueryTranslatorImpl q
         0: .line 240
            aload 2 /* q */
            invokevirtual org.hibernate.hql.internal.classic.QueryTranslatorImpl.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
            invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getSqlFunctionRegistry:()Lorg/hibernate/dialect/function/SQLFunctionRegistry;
            aload 1 /* name */
            invokevirtual org.hibernate.dialect.function.SQLFunctionRegistry.findSQLFunction:(Ljava/lang/String;)Lorg/hibernate/dialect/function/SQLFunction;
            areturn
        end local 2 // org.hibernate.hql.internal.classic.QueryTranslatorImpl q
        end local 1 // java.lang.String name
        end local 0 // org.hibernate.hql.internal.classic.SelectParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/hql/internal/classic/SelectParser;
            0    1     1  name  Ljava/lang/String;
            0    1     2     q  Lorg/hibernate/hql/internal/classic/QueryTranslatorImpl;
    MethodParameters:
      Name  Flags
      name  
      q     

  public void start(org.hibernate.hql.internal.classic.QueryTranslatorImpl);
    descriptor: (Lorg/hibernate/hql/internal/classic/QueryTranslatorImpl;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.hql.internal.classic.SelectParser this
        start local 1 // org.hibernate.hql.internal.classic.QueryTranslatorImpl q
         0: .line 244
            aload 0 /* this */
            iconst_1
            putfield org.hibernate.hql.internal.classic.SelectParser.ready:Z
         1: .line 245
            aload 0 /* this */
            iconst_1
            putfield org.hibernate.hql.internal.classic.SelectParser.first:Z
         2: .line 246
            aload 0 /* this */
            iconst_0
            putfield org.hibernate.hql.internal.classic.SelectParser.aggregate:Z
         3: .line 247
            aload 0 /* this */
            iconst_0
            putfield org.hibernate.hql.internal.classic.SelectParser.afterNew:Z
         4: .line 248
            aload 0 /* this */
            iconst_0
            putfield org.hibernate.hql.internal.classic.SelectParser.insideNew:Z
         5: .line 249
            aload 0 /* this */
            aconst_null
            putfield org.hibernate.hql.internal.classic.SelectParser.holderClass:Ljava/lang/Class;
         6: .line 250
            aload 0 /* this */
            getfield org.hibernate.hql.internal.classic.SelectParser.aggregateFuncTokenList:Ljava/util/LinkedList;
            invokevirtual java.util.LinkedList.clear:()V
         7: .line 251
            return
        end local 1 // org.hibernate.hql.internal.classic.QueryTranslatorImpl q
        end local 0 // org.hibernate.hql.internal.classic.SelectParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/hibernate/hql/internal/classic/SelectParser;
            0    8     1     q  Lorg/hibernate/hql/internal/classic/QueryTranslatorImpl;
    MethodParameters:
      Name  Flags
      q     

  public void end(org.hibernate.hql.internal.classic.QueryTranslatorImpl);
    descriptor: (Lorg/hibernate/hql/internal/classic/QueryTranslatorImpl;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // org.hibernate.hql.internal.classic.SelectParser this
        start local 1 // org.hibernate.hql.internal.classic.QueryTranslatorImpl q
         0: .line 254
            return
        end local 1 // org.hibernate.hql.internal.classic.QueryTranslatorImpl q
        end local 0 // org.hibernate.hql.internal.classic.SelectParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/hql/internal/classic/SelectParser;
            0    1     1     q  Lorg/hibernate/hql/internal/classic/QueryTranslatorImpl;
    MethodParameters:
      Name  Flags
      q     
}
SourceFile: "SelectParser.java"