public class org.h2.expression.ExpressionColumn extends org.h2.expression.Expression
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.h2.expression.ExpressionColumn
  super_class: org.h2.expression.Expression
{
  private final org.h2.engine.Database database;
    descriptor: Lorg/h2/engine/Database;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

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

  private final boolean rowId;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private org.h2.table.ColumnResolver columnResolver;
    descriptor: Lorg/h2/table/ColumnResolver;
    flags: (0x0002) ACC_PRIVATE

  private int queryLevel;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private org.h2.table.Column column;
    descriptor: Lorg/h2/table/Column;
    flags: (0x0002) ACC_PRIVATE

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

  public void <init>(org.h2.engine.Database, org.h2.table.Column);
    descriptor: (Lorg/h2/engine/Database;Lorg/h2/table/Column;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.h2.expression.ExpressionColumn this
        start local 1 // org.h2.engine.Database database
        start local 2 // org.h2.table.Column column
         0: .line 45
            aload 0 /* this */
            invokespecial org.h2.expression.Expression.<init>:()V
         1: .line 46
            aload 0 /* this */
            aload 1 /* database */
            putfield org.h2.expression.ExpressionColumn.database:Lorg/h2/engine/Database;
         2: .line 47
            aload 0 /* this */
            aload 2 /* column */
            putfield org.h2.expression.ExpressionColumn.column:Lorg/h2/table/Column;
         3: .line 48
            aload 0 /* this */
            aconst_null
            putfield org.h2.expression.ExpressionColumn.schemaName:Ljava/lang/String;
         4: .line 49
            aload 0 /* this */
            aconst_null
            putfield org.h2.expression.ExpressionColumn.tableAlias:Ljava/lang/String;
         5: .line 50
            aload 0 /* this */
            aconst_null
            putfield org.h2.expression.ExpressionColumn.columnName:Ljava/lang/String;
         6: .line 51
            aload 0 /* this */
            aload 2 /* column */
            invokevirtual org.h2.table.Column.isRowId:()Z
            putfield org.h2.expression.ExpressionColumn.rowId:Z
         7: .line 52
            return
        end local 2 // org.h2.table.Column column
        end local 1 // org.h2.engine.Database database
        end local 0 // org.h2.expression.ExpressionColumn this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0      this  Lorg/h2/expression/ExpressionColumn;
            0    8     1  database  Lorg/h2/engine/Database;
            0    8     2    column  Lorg/h2/table/Column;
    MethodParameters:
          Name  Flags
      database  
      column    

  public void <init>(org.h2.engine.Database, java.lang.String, java.lang.String, java.lang.String, boolean);
    descriptor: (Lorg/h2/engine/Database;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=6, args_size=6
        start local 0 // org.h2.expression.ExpressionColumn this
        start local 1 // org.h2.engine.Database database
        start local 2 // java.lang.String schemaName
        start local 3 // java.lang.String tableAlias
        start local 4 // java.lang.String columnName
        start local 5 // boolean rowId
         0: .line 54
            aload 0 /* this */
            invokespecial org.h2.expression.Expression.<init>:()V
         1: .line 56
            aload 0 /* this */
            aload 1 /* database */
            putfield org.h2.expression.ExpressionColumn.database:Lorg/h2/engine/Database;
         2: .line 57
            aload 0 /* this */
            aload 2 /* schemaName */
            putfield org.h2.expression.ExpressionColumn.schemaName:Ljava/lang/String;
         3: .line 58
            aload 0 /* this */
            aload 3 /* tableAlias */
            putfield org.h2.expression.ExpressionColumn.tableAlias:Ljava/lang/String;
         4: .line 59
            aload 0 /* this */
            aload 4 /* columnName */
            putfield org.h2.expression.ExpressionColumn.columnName:Ljava/lang/String;
         5: .line 60
            aload 0 /* this */
            iload 5 /* rowId */
            putfield org.h2.expression.ExpressionColumn.rowId:Z
         6: .line 61
            return
        end local 5 // boolean rowId
        end local 4 // java.lang.String columnName
        end local 3 // java.lang.String tableAlias
        end local 2 // java.lang.String schemaName
        end local 1 // org.h2.engine.Database database
        end local 0 // org.h2.expression.ExpressionColumn this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lorg/h2/expression/ExpressionColumn;
            0    7     1    database  Lorg/h2/engine/Database;
            0    7     2  schemaName  Ljava/lang/String;
            0    7     3  tableAlias  Ljava/lang/String;
            0    7     4  columnName  Ljava/lang/String;
            0    7     5       rowId  Z
    MethodParameters:
            Name  Flags
      database    
      schemaName  
      tableAlias  
      columnName  
      rowId       

  public java.lang.StringBuilder getSQL(java.lang.StringBuilder, boolean);
    descriptor: (Ljava/lang/StringBuilder;Z)Ljava/lang/StringBuilder;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.h2.expression.ExpressionColumn this
        start local 1 // java.lang.StringBuilder builder
        start local 2 // boolean alwaysQuote
         0: .line 65
            aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.schemaName:Ljava/lang/String;
            ifnull 2
         1: .line 66
            aload 1 /* builder */
            aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.schemaName:Ljava/lang/String;
            iload 2 /* alwaysQuote */
            invokestatic org.h2.command.Parser.quoteIdentifier:(Ljava/lang/StringBuilder;Ljava/lang/String;Z)Ljava/lang/StringBuilder;
            bipush 46
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         2: .line 68
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.tableAlias:Ljava/lang/String;
            ifnull 4
         3: .line 69
            aload 1 /* builder */
            aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.tableAlias:Ljava/lang/String;
            iload 2 /* alwaysQuote */
            invokestatic org.h2.command.Parser.quoteIdentifier:(Ljava/lang/StringBuilder;Ljava/lang/String;Z)Ljava/lang/StringBuilder;
            bipush 46
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         4: .line 71
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.column:Lorg/h2/table/Column;
            ifnull 10
         5: .line 72
            aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.derivedName:Ljava/lang/String;
            ifnull 8
         6: .line 73
            aload 1 /* builder */
            aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.derivedName:Ljava/lang/String;
            iload 2 /* alwaysQuote */
            invokestatic org.h2.command.Parser.quoteIdentifier:(Ljava/lang/StringBuilder;Ljava/lang/String;Z)Ljava/lang/StringBuilder;
            pop
         7: .line 74
            goto 14
         8: .line 75
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.column:Lorg/h2/table/Column;
            aload 1 /* builder */
            iload 2 /* alwaysQuote */
            invokevirtual org.h2.table.Column.getSQL:(Ljava/lang/StringBuilder;Z)Ljava/lang/StringBuilder;
            pop
         9: .line 77
            goto 14
      StackMap locals:
      StackMap stack:
        10: aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.rowId:Z
            ifeq 13
        11: .line 78
            aload 1 /* builder */
            aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.columnName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        12: .line 79
            goto 14
        13: .line 80
      StackMap locals:
      StackMap stack:
            aload 1 /* builder */
            aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.columnName:Ljava/lang/String;
            iload 2 /* alwaysQuote */
            invokestatic org.h2.command.Parser.quoteIdentifier:(Ljava/lang/StringBuilder;Ljava/lang/String;Z)Ljava/lang/StringBuilder;
            pop
        14: .line 82
      StackMap locals:
      StackMap stack:
            aload 1 /* builder */
            areturn
        end local 2 // boolean alwaysQuote
        end local 1 // java.lang.StringBuilder builder
        end local 0 // org.h2.expression.ExpressionColumn this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   15     0         this  Lorg/h2/expression/ExpressionColumn;
            0   15     1      builder  Ljava/lang/StringBuilder;
            0   15     2  alwaysQuote  Z
    MethodParameters:
             Name  Flags
      builder      
      alwaysQuote  

  public org.h2.table.TableFilter getTableFilter();
    descriptor: ()Lorg/h2/table/TableFilter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.expression.ExpressionColumn this
         0: .line 86
            aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.columnResolver:Lorg/h2/table/ColumnResolver;
            ifnonnull 1
            aconst_null
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.columnResolver:Lorg/h2/table/ColumnResolver;
            invokeinterface org.h2.table.ColumnResolver.getTableFilter:()Lorg/h2/table/TableFilter;
      StackMap locals:
      StackMap stack: org.h2.table.TableFilter
         2: areturn
        end local 0 // org.h2.expression.ExpressionColumn this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/h2/expression/ExpressionColumn;

  public void mapColumns(org.h2.table.ColumnResolver, int, int);
    descriptor: (Lorg/h2/table/ColumnResolver;II)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=10, args_size=4
        start local 0 // org.h2.expression.ExpressionColumn this
        start local 1 // org.h2.table.ColumnResolver resolver
        start local 2 // int level
        start local 3 // int state
         0: .line 91
            aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.tableAlias:Ljava/lang/String;
            ifnull 5
            aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.database:Lorg/h2/engine/Database;
         1: .line 92
            aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.tableAlias:Ljava/lang/String;
            aload 1 /* resolver */
            invokeinterface org.h2.table.ColumnResolver.getTableAlias:()Ljava/lang/String;
         2: .line 91
            invokevirtual org.h2.engine.Database.equalsIdentifiers:(Ljava/lang/String;Ljava/lang/String;)Z
         3: .line 92
            ifne 5
         4: .line 93
            return
         5: .line 95
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.schemaName:Ljava/lang/String;
            ifnull 10
            aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.database:Lorg/h2/engine/Database;
         6: .line 96
            aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.schemaName:Ljava/lang/String;
            aload 1 /* resolver */
            invokeinterface org.h2.table.ColumnResolver.getSchemaName:()Ljava/lang/String;
         7: .line 95
            invokevirtual org.h2.engine.Database.equalsIdentifiers:(Ljava/lang/String;Ljava/lang/String;)Z
         8: .line 96
            ifne 10
         9: .line 97
            return
        10: .line 99
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.rowId:Z
            ifeq 15
        11: .line 100
            aload 1 /* resolver */
            invokeinterface org.h2.table.ColumnResolver.getRowIdColumn:()Lorg/h2/table/Column;
            astore 4 /* col */
        start local 4 // org.h2.table.Column col
        12: .line 101
            aload 4 /* col */
            ifnull 14
        13: .line 102
            aload 0 /* this */
            aload 1 /* resolver */
            aload 4 /* col */
            iload 2 /* level */
            invokevirtual org.h2.expression.ExpressionColumn.mapColumn:(Lorg/h2/table/ColumnResolver;Lorg/h2/table/Column;I)V
        14: .line 104
      StackMap locals: org.h2.table.Column
      StackMap stack:
            return
        end local 4 // org.h2.table.Column col
        15: .line 106
      StackMap locals:
      StackMap stack:
            aload 1 /* resolver */
            invokeinterface org.h2.table.ColumnResolver.getColumns:()[Lorg/h2/table/Column;
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 29
      StackMap locals: org.h2.expression.ExpressionColumn org.h2.table.ColumnResolver int int top int int org.h2.table.Column[]
      StackMap stack:
        16: aload 7
            iload 5
            aaload
            astore 4 /* col */
        start local 4 // org.h2.table.Column col
        17: .line 107
            aload 1 /* resolver */
            aload 4 /* col */
            invokeinterface org.h2.table.ColumnResolver.getDerivedColumnName:(Lorg/h2/table/Column;)Ljava/lang/String;
            astore 8 /* n */
        start local 8 // java.lang.String n
        18: .line 109
            aload 8 /* n */
            ifnonnull 22
        19: .line 110
            aload 4 /* col */
            invokevirtual org.h2.table.Column.getName:()Ljava/lang/String;
            astore 8 /* n */
        20: .line 111
            iconst_0
            istore 9 /* derived */
        start local 9 // boolean derived
        21: .line 112
            goto 23
        end local 9 // boolean derived
        22: .line 113
      StackMap locals: org.h2.expression.ExpressionColumn org.h2.table.ColumnResolver int int org.h2.table.Column int int org.h2.table.Column[] java.lang.String
      StackMap stack:
            iconst_1
            istore 9 /* derived */
        start local 9 // boolean derived
        23: .line 115
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.database:Lorg/h2/engine/Database;
            aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.columnName:Ljava/lang/String;
            aload 8 /* n */
            invokevirtual org.h2.engine.Database.equalsIdentifiers:(Ljava/lang/String;Ljava/lang/String;)Z
            ifeq 28
        24: .line 116
            aload 0 /* this */
            aload 1 /* resolver */
            aload 4 /* col */
            iload 2 /* level */
            invokevirtual org.h2.expression.ExpressionColumn.mapColumn:(Lorg/h2/table/ColumnResolver;Lorg/h2/table/Column;I)V
        25: .line 117
            iload 9 /* derived */
            ifeq 27
        26: .line 118
            aload 0 /* this */
            aload 8 /* n */
            putfield org.h2.expression.ExpressionColumn.derivedName:Ljava/lang/String;
        27: .line 120
      StackMap locals:
      StackMap stack:
            return
        end local 9 // boolean derived
        end local 8 // java.lang.String n
        end local 4 // org.h2.table.Column col
        28: .line 106
      StackMap locals: org.h2.expression.ExpressionColumn org.h2.table.ColumnResolver int int top int int org.h2.table.Column[]
      StackMap stack:
            iinc 5 1
      StackMap locals:
      StackMap stack:
        29: iload 5
            iload 6
            if_icmplt 16
        30: .line 123
            aload 1 /* resolver */
            invokeinterface org.h2.table.ColumnResolver.getSystemColumns:()[Lorg/h2/table/Column;
            astore 4 /* columns */
        start local 4 // org.h2.table.Column[] columns
        31: .line 124
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        32: goto 38
        33: .line 125
      StackMap locals: org.h2.expression.ExpressionColumn org.h2.table.ColumnResolver int int org.h2.table.Column[] int
      StackMap stack:
            aload 4 /* columns */
            iload 5 /* i */
            aaload
            astore 6 /* col */
        start local 6 // org.h2.table.Column col
        34: .line 126
            aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.database:Lorg/h2/engine/Database;
            aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.columnName:Ljava/lang/String;
            aload 6 /* col */
            invokevirtual org.h2.table.Column.getName:()Ljava/lang/String;
            invokevirtual org.h2.engine.Database.equalsIdentifiers:(Ljava/lang/String;Ljava/lang/String;)Z
            ifeq 37
        35: .line 127
            aload 0 /* this */
            aload 1 /* resolver */
            aload 6 /* col */
            iload 2 /* level */
            invokevirtual org.h2.expression.ExpressionColumn.mapColumn:(Lorg/h2/table/ColumnResolver;Lorg/h2/table/Column;I)V
        36: .line 128
            return
        end local 6 // org.h2.table.Column col
        37: .line 124
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        38: aload 4 /* columns */
            ifnull 39
            iload 5 /* i */
            aload 4 /* columns */
            arraylength
            if_icmplt 33
        end local 5 // int i
        39: .line 131
      StackMap locals:
      StackMap stack:
            return
        end local 4 // org.h2.table.Column[] columns
        end local 3 // int state
        end local 2 // int level
        end local 1 // org.h2.table.ColumnResolver resolver
        end local 0 // org.h2.expression.ExpressionColumn this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   40     0      this  Lorg/h2/expression/ExpressionColumn;
            0   40     1  resolver  Lorg/h2/table/ColumnResolver;
            0   40     2     level  I
            0   40     3     state  I
           12   15     4       col  Lorg/h2/table/Column;
           17   28     4       col  Lorg/h2/table/Column;
           18   28     8         n  Ljava/lang/String;
           21   22     9   derived  Z
           23   28     9   derived  Z
           31   40     4   columns  [Lorg/h2/table/Column;
           32   39     5         i  I
           34   37     6       col  Lorg/h2/table/Column;
    MethodParameters:
          Name  Flags
      resolver  
      level     
      state     

  private void mapColumn(org.h2.table.ColumnResolver, org.h2.table.Column, int);
    descriptor: (Lorg/h2/table/ColumnResolver;Lorg/h2/table/Column;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // org.h2.expression.ExpressionColumn this
        start local 1 // org.h2.table.ColumnResolver resolver
        start local 2 // org.h2.table.Column col
        start local 3 // int level
         0: .line 134
            aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.columnResolver:Lorg/h2/table/ColumnResolver;
            ifnonnull 5
         1: .line 135
            aload 0 /* this */
            iload 3 /* level */
            putfield org.h2.expression.ExpressionColumn.queryLevel:I
         2: .line 136
            aload 0 /* this */
            aload 2 /* col */
            putfield org.h2.expression.ExpressionColumn.column:Lorg/h2/table/Column;
         3: .line 137
            aload 0 /* this */
            aload 1 /* resolver */
            putfield org.h2.expression.ExpressionColumn.columnResolver:Lorg/h2/table/ColumnResolver;
         4: .line 138
            goto 8
      StackMap locals:
      StackMap stack:
         5: aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.queryLevel:I
            iload 3 /* level */
            if_icmpne 8
            aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.columnResolver:Lorg/h2/table/ColumnResolver;
            aload 1 /* resolver */
            if_acmpeq 8
         6: .line 139
            aload 1 /* resolver */
            instanceof org.h2.command.dml.SelectListColumnResolver
            ifne 8
         7: .line 142
            ldc 90059
            aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.columnName:Ljava/lang/String;
            invokestatic org.h2.message.DbException.get:(ILjava/lang/String;)Lorg/h2/message/DbException;
            athrow
         8: .line 145
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int level
        end local 2 // org.h2.table.Column col
        end local 1 // org.h2.table.ColumnResolver resolver
        end local 0 // org.h2.expression.ExpressionColumn this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    9     0      this  Lorg/h2/expression/ExpressionColumn;
            0    9     1  resolver  Lorg/h2/table/ColumnResolver;
            0    9     2       col  Lorg/h2/table/Column;
            0    9     3     level  I
    MethodParameters:
          Name  Flags
      resolver  
      col       
      level     

  public org.h2.expression.Expression optimize(org.h2.engine.Session);
    descriptor: (Lorg/h2/engine/Session;)Lorg/h2/expression/Expression;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.h2.expression.ExpressionColumn this
        start local 1 // org.h2.engine.Session session
         0: .line 149
            aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.columnResolver:Lorg/h2/table/ColumnResolver;
            ifnonnull 10
         1: .line 150
            aload 1 /* session */
            invokevirtual org.h2.engine.Session.getDatabase:()Lorg/h2/engine/Database;
         2: .line 151
            aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.tableAlias:Ljava/lang/String;
            ifnonnull 3
            aload 1 /* session */
            invokevirtual org.h2.engine.Session.getCurrentSchemaName:()Ljava/lang/String;
            goto 4
      StackMap locals:
      StackMap stack: org.h2.engine.Database
         3: aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.tableAlias:Ljava/lang/String;
         4: .line 150
      StackMap locals: org.h2.expression.ExpressionColumn org.h2.engine.Session
      StackMap stack: org.h2.engine.Database java.lang.String
            invokevirtual org.h2.engine.Database.findSchema:(Ljava/lang/String;)Lorg/h2/schema/Schema;
            astore 2 /* schema */
        start local 2 // org.h2.schema.Schema schema
         5: .line 152
            aload 2 /* schema */
            ifnull 9
         6: .line 153
            aload 2 /* schema */
            aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.columnName:Ljava/lang/String;
            invokevirtual org.h2.schema.Schema.findConstant:(Ljava/lang/String;)Lorg/h2/schema/Constant;
            astore 3 /* constant */
        start local 3 // org.h2.schema.Constant constant
         7: .line 154
            aload 3 /* constant */
            ifnull 9
         8: .line 155
            aload 3 /* constant */
            invokevirtual org.h2.schema.Constant.getValue:()Lorg/h2/expression/ValueExpression;
            areturn
        end local 3 // org.h2.schema.Constant constant
         9: .line 158
      StackMap locals: org.h2.schema.Schema
      StackMap stack:
            aload 0 /* this */
            ldc 42122
            invokevirtual org.h2.expression.ExpressionColumn.getColumnException:(I)Lorg/h2/message/DbException;
            athrow
        end local 2 // org.h2.schema.Schema schema
        10: .line 160
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.columnResolver:Lorg/h2/table/ColumnResolver;
            aload 0 /* this */
            aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.column:Lorg/h2/table/Column;
            invokeinterface org.h2.table.ColumnResolver.optimize:(Lorg/h2/expression/ExpressionColumn;Lorg/h2/table/Column;)Lorg/h2/expression/Expression;
            areturn
        end local 1 // org.h2.engine.Session session
        end local 0 // org.h2.expression.ExpressionColumn this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0      this  Lorg/h2/expression/ExpressionColumn;
            0   11     1   session  Lorg/h2/engine/Session;
            5   10     2    schema  Lorg/h2/schema/Schema;
            7    9     3  constant  Lorg/h2/schema/Constant;
    MethodParameters:
         Name  Flags
      session  

  public org.h2.message.DbException getColumnException(int);
    descriptor: (I)Lorg/h2/message/DbException;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.h2.expression.ExpressionColumn this
        start local 1 // int code
         0: .line 169
            aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.columnName:Ljava/lang/String;
            astore 2 /* name */
        start local 2 // java.lang.String name
         1: .line 170
            aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.tableAlias:Ljava/lang/String;
            ifnull 5
         2: .line 171
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.tableAlias:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            bipush 46
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 2 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* name */
         3: .line 172
            aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.schemaName:Ljava/lang/String;
            ifnull 5
         4: .line 173
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.schemaName:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            bipush 46
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 2 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* name */
         5: .line 176
      StackMap locals: java.lang.String
      StackMap stack:
            iload 1 /* code */
            aload 2 /* name */
            invokestatic org.h2.message.DbException.get:(ILjava/lang/String;)Lorg/h2/message/DbException;
            areturn
        end local 2 // java.lang.String name
        end local 1 // int code
        end local 0 // org.h2.expression.ExpressionColumn this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/h2/expression/ExpressionColumn;
            0    6     1  code  I
            1    6     2  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      code  

  public void updateAggregate(org.h2.engine.Session, int);
    descriptor: (Lorg/h2/engine/Session;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // org.h2.expression.ExpressionColumn this
        start local 1 // org.h2.engine.Session session
        start local 2 // int stage
         0: .line 181
            aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.columnResolver:Lorg/h2/table/ColumnResolver;
            invokeinterface org.h2.table.ColumnResolver.getSelect:()Lorg/h2/command/dml/Select;
            astore 3 /* select */
        start local 3 // org.h2.command.dml.Select select
         1: .line 182
            aload 3 /* select */
            ifnonnull 3
         2: .line 183
            ldc 90016
            aload 0 /* this */
            iconst_0
            invokevirtual org.h2.expression.ExpressionColumn.getSQL:(Z)Ljava/lang/String;
            invokestatic org.h2.message.DbException.get:(ILjava/lang/String;)Lorg/h2/message/DbException;
            athrow
         3: .line 185
      StackMap locals: org.h2.command.dml.Select
      StackMap stack:
            aload 3 /* select */
            iconst_0
            invokevirtual org.h2.command.dml.Select.getGroupDataIfCurrent:(Z)Lorg/h2/command/dml/SelectGroups;
            astore 4 /* groupData */
        start local 4 // org.h2.command.dml.SelectGroups groupData
         4: .line 186
            aload 4 /* groupData */
            ifnonnull 6
         5: .line 188
            return
         6: .line 190
      StackMap locals: org.h2.command.dml.SelectGroups
      StackMap stack:
            aload 4 /* groupData */
            aload 0 /* this */
            invokevirtual org.h2.command.dml.SelectGroups.getCurrentGroupExprData:(Lorg/h2/expression/Expression;)Ljava/lang/Object;
            checkcast org.h2.value.Value
            astore 5 /* v */
        start local 5 // org.h2.value.Value v
         7: .line 191
            aload 5 /* v */
            ifnonnull 10
         8: .line 192
            aload 4 /* groupData */
            aload 0 /* this */
            aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.columnResolver:Lorg/h2/table/ColumnResolver;
            aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.column:Lorg/h2/table/Column;
            invokeinterface org.h2.table.ColumnResolver.getValue:(Lorg/h2/table/Column;)Lorg/h2/value/Value;
            invokevirtual org.h2.command.dml.SelectGroups.setCurrentGroupExprData:(Lorg/h2/expression/Expression;Ljava/lang/Object;)V
         9: .line 193
            goto 13
      StackMap locals: org.h2.value.Value
      StackMap stack:
        10: aload 3 /* select */
            invokevirtual org.h2.command.dml.Select.isGroupWindowStage2:()Z
            ifne 13
        11: .line 194
            aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.database:Lorg/h2/engine/Database;
            aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.columnResolver:Lorg/h2/table/ColumnResolver;
            aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.column:Lorg/h2/table/Column;
            invokeinterface org.h2.table.ColumnResolver.getValue:(Lorg/h2/table/Column;)Lorg/h2/value/Value;
            aload 5 /* v */
            invokevirtual org.h2.engine.Database.areEqual:(Lorg/h2/value/Value;Lorg/h2/value/Value;)Z
            ifne 13
        12: .line 195
            ldc 90016
            aload 0 /* this */
            iconst_0
            invokevirtual org.h2.expression.ExpressionColumn.getSQL:(Z)Ljava/lang/String;
            invokestatic org.h2.message.DbException.get:(ILjava/lang/String;)Lorg/h2/message/DbException;
            athrow
        13: .line 198
      StackMap locals:
      StackMap stack:
            return
        end local 5 // org.h2.value.Value v
        end local 4 // org.h2.command.dml.SelectGroups groupData
        end local 3 // org.h2.command.dml.Select select
        end local 2 // int stage
        end local 1 // org.h2.engine.Session session
        end local 0 // org.h2.expression.ExpressionColumn this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   14     0       this  Lorg/h2/expression/ExpressionColumn;
            0   14     1    session  Lorg/h2/engine/Session;
            0   14     2      stage  I
            1   14     3     select  Lorg/h2/command/dml/Select;
            4   14     4  groupData  Lorg/h2/command/dml/SelectGroups;
            7   14     5          v  Lorg/h2/value/Value;
    MethodParameters:
         Name  Flags
      session  
      stage    

  public org.h2.value.Value getValue(org.h2.engine.Session);
    descriptor: (Lorg/h2/engine/Session;)Lorg/h2/value/Value;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.h2.expression.ExpressionColumn this
        start local 1 // org.h2.engine.Session session
         0: .line 202
            aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.columnResolver:Lorg/h2/table/ColumnResolver;
            invokeinterface org.h2.table.ColumnResolver.getSelect:()Lorg/h2/command/dml/Select;
            astore 2 /* select */
        start local 2 // org.h2.command.dml.Select select
         1: .line 203
            aload 2 /* select */
            ifnull 9
         2: .line 204
            aload 2 /* select */
            iconst_0
            invokevirtual org.h2.command.dml.Select.getGroupDataIfCurrent:(Z)Lorg/h2/command/dml/SelectGroups;
            astore 3 /* groupData */
        start local 3 // org.h2.command.dml.SelectGroups groupData
         3: .line 205
            aload 3 /* groupData */
            ifnull 9
         4: .line 206
            aload 3 /* groupData */
            aload 0 /* this */
            invokevirtual org.h2.command.dml.SelectGroups.getCurrentGroupExprData:(Lorg/h2/expression/Expression;)Ljava/lang/Object;
            checkcast org.h2.value.Value
            astore 4 /* v */
        start local 4 // org.h2.value.Value v
         5: .line 207
            aload 4 /* v */
            ifnull 7
         6: .line 208
            aload 4 /* v */
            areturn
         7: .line 210
      StackMap locals: org.h2.command.dml.Select org.h2.command.dml.SelectGroups org.h2.value.Value
      StackMap stack:
            aload 2 /* select */
            invokevirtual org.h2.command.dml.Select.isGroupWindowStage2:()Z
            ifeq 9
         8: .line 211
            ldc 90016
            aload 0 /* this */
            iconst_0
            invokevirtual org.h2.expression.ExpressionColumn.getSQL:(Z)Ljava/lang/String;
            invokestatic org.h2.message.DbException.get:(ILjava/lang/String;)Lorg/h2/message/DbException;
            athrow
        end local 4 // org.h2.value.Value v
        end local 3 // org.h2.command.dml.SelectGroups groupData
         9: .line 215
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.columnResolver:Lorg/h2/table/ColumnResolver;
            aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.column:Lorg/h2/table/Column;
            invokeinterface org.h2.table.ColumnResolver.getValue:(Lorg/h2/table/Column;)Lorg/h2/value/Value;
            astore 3 /* value */
        start local 3 // org.h2.value.Value value
        10: .line 216
            aload 3 /* value */
            ifnonnull 14
        11: .line 217
            aload 2 /* select */
            ifnonnull 13
        12: .line 218
            sipush 23502
            aload 0 /* this */
            iconst_0
            invokevirtual org.h2.expression.ExpressionColumn.getSQL:(Z)Ljava/lang/String;
            invokestatic org.h2.message.DbException.get:(ILjava/lang/String;)Lorg/h2/message/DbException;
            athrow
        13: .line 220
      StackMap locals: org.h2.value.Value
      StackMap stack:
            ldc 90016
            aload 0 /* this */
            iconst_0
            invokevirtual org.h2.expression.ExpressionColumn.getSQL:(Z)Ljava/lang/String;
            invokestatic org.h2.message.DbException.get:(ILjava/lang/String;)Lorg/h2/message/DbException;
            athrow
        14: .line 226
      StackMap locals:
      StackMap stack:
            aload 3 /* value */
            getstatic org.h2.value.ValueNull.INSTANCE:Lorg/h2/value/ValueNull;
            if_acmpeq 18
        15: .line 227
            aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.column:Lorg/h2/table/Column;
            invokevirtual org.h2.table.Column.getType:()Lorg/h2/value/TypeInfo;
            invokevirtual org.h2.value.TypeInfo.getExtTypeInfo:()Lorg/h2/value/ExtTypeInfo;
            astore 4 /* extTypeInfo */
        start local 4 // org.h2.value.ExtTypeInfo extTypeInfo
        16: .line 228
            aload 4 /* extTypeInfo */
            ifnull 18
        17: .line 229
            aload 4 /* extTypeInfo */
            aload 3 /* value */
            invokevirtual org.h2.value.ExtTypeInfo.cast:(Lorg/h2/value/Value;)Lorg/h2/value/Value;
            areturn
        end local 4 // org.h2.value.ExtTypeInfo extTypeInfo
        18: .line 232
      StackMap locals:
      StackMap stack:
            aload 3 /* value */
            areturn
        end local 3 // org.h2.value.Value value
        end local 2 // org.h2.command.dml.Select select
        end local 1 // org.h2.engine.Session session
        end local 0 // org.h2.expression.ExpressionColumn this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   19     0         this  Lorg/h2/expression/ExpressionColumn;
            0   19     1      session  Lorg/h2/engine/Session;
            1   19     2       select  Lorg/h2/command/dml/Select;
            3    9     3    groupData  Lorg/h2/command/dml/SelectGroups;
            5    9     4            v  Lorg/h2/value/Value;
           10   19     3        value  Lorg/h2/value/Value;
           16   18     4  extTypeInfo  Lorg/h2/value/ExtTypeInfo;
    MethodParameters:
         Name  Flags
      session  

  public org.h2.value.TypeInfo getType();
    descriptor: ()Lorg/h2/value/TypeInfo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.expression.ExpressionColumn this
         0: .line 237
            aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.column:Lorg/h2/table/Column;
            ifnonnull 1
            getstatic org.h2.value.TypeInfo.TYPE_UNKNOWN:Lorg/h2/value/TypeInfo;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.column:Lorg/h2/table/Column;
            invokevirtual org.h2.table.Column.getType:()Lorg/h2/value/TypeInfo;
      StackMap locals:
      StackMap stack: org.h2.value.TypeInfo
         2: areturn
        end local 0 // org.h2.expression.ExpressionColumn this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/h2/expression/ExpressionColumn;

  public void setEvaluatable(org.h2.table.TableFilter, boolean);
    descriptor: (Lorg/h2/table/TableFilter;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=3, args_size=3
        start local 0 // org.h2.expression.ExpressionColumn this
        start local 1 // org.h2.table.TableFilter tableFilter
        start local 2 // boolean b
         0: .line 242
            return
        end local 2 // boolean b
        end local 1 // org.h2.table.TableFilter tableFilter
        end local 0 // org.h2.expression.ExpressionColumn this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lorg/h2/expression/ExpressionColumn;
            0    1     1  tableFilter  Lorg/h2/table/TableFilter;
            0    1     2            b  Z
    MethodParameters:
             Name  Flags
      tableFilter  
      b            

  public org.h2.table.Column getColumn();
    descriptor: ()Lorg/h2/table/Column;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.expression.ExpressionColumn this
         0: .line 245
            aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.column:Lorg/h2/table/Column;
            areturn
        end local 0 // org.h2.expression.ExpressionColumn this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/expression/ExpressionColumn;

  public java.lang.String getOriginalColumnName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.expression.ExpressionColumn this
         0: .line 249
            aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.columnName:Ljava/lang/String;
            areturn
        end local 0 // org.h2.expression.ExpressionColumn this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/expression/ExpressionColumn;

  public java.lang.String getOriginalTableAliasName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.expression.ExpressionColumn this
         0: .line 253
            aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.tableAlias:Ljava/lang/String;
            areturn
        end local 0 // org.h2.expression.ExpressionColumn this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/expression/ExpressionColumn;

  public java.lang.String getColumnName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.expression.ExpressionColumn this
         0: .line 258
            aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.columnName:Ljava/lang/String;
            ifnull 1
            aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.columnName:Ljava/lang/String;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.column:Lorg/h2/table/Column;
            invokevirtual org.h2.table.Column.getName:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         2: areturn
        end local 0 // org.h2.expression.ExpressionColumn this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/h2/expression/ExpressionColumn;

  public java.lang.String getSchemaName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.h2.expression.ExpressionColumn this
         0: .line 263
            aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.column:Lorg/h2/table/Column;
            invokevirtual org.h2.table.Column.getTable:()Lorg/h2/table/Table;
            astore 1 /* table */
        start local 1 // org.h2.table.Table table
         1: .line 264
            aload 1 /* table */
            ifnonnull 2
            aconst_null
            goto 3
      StackMap locals: org.h2.table.Table
      StackMap stack:
         2: aload 1 /* table */
            invokevirtual org.h2.table.Table.getSchema:()Lorg/h2/schema/Schema;
            invokevirtual org.h2.schema.Schema.getName:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         3: areturn
        end local 1 // org.h2.table.Table table
        end local 0 // org.h2.expression.ExpressionColumn this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/h2/expression/ExpressionColumn;
            1    4     1  table  Lorg/h2/table/Table;

  public java.lang.String getTableName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // org.h2.expression.ExpressionColumn this
         0: .line 269
            aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.column:Lorg/h2/table/Column;
            invokevirtual org.h2.table.Column.getTable:()Lorg/h2/table/Table;
            astore 1 /* table */
        start local 1 // org.h2.table.Table table
         1: .line 270
            aload 1 /* table */
            ifnonnull 2
            aconst_null
            goto 3
      StackMap locals: org.h2.table.Table
      StackMap stack:
         2: aload 1 /* table */
            invokevirtual org.h2.table.Table.getName:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         3: areturn
        end local 1 // org.h2.table.Table table
        end local 0 // org.h2.expression.ExpressionColumn this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lorg/h2/expression/ExpressionColumn;
            1    4     1  table  Lorg/h2/table/Table;

  public java.lang.String getAlias();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // org.h2.expression.ExpressionColumn this
         0: .line 275
            aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.column:Lorg/h2/table/Column;
            ifnull 6
         1: .line 276
            aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.columnResolver:Lorg/h2/table/ColumnResolver;
            ifnull 5
         2: .line 277
            aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.columnResolver:Lorg/h2/table/ColumnResolver;
            aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.column:Lorg/h2/table/Column;
            invokeinterface org.h2.table.ColumnResolver.getDerivedColumnName:(Lorg/h2/table/Column;)Ljava/lang/String;
            astore 1 /* name */
        start local 1 // java.lang.String name
         3: .line 278
            aload 1 /* name */
            ifnull 5
         4: .line 279
            aload 1 /* name */
            areturn
        end local 1 // java.lang.String name
         5: .line 282
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.column:Lorg/h2/table/Column;
            invokevirtual org.h2.table.Column.getName:()Ljava/lang/String;
            areturn
         6: .line 284
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.tableAlias:Ljava/lang/String;
            ifnull 8
         7: .line 285
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.tableAlias:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.columnName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
         8: .line 287
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.columnName:Ljava/lang/String;
            areturn
        end local 0 // org.h2.expression.ExpressionColumn this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lorg/h2/expression/ExpressionColumn;
            3    5     1  name  Ljava/lang/String;

  public boolean isAutoIncrement();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.expression.ExpressionColumn this
         0: .line 292
            aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.column:Lorg/h2/table/Column;
            invokevirtual org.h2.table.Column.getSequence:()Lorg/h2/schema/Sequence;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.h2.expression.ExpressionColumn this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/h2/expression/ExpressionColumn;

  public int getNullable();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.expression.ExpressionColumn this
         0: .line 297
            aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.column:Lorg/h2/table/Column;
            invokevirtual org.h2.table.Column.isNullable:()Z
            ifeq 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // org.h2.expression.ExpressionColumn this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/h2/expression/ExpressionColumn;

  public boolean isEverything(org.h2.expression.ExpressionVisitor);
    descriptor: (Lorg/h2/expression/ExpressionVisitor;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.h2.expression.ExpressionColumn this
        start local 1 // org.h2.expression.ExpressionVisitor visitor
         0: .line 302
            aload 1 /* visitor */
            invokevirtual org.h2.expression.ExpressionVisitor.getType:()I
            tableswitch { // 0 - 10
                    0: 3
                    1: 1
                    2: 2
                    3: 5
                    4: 10
                    5: 2
                    6: 12
                    7: 14
                    8: 2
                    9: 17
                   10: 21
              default: 25
          }
         1: .line 304
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         2: .line 308
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         3: .line 310
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.queryLevel:I
            aload 1 /* visitor */
            invokevirtual org.h2.expression.ExpressionVisitor.getQueryLevel:()I
            if_icmpge 4
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         4: iconst_0
            ireturn
         5: .line 314
      StackMap locals:
      StackMap stack:
            aload 1 /* visitor */
            invokevirtual org.h2.expression.ExpressionVisitor.getQueryLevel:()I
            aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.queryLevel:I
            if_icmpge 7
         6: .line 315
            iconst_1
            ireturn
         7: .line 317
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.h2.expression.ExpressionColumn.getTableFilter:()Lorg/h2/table/TableFilter;
            ifnonnull 9
         8: .line 318
            iconst_0
            ireturn
         9: .line 320
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.h2.expression.ExpressionColumn.getTableFilter:()Lorg/h2/table/TableFilter;
            invokevirtual org.h2.table.TableFilter.isEvaluatable:()Z
            ireturn
        10: .line 322
      StackMap locals:
      StackMap stack:
            aload 1 /* visitor */
            aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.column:Lorg/h2/table/Column;
            invokevirtual org.h2.table.Column.getTable:()Lorg/h2/table/Table;
            invokevirtual org.h2.table.Table.getMaxDataModificationId:()J
            invokevirtual org.h2.expression.ExpressionVisitor.addDataModificationId:(J)V
        11: .line 323
            iconst_1
            ireturn
        12: .line 325
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.columnResolver:Lorg/h2/table/ColumnResolver;
            aload 1 /* visitor */
            invokevirtual org.h2.expression.ExpressionVisitor.getResolver:()Lorg/h2/table/ColumnResolver;
            if_acmpeq 13
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        13: iconst_0
            ireturn
        14: .line 327
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.column:Lorg/h2/table/Column;
            ifnull 16
        15: .line 328
            aload 1 /* visitor */
            aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.column:Lorg/h2/table/Column;
            invokevirtual org.h2.table.Column.getTable:()Lorg/h2/table/Table;
            invokevirtual org.h2.expression.ExpressionVisitor.addDependency:(Lorg/h2/engine/DbObject;)V
        16: .line 330
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        17: .line 332
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.column:Lorg/h2/table/Column;
            ifnonnull 19
        18: .line 333
            ldc 42122
            aload 0 /* this */
            iconst_0
            invokevirtual org.h2.expression.ExpressionColumn.getSQL:(Z)Ljava/lang/String;
            invokestatic org.h2.message.DbException.get:(ILjava/lang/String;)Lorg/h2/message/DbException;
            athrow
        19: .line 335
      StackMap locals:
      StackMap stack:
            aload 1 /* visitor */
            aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.column:Lorg/h2/table/Column;
            invokevirtual org.h2.expression.ExpressionVisitor.addColumn1:(Lorg/h2/table/Column;)V
        20: .line 336
            iconst_1
            ireturn
        21: .line 338
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.column:Lorg/h2/table/Column;
            ifnonnull 23
        22: .line 339
            ldc 42122
            aload 0 /* this */
            iconst_0
            invokevirtual org.h2.expression.ExpressionColumn.getSQL:(Z)Ljava/lang/String;
            invokestatic org.h2.message.DbException.get:(ILjava/lang/String;)Lorg/h2/message/DbException;
            athrow
        23: .line 341
      StackMap locals:
      StackMap stack:
            aload 1 /* visitor */
            aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.column:Lorg/h2/table/Column;
            invokevirtual org.h2.expression.ExpressionVisitor.addColumn2:(Lorg/h2/table/Column;)V
        24: .line 342
            iconst_1
            ireturn
        25: .line 344
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "type="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* visitor */
            invokevirtual org.h2.expression.ExpressionVisitor.getType:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.h2.message.DbException.throwInternalError:(Ljava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        end local 1 // org.h2.expression.ExpressionVisitor visitor
        end local 0 // org.h2.expression.ExpressionColumn this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   26     0     this  Lorg/h2/expression/ExpressionColumn;
            0   26     1  visitor  Lorg/h2/expression/ExpressionVisitor;
    MethodParameters:
         Name  Flags
      visitor  

  public int getCost();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.expression.ExpressionColumn this
         0: .line 350
            iconst_2
            ireturn
        end local 0 // org.h2.expression.ExpressionColumn this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/expression/ExpressionColumn;

  public void createIndexConditions(org.h2.engine.Session, org.h2.table.TableFilter);
    descriptor: (Lorg/h2/engine/Session;Lorg/h2/table/TableFilter;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // org.h2.expression.ExpressionColumn this
        start local 1 // org.h2.engine.Session session
        start local 2 // org.h2.table.TableFilter filter
         0: .line 355
            aload 0 /* this */
            invokevirtual org.h2.expression.ExpressionColumn.getTableFilter:()Lorg/h2/table/TableFilter;
            astore 3 /* tf */
        start local 3 // org.h2.table.TableFilter tf
         1: .line 356
            aload 2 /* filter */
            aload 3 /* tf */
            if_acmpne 7
            aload 0 /* this */
            getfield org.h2.expression.ExpressionColumn.column:Lorg/h2/table/Column;
            invokevirtual org.h2.table.Column.getType:()Lorg/h2/value/TypeInfo;
            invokevirtual org.h2.value.TypeInfo.getValueType:()I
            iconst_1
            if_icmpne 7
         2: .line 358
            iconst_0
            aload 0 /* this */
         3: .line 359
            getstatic org.h2.value.ValueBoolean.TRUE:Lorg/h2/value/ValueBoolean;
         4: .line 358
            invokestatic org.h2.expression.ValueExpression.get:(Lorg/h2/value/Value;)Lorg/h2/expression/ValueExpression;
         5: .line 357
            invokestatic org.h2.index.IndexCondition.get:(ILorg/h2/expression/ExpressionColumn;Lorg/h2/expression/Expression;)Lorg/h2/index/IndexCondition;
            astore 4 /* cond */
        start local 4 // org.h2.index.IndexCondition cond
         6: .line 360
            aload 2 /* filter */
            aload 4 /* cond */
            invokevirtual org.h2.table.TableFilter.addIndexCondition:(Lorg/h2/index/IndexCondition;)V
        end local 4 // org.h2.index.IndexCondition cond
         7: .line 362
      StackMap locals: org.h2.table.TableFilter
      StackMap stack:
            return
        end local 3 // org.h2.table.TableFilter tf
        end local 2 // org.h2.table.TableFilter filter
        end local 1 // org.h2.engine.Session session
        end local 0 // org.h2.expression.ExpressionColumn this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lorg/h2/expression/ExpressionColumn;
            0    8     1  session  Lorg/h2/engine/Session;
            0    8     2   filter  Lorg/h2/table/TableFilter;
            1    8     3       tf  Lorg/h2/table/TableFilter;
            6    7     4     cond  Lorg/h2/index/IndexCondition;
    MethodParameters:
         Name  Flags
      session  
      filter   

  public org.h2.expression.Expression getNotIfPossible(org.h2.engine.Session);
    descriptor: (Lorg/h2/engine/Session;)Lorg/h2/expression/Expression;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // org.h2.expression.ExpressionColumn this
        start local 1 // org.h2.engine.Session session
         0: .line 366
            new org.h2.expression.condition.Comparison
            dup
            aload 1 /* session */
            iconst_0
            aload 0 /* this */
         1: .line 367
            getstatic org.h2.value.ValueBoolean.FALSE:Lorg/h2/value/ValueBoolean;
            invokestatic org.h2.expression.ValueExpression.get:(Lorg/h2/value/Value;)Lorg/h2/expression/ValueExpression;
         2: .line 366
            invokespecial org.h2.expression.condition.Comparison.<init>:(Lorg/h2/engine/Session;ILorg/h2/expression/Expression;Lorg/h2/expression/Expression;)V
            areturn
        end local 1 // org.h2.engine.Session session
        end local 0 // org.h2.expression.ExpressionColumn this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lorg/h2/expression/ExpressionColumn;
            0    3     1  session  Lorg/h2/engine/Session;
    MethodParameters:
         Name  Flags
      session  
}
SourceFile: "ExpressionColumn.java"