class org.jooq.impl.Expression$DateExpression<T> extends org.jooq.impl.AbstractField<T>
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.jooq.impl.Expression$DateExpression
  super_class: org.jooq.impl.AbstractField
{
  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 3160679741902222262

  private final org.jooq.Field<T> lhs;
    descriptor: Lorg/jooq/Field;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/jooq/Field<TT;>;

  private final org.jooq.impl.ExpressionOperator operator;
    descriptor: Lorg/jooq/impl/ExpressionOperator;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final org.jooq.Field<?> rhs;
    descriptor: Lorg/jooq/Field;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lorg/jooq/Field<*>;

  private static volatile int[] $SWITCH_TABLE$org$jooq$SQLDialect;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  void <init>(org.jooq.Field<T>, org.jooq.impl.ExpressionOperator, org.jooq.Field<?>);
    descriptor: (Lorg/jooq/Field;Lorg/jooq/impl/ExpressionOperator;Lorg/jooq/Field;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // org.jooq.impl.Expression$DateExpression this
        start local 1 // org.jooq.Field lhs
        start local 2 // org.jooq.impl.ExpressionOperator operator
        start local 3 // org.jooq.Field rhs
         0: .line 367
            aload 0 /* this */
            aload 2 /* operator */
            invokevirtual org.jooq.impl.ExpressionOperator.toSQL:()Ljava/lang/String;
            invokestatic org.jooq.impl.DSL.name:(Ljava/lang/String;)Lorg/jooq/Name;
            aload 1 /* lhs */
            invokeinterface org.jooq.Field.getDataType:()Lorg/jooq/DataType;
            invokespecial org.jooq.impl.AbstractField.<init>:(Lorg/jooq/Name;Lorg/jooq/DataType;)V
         1: .line 369
            aload 0 /* this */
            aload 1 /* lhs */
            putfield org.jooq.impl.Expression$DateExpression.lhs:Lorg/jooq/Field;
         2: .line 370
            aload 0 /* this */
            aload 2 /* operator */
            putfield org.jooq.impl.Expression$DateExpression.operator:Lorg/jooq/impl/ExpressionOperator;
         3: .line 371
            aload 0 /* this */
            aload 3 /* rhs */
            putfield org.jooq.impl.Expression$DateExpression.rhs:Lorg/jooq/Field;
         4: .line 372
            return
        end local 3 // org.jooq.Field rhs
        end local 2 // org.jooq.impl.ExpressionOperator operator
        end local 1 // org.jooq.Field lhs
        end local 0 // org.jooq.impl.Expression$DateExpression this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Lorg/jooq/impl/Expression$DateExpression<TT;>;
            0    5     1       lhs  Lorg/jooq/Field<TT;>;
            0    5     2  operator  Lorg/jooq/impl/ExpressionOperator;
            0    5     3       rhs  Lorg/jooq/Field<*>;
    Signature: (Lorg/jooq/Field<TT;>;Lorg/jooq/impl/ExpressionOperator;Lorg/jooq/Field<*>;)V
    MethodParameters:
          Name  Flags
      lhs       
      operator  
      rhs       

  private final <U> org.jooq.Field<U> p(U);
    descriptor: (Ljava/lang/Object;)Lorg/jooq/Field;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.jooq.impl.Expression$DateExpression this
        start local 1 // java.lang.Object u
         0: .line 375
            aload 1 /* u */
            invokestatic org.jooq.impl.DSL.val:(Ljava/lang/Object;)Lorg/jooq/Param;
            astore 2 /* result */
        start local 2 // org.jooq.Param result
         1: .line 377
            aload 0 /* this */
            getfield org.jooq.impl.Expression$DateExpression.rhs:Lorg/jooq/Field;
            checkcast org.jooq.Param
            invokeinterface org.jooq.Param.isInline:()Z
            ifeq 3
         2: .line 378
            aload 2 /* result */
            iconst_1
            invokeinterface org.jooq.Param.setInline:(Z)V
         3: .line 380
      StackMap locals: org.jooq.Param
      StackMap stack:
            aload 2 /* result */
            areturn
        end local 2 // org.jooq.Param result
        end local 1 // java.lang.Object u
        end local 0 // org.jooq.impl.Expression$DateExpression this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lorg/jooq/impl/Expression$DateExpression<TT;>;
            0    4     1       u  TU;
            1    4     2  result  Lorg/jooq/Param<TU;>;
    Signature: <U:Ljava/lang/Object;>(TU;)Lorg/jooq/Field<TU;>;
    MethodParameters:
      Name  Flags
      u     

  public final void accept(org.jooq.Context<?>);
    descriptor: (Lorg/jooq/Context;)V
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jooq.impl.Expression$DateExpression this
        start local 1 // org.jooq.Context ctx
         0: .line 385
            aload 0 /* this */
            getfield org.jooq.impl.Expression$DateExpression.rhs:Lorg/jooq/Field;
            invokeinterface org.jooq.Field.getType:()Ljava/lang/Class;
            ldc Lorg/jooq/types/YearToSecond;
            if_acmpne 2
            getstatic org.jooq.impl.Expression.SUPPORT_YEAR_TO_SECOND:Ljava/util/Set;
            aload 1 /* ctx */
            invokeinterface org.jooq.Context.dialect:()Lorg/jooq/SQLDialect;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 2
         1: .line 386
            aload 0 /* this */
            aload 1 /* ctx */
            invokevirtual org.jooq.impl.Expression$DateExpression.acceptYTSExpression:(Lorg/jooq/Context;)V
            goto 5
         2: .line 387
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jooq.impl.Expression$DateExpression.rhs:Lorg/jooq/Field;
            invokeinterface org.jooq.Field.getDataType:()Lorg/jooq/DataType;
            invokeinterface org.jooq.DataType.isInterval:()Z
            ifeq 4
         3: .line 388
            aload 0 /* this */
            aload 1 /* ctx */
            invokevirtual org.jooq.impl.Expression$DateExpression.acceptIntervalExpression:(Lorg/jooq/Context;)V
            goto 5
         4: .line 390
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* ctx */
            invokevirtual org.jooq.impl.Expression$DateExpression.acceptNumberExpression:(Lorg/jooq/Context;)V
         5: .line 391
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.jooq.Context ctx
        end local 0 // org.jooq.impl.Expression$DateExpression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/jooq/impl/Expression$DateExpression<TT;>;
            0    6     1   ctx  Lorg/jooq/Context<*>;
    Signature: (Lorg/jooq/Context<*>;)V
    MethodParameters:
      Name  Flags
      ctx   

  private final void acceptYTSExpression(org.jooq.Context<?>);
    descriptor: (Lorg/jooq/Context;)V
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=9, locals=3, args_size=2
        start local 0 // org.jooq.impl.Expression$DateExpression this
        start local 1 // org.jooq.Context ctx
         0: .line 394
            aload 0 /* this */
            getfield org.jooq.impl.Expression$DateExpression.rhs:Lorg/jooq/Field;
            instanceof org.jooq.Param
            ifeq 8
         1: .line 395
            aload 0 /* this */
            invokevirtual org.jooq.impl.Expression$DateExpression.rhsAsYTS:()Lorg/jooq/types/YearToSecond;
            astore 2 /* yts */
        start local 2 // org.jooq.types.YearToSecond yts
         2: .line 397
            aload 1 /* ctx */
            new org.jooq.impl.Expression$DateExpression
            dup
         3: .line 398
            new org.jooq.impl.Expression$DateExpression
            dup
            aload 0 /* this */
            getfield org.jooq.impl.Expression$DateExpression.lhs:Lorg/jooq/Field;
            aload 0 /* this */
            getfield org.jooq.impl.Expression$DateExpression.operator:Lorg/jooq/impl/ExpressionOperator;
            aload 0 /* this */
            aload 2 /* yts */
            invokevirtual org.jooq.types.YearToSecond.getYearToMonth:()Lorg/jooq/types/YearToMonth;
            invokevirtual org.jooq.impl.Expression$DateExpression.p:(Ljava/lang/Object;)Lorg/jooq/Field;
            invokespecial org.jooq.impl.Expression$DateExpression.<init>:(Lorg/jooq/Field;Lorg/jooq/impl/ExpressionOperator;Lorg/jooq/Field;)V
         4: .line 399
            aload 0 /* this */
            getfield org.jooq.impl.Expression$DateExpression.operator:Lorg/jooq/impl/ExpressionOperator;
         5: .line 400
            aload 0 /* this */
            aload 2 /* yts */
            invokevirtual org.jooq.types.YearToSecond.getDayToSecond:()Lorg/jooq/types/DayToSecond;
            invokevirtual org.jooq.impl.Expression$DateExpression.p:(Ljava/lang/Object;)Lorg/jooq/Field;
            invokespecial org.jooq.impl.Expression$DateExpression.<init>:(Lorg/jooq/Field;Lorg/jooq/impl/ExpressionOperator;Lorg/jooq/Field;)V
         6: .line 397
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
            pop
        end local 2 // org.jooq.types.YearToSecond yts
         7: .line 402
            goto 9
         8: .line 404
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* ctx */
            invokevirtual org.jooq.impl.Expression$DateExpression.acceptIntervalExpression:(Lorg/jooq/Context;)V
         9: .line 406
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.jooq.Context ctx
        end local 0 // org.jooq.impl.Expression$DateExpression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lorg/jooq/impl/Expression$DateExpression<TT;>;
            0   10     1   ctx  Lorg/jooq/Context<*>;
            2    7     2   yts  Lorg/jooq/types/YearToSecond;
    Signature: (Lorg/jooq/Context<*>;)V
    MethodParameters:
      Name  Flags
      ctx   

  private final void acceptIntervalExpression(org.jooq.Context<?>);
    descriptor: (Lorg/jooq/Context;)V
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=6, locals=6, args_size=2
        start local 0 // org.jooq.impl.Expression$DateExpression this
        start local 1 // org.jooq.Context ctx
         0: .line 410
            aload 1 /* ctx */
            invokeinterface org.jooq.Context.family:()Lorg/jooq/SQLDialect;
            astore 2 /* family */
        start local 2 // org.jooq.SQLDialect family
         1: .line 412
            aload 0 /* this */
            getfield org.jooq.impl.Expression$DateExpression.operator:Lorg/jooq/impl/ExpressionOperator;
            getstatic org.jooq.impl.ExpressionOperator.ADD:Lorg/jooq/impl/ExpressionOperator;
            if_acmpne 2
            iconst_1
            goto 3
      StackMap locals: org.jooq.SQLDialect
      StackMap stack:
         2: iconst_m1
      StackMap locals:
      StackMap stack: int
         3: istore 3 /* sign */
        start local 3 // int sign
         4: .line 413
            invokestatic org.jooq.impl.Expression$DateExpression.$SWITCH_TABLE$org$jooq$SQLDialect:()[I
            aload 2 /* family */
            invokevirtual org.jooq.SQLDialect.ordinal:()I
            iaload
            tableswitch { // 3 - 11
                    3: 5
                    4: 35
                    5: 76
                    6: 112
                    7: 112
                    8: 5
                    9: 5
                   10: 112
                   11: 99
              default: 112
          }
         5: .line 421
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jooq.impl.Expression$DateExpression.rhsAsInterval:()Lorg/jooq/types/Interval;
            astore 4 /* interval */
        start local 4 // org.jooq.types.Interval interval
         6: .line 423
            aload 0 /* this */
            getfield org.jooq.impl.Expression$DateExpression.operator:Lorg/jooq/impl/ExpressionOperator;
            getstatic org.jooq.impl.ExpressionOperator.SUBTRACT:Lorg/jooq/impl/ExpressionOperator;
            if_acmpne 8
         7: .line 424
            aload 4 /* interval */
            invokeinterface org.jooq.types.Interval.neg:()Lorg/jooq/types/Interval;
            astore 4 /* interval */
         8: .line 426
      StackMap locals: org.jooq.types.Interval
      StackMap stack:
            aload 0 /* this */
            getfield org.jooq.impl.Expression$DateExpression.rhs:Lorg/jooq/Field;
            invokeinterface org.jooq.Field.getType:()Ljava/lang/Class;
            ldc Lorg/jooq/types/YearToMonth;
            if_acmpne 17
         9: .line 427
            aload 1 /* ctx */
            getstatic org.jooq.impl.Names.N_DATE_ADD:Lorg/jooq/Name;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            bipush 40
            invokeinterface org.jooq.Context.sql:(C)Lorg/jooq/Context;
            checkcast org.jooq.Context
            aload 0 /* this */
            getfield org.jooq.impl.Expression$DateExpression.lhs:Lorg/jooq/Field;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            ldc ", "
            invokeinterface org.jooq.Context.sql:(Ljava/lang/String;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            getstatic org.jooq.impl.Keywords.K_INTERVAL:Lorg/jooq/Keyword;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            bipush 32
            invokeinterface org.jooq.Context.sql:(C)Lorg/jooq/Context;
            checkcast org.jooq.Context
        10: .line 428
            aload 4 /* interval */
            getstatic org.jooq.impl.SQLDataType.VARCHAR:Lorg/jooq/DataType;
            invokestatic org.jooq.impl.Tools.field:(Ljava/lang/Object;Lorg/jooq/DataType;)Lorg/jooq/Field;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
        11: .line 427
            checkcast org.jooq.Context
        12: .line 428
            bipush 32
            invokeinterface org.jooq.Context.sql:(C)Lorg/jooq/Context;
        13: .line 427
            checkcast org.jooq.Context
        14: .line 428
            getstatic org.jooq.impl.Keywords.K_YEAR_MONTH:Lorg/jooq/Keyword;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
        15: .line 427
            checkcast org.jooq.Context
        16: .line 428
            bipush 41
            invokeinterface org.jooq.Context.sql:(C)Lorg/jooq/Context;
            pop
            goto 113
        17: .line 429
      StackMap locals:
      StackMap stack:
            aload 2 /* family */
            getstatic org.jooq.SQLDialect.CUBRID:Lorg/jooq/SQLDialect;
            if_acmpne 26
        18: .line 430
            aload 1 /* ctx */
            getstatic org.jooq.impl.Names.N_DATE_ADD:Lorg/jooq/Name;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            bipush 40
            invokeinterface org.jooq.Context.sql:(C)Lorg/jooq/Context;
            checkcast org.jooq.Context
            aload 0 /* this */
            getfield org.jooq.impl.Expression$DateExpression.lhs:Lorg/jooq/Field;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            ldc ", "
            invokeinterface org.jooq.Context.sql:(Ljava/lang/String;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            getstatic org.jooq.impl.Keywords.K_INTERVAL:Lorg/jooq/Keyword;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            bipush 32
            invokeinterface org.jooq.Context.sql:(C)Lorg/jooq/Context;
            checkcast org.jooq.Context
        19: .line 431
            aload 4 /* interval */
            getstatic org.jooq.impl.SQLDataType.VARCHAR:Lorg/jooq/DataType;
            invokestatic org.jooq.impl.Tools.field:(Ljava/lang/Object;Lorg/jooq/DataType;)Lorg/jooq/Field;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
        20: .line 430
            checkcast org.jooq.Context
        21: .line 431
            bipush 32
            invokeinterface org.jooq.Context.sql:(C)Lorg/jooq/Context;
        22: .line 430
            checkcast org.jooq.Context
        23: .line 431
            getstatic org.jooq.impl.Keywords.K_DAY_MILLISECOND:Lorg/jooq/Keyword;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
        24: .line 430
            checkcast org.jooq.Context
        25: .line 431
            bipush 41
            invokeinterface org.jooq.Context.sql:(C)Lorg/jooq/Context;
            pop
            goto 113
        26: .line 437
      StackMap locals:
      StackMap stack:
            aload 1 /* ctx */
            getstatic org.jooq.impl.Names.N_DATE_ADD:Lorg/jooq/Name;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            bipush 40
            invokeinterface org.jooq.Context.sql:(C)Lorg/jooq/Context;
            checkcast org.jooq.Context
            aload 0 /* this */
            getfield org.jooq.impl.Expression$DateExpression.lhs:Lorg/jooq/Field;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            ldc ", "
            invokeinterface org.jooq.Context.sql:(Ljava/lang/String;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            getstatic org.jooq.impl.Keywords.K_INTERVAL:Lorg/jooq/Keyword;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            bipush 32
            invokeinterface org.jooq.Context.sql:(C)Lorg/jooq/Context;
            checkcast org.jooq.Context
        27: .line 438
            getstatic org.jooq.impl.Expression.TRUNC_TO_MICROS:Ljava/util/regex/Pattern;
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 4 /* interval */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
            ldc "$1"
            invokevirtual java.util.regex.Matcher.replaceAll:(Ljava/lang/String;)Ljava/lang/String;
            getstatic org.jooq.impl.SQLDataType.VARCHAR:Lorg/jooq/DataType;
            invokestatic org.jooq.impl.Tools.field:(Ljava/lang/Object;Lorg/jooq/DataType;)Lorg/jooq/Field;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
        28: .line 437
            checkcast org.jooq.Context
        29: .line 438
            bipush 32
            invokeinterface org.jooq.Context.sql:(C)Lorg/jooq/Context;
        30: .line 437
            checkcast org.jooq.Context
        31: .line 438
            getstatic org.jooq.impl.Keywords.K_DAY_MICROSECOND:Lorg/jooq/Keyword;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
        32: .line 437
            checkcast org.jooq.Context
        33: .line 438
            bipush 41
            invokeinterface org.jooq.Context.sql:(C)Lorg/jooq/Context;
            pop
        34: .line 440
            goto 113
        end local 4 // org.jooq.types.Interval interval
        35: .line 444
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jooq.impl.Expression$DateExpression.getDataType:()Lorg/jooq/DataType;
            invokeinterface org.jooq.DataType.getType:()Ljava/lang/Class;
            ldc Ljava/sql/Timestamp;
            if_acmpeq 36
            iconst_1
            goto 37
      StackMap locals:
      StackMap stack:
        36: iconst_0
      StackMap locals:
      StackMap stack: int
        37: istore 4 /* needsCast */
        start local 4 // boolean needsCast
        38: .line 445
            iload 4 /* needsCast */
            ifeq 40
        39: .line 446
            aload 1 /* ctx */
            getstatic org.jooq.impl.Keywords.K_CAST:Lorg/jooq/Keyword;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            bipush 40
            invokeinterface org.jooq.Context.sql:(C)Lorg/jooq/Context;
            pop
        40: .line 448
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.jooq.impl.Expression$DateExpression.rhs:Lorg/jooq/Field;
            invokeinterface org.jooq.Field.getType:()Ljava/lang/Class;
            ldc Lorg/jooq/types/YearToMonth;
            if_acmpne 49
        41: .line 449
            aload 1 /* ctx */
            ldc "{fn "
            invokeinterface org.jooq.Context.sql:(Ljava/lang/String;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            getstatic org.jooq.impl.Names.N_TIMESTAMPADD:Lorg/jooq/Name;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            bipush 40
            invokeinterface org.jooq.Context.sql:(C)Lorg/jooq/Context;
            checkcast org.jooq.Context
            getstatic org.jooq.impl.Names.N_SQL_TSI_MONTH:Lorg/jooq/Name;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            ldc ", "
            invokeinterface org.jooq.Context.sql:(Ljava/lang/String;)Lorg/jooq/Context;
            checkcast org.jooq.Context
        42: .line 450
            aload 0 /* this */
            iload 3 /* sign */
            aload 0 /* this */
            invokevirtual org.jooq.impl.Expression$DateExpression.rhsAsYTM:()Lorg/jooq/types/YearToMonth;
            invokevirtual org.jooq.types.YearToMonth.intValue:()I
            imul
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual org.jooq.impl.Expression$DateExpression.p:(Ljava/lang/Object;)Lorg/jooq/Field;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
        43: .line 449
            checkcast org.jooq.Context
        44: .line 450
            ldc ", "
            invokeinterface org.jooq.Context.sql:(Ljava/lang/String;)Lorg/jooq/Context;
        45: .line 449
            checkcast org.jooq.Context
        46: .line 450
            aload 0 /* this */
            getfield org.jooq.impl.Expression$DateExpression.lhs:Lorg/jooq/Field;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
        47: .line 449
            checkcast org.jooq.Context
        48: .line 450
            ldc ") }"
            invokeinterface org.jooq.Context.sql:(Ljava/lang/String;)Lorg/jooq/Context;
            pop
            goto 73
        49: .line 452
      StackMap locals:
      StackMap stack:
            aload 1 /* ctx */
            ldc "{fn "
            invokeinterface org.jooq.Context.sql:(Ljava/lang/String;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            getstatic org.jooq.impl.Names.N_TIMESTAMPADD:Lorg/jooq/Name;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            bipush 40
            invokeinterface org.jooq.Context.sql:(C)Lorg/jooq/Context;
            checkcast org.jooq.Context
            getstatic org.jooq.impl.Names.N_SQL_TSI_SECOND:Lorg/jooq/Name;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            ldc ", "
            invokeinterface org.jooq.Context.sql:(Ljava/lang/String;)Lorg/jooq/Context;
            checkcast org.jooq.Context
        50: .line 453
            aload 0 /* this */
            iload 3 /* sign */
            i2l
            aload 0 /* this */
            invokevirtual org.jooq.impl.Expression$DateExpression.rhsAsDTS:()Lorg/jooq/types/DayToSecond;
            invokevirtual org.jooq.types.DayToSecond.getTotalSeconds:()D
            d2l
            lmul
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokevirtual org.jooq.impl.Expression$DateExpression.p:(Ljava/lang/Object;)Lorg/jooq/Field;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
        51: .line 452
            checkcast org.jooq.Context
        52: .line 453
            ldc ", {fn "
            invokeinterface org.jooq.Context.sql:(Ljava/lang/String;)Lorg/jooq/Context;
        53: .line 452
            checkcast org.jooq.Context
        54: .line 454
            getstatic org.jooq.impl.Names.N_TIMESTAMPADD:Lorg/jooq/Name;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
        55: .line 452
            checkcast org.jooq.Context
        56: .line 454
            bipush 40
            invokeinterface org.jooq.Context.sql:(C)Lorg/jooq/Context;
        57: .line 452
            checkcast org.jooq.Context
        58: .line 454
            aload 1 /* ctx */
            invokeinterface org.jooq.Context.family:()Lorg/jooq/SQLDialect;
            getstatic org.jooq.SQLDialect.DERBY:Lorg/jooq/SQLDialect;
            if_acmpne 59
            getstatic org.jooq.impl.Names.N_SQL_TSI_FRAC_SECOND:Lorg/jooq/Name;
            goto 60
      StackMap locals:
      StackMap stack: org.jooq.Context
        59: getstatic org.jooq.impl.Names.N_SQL_TSI_MILLI_SECOND:Lorg/jooq/Name;
      StackMap locals: org.jooq.impl.Expression$DateExpression org.jooq.Context org.jooq.SQLDialect int int
      StackMap stack: org.jooq.Context org.jooq.Name
        60: invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
        61: .line 452
            checkcast org.jooq.Context
        62: .line 454
            ldc ", "
            invokeinterface org.jooq.Context.sql:(Ljava/lang/String;)Lorg/jooq/Context;
        63: .line 452
            checkcast org.jooq.Context
        64: .line 455
            aload 0 /* this */
            iload 3 /* sign */
            i2l
            aload 0 /* this */
            invokevirtual org.jooq.impl.Expression$DateExpression.rhsAsDTS:()Lorg/jooq/types/DayToSecond;
            invokevirtual org.jooq.types.DayToSecond.getMilli:()I
            i2l
            lmul
            aload 1 /* ctx */
            invokeinterface org.jooq.Context.family:()Lorg/jooq/SQLDialect;
            getstatic org.jooq.SQLDialect.DERBY:Lorg/jooq/SQLDialect;
            if_acmpne 65
            ldc 1000000
            goto 66
      StackMap locals: org.jooq.impl.Expression$DateExpression org.jooq.Context org.jooq.SQLDialect int int
      StackMap stack: org.jooq.Context org.jooq.impl.Expression$DateExpression long
        65: lconst_1
      StackMap locals: org.jooq.impl.Expression$DateExpression org.jooq.Context org.jooq.SQLDialect int int
      StackMap stack: org.jooq.Context org.jooq.impl.Expression$DateExpression long long
        66: lmul
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokevirtual org.jooq.impl.Expression$DateExpression.p:(Ljava/lang/Object;)Lorg/jooq/Field;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
        67: .line 452
            checkcast org.jooq.Context
        68: .line 455
            ldc ", "
            invokeinterface org.jooq.Context.sql:(Ljava/lang/String;)Lorg/jooq/Context;
        69: .line 452
            checkcast org.jooq.Context
        70: .line 455
            aload 0 /* this */
            getfield org.jooq.impl.Expression$DateExpression.lhs:Lorg/jooq/Field;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
        71: .line 452
            checkcast org.jooq.Context
        72: .line 455
            ldc ") }) }"
            invokeinterface org.jooq.Context.sql:(Ljava/lang/String;)Lorg/jooq/Context;
            pop
        73: .line 459
      StackMap locals:
      StackMap stack:
            iload 4 /* needsCast */
            ifeq 113
        74: .line 460
            aload 1 /* ctx */
            bipush 32
            invokeinterface org.jooq.Context.sql:(C)Lorg/jooq/Context;
            checkcast org.jooq.Context
            getstatic org.jooq.impl.Keywords.K_AS:Lorg/jooq/Keyword;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            bipush 32
            invokeinterface org.jooq.Context.sql:(C)Lorg/jooq/Context;
            checkcast org.jooq.Context
            aload 0 /* this */
            invokevirtual org.jooq.impl.Expression$DateExpression.getDataType:()Lorg/jooq/DataType;
            aload 1 /* ctx */
            invokeinterface org.jooq.Context.configuration:()Lorg/jooq/Configuration;
            invokeinterface org.jooq.DataType.getCastTypeName:(Lorg/jooq/Configuration;)Ljava/lang/String;
            invokestatic org.jooq.impl.DSL.keyword:(Ljava/lang/String;)Lorg/jooq/Keyword;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            bipush 41
            invokeinterface org.jooq.Context.sql:(C)Lorg/jooq/Context;
            pop
        75: .line 462
            goto 113
        end local 4 // boolean needsCast
        76: .line 466
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jooq.impl.Expression$DateExpression.rhs:Lorg/jooq/Field;
            invokeinterface org.jooq.Field.getType:()Ljava/lang/Class;
            ldc Lorg/jooq/types/YearToMonth;
            if_acmpne 78
        77: .line 467
            aload 1 /* ctx */
            getstatic org.jooq.impl.Names.N_DATEADD:Lorg/jooq/Name;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            bipush 40
            invokeinterface org.jooq.Context.sql:(C)Lorg/jooq/Context;
            checkcast org.jooq.Context
            getstatic org.jooq.impl.Keywords.K_MONTH:Lorg/jooq/Keyword;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            ldc ", "
            invokeinterface org.jooq.Context.sql:(Ljava/lang/String;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            aload 0 /* this */
            iload 3 /* sign */
            aload 0 /* this */
            invokevirtual org.jooq.impl.Expression$DateExpression.rhsAsYTM:()Lorg/jooq/types/YearToMonth;
            invokevirtual org.jooq.types.YearToMonth.intValue:()I
            imul
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual org.jooq.impl.Expression$DateExpression.p:(Ljava/lang/Object;)Lorg/jooq/Field;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            ldc ", "
            invokeinterface org.jooq.Context.sql:(Ljava/lang/String;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            aload 0 /* this */
            getfield org.jooq.impl.Expression$DateExpression.lhs:Lorg/jooq/Field;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            bipush 41
            invokeinterface org.jooq.Context.sql:(C)Lorg/jooq/Context;
            pop
            goto 113
        78: .line 470
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jooq.impl.Expression$DateExpression.rhsAsDTS:()Lorg/jooq/types/DayToSecond;
            invokevirtual org.jooq.types.DayToSecond.getMilli:()I
            ifle 97
        79: .line 471
            aload 1 /* ctx */
            getstatic org.jooq.impl.Names.N_DATEADD:Lorg/jooq/Name;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            bipush 40
            invokeinterface org.jooq.Context.sql:(C)Lorg/jooq/Context;
            checkcast org.jooq.Context
            getstatic org.jooq.impl.Keywords.K_MILLISECOND:Lorg/jooq/Keyword;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            ldc ", "
            invokeinterface org.jooq.Context.sql:(Ljava/lang/String;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            aload 0 /* this */
            iload 3 /* sign */
            i2l
            aload 0 /* this */
            invokevirtual org.jooq.impl.Expression$DateExpression.rhsAsDTS:()Lorg/jooq/types/DayToSecond;
            invokevirtual org.jooq.types.DayToSecond.getMilli:()I
            i2l
            lmul
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokevirtual org.jooq.impl.Expression$DateExpression.p:(Ljava/lang/Object;)Lorg/jooq/Field;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            ldc ", "
            invokeinterface org.jooq.Context.sql:(Ljava/lang/String;)Lorg/jooq/Context;
            checkcast org.jooq.Context
        80: .line 472
            getstatic org.jooq.impl.Names.N_DATEADD:Lorg/jooq/Name;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
        81: .line 471
            checkcast org.jooq.Context
        82: .line 472
            bipush 40
            invokeinterface org.jooq.Context.sql:(C)Lorg/jooq/Context;
        83: .line 471
            checkcast org.jooq.Context
        84: .line 472
            getstatic org.jooq.impl.Keywords.K_SECOND:Lorg/jooq/Keyword;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
        85: .line 471
            checkcast org.jooq.Context
        86: .line 472
            ldc ", "
            invokeinterface org.jooq.Context.sql:(Ljava/lang/String;)Lorg/jooq/Context;
        87: .line 471
            checkcast org.jooq.Context
        88: .line 472
            aload 0 /* this */
            iload 3 /* sign */
            i2l
            aload 0 /* this */
            invokevirtual org.jooq.impl.Expression$DateExpression.rhsAsDTS:()Lorg/jooq/types/DayToSecond;
            invokevirtual org.jooq.types.DayToSecond.getTotalSeconds:()D
            d2l
            lmul
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokevirtual org.jooq.impl.Expression$DateExpression.p:(Ljava/lang/Object;)Lorg/jooq/Field;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
        89: .line 471
            checkcast org.jooq.Context
        90: .line 472
            ldc ", "
            invokeinterface org.jooq.Context.sql:(Ljava/lang/String;)Lorg/jooq/Context;
        91: .line 471
            checkcast org.jooq.Context
        92: .line 472
            aload 0 /* this */
            getfield org.jooq.impl.Expression$DateExpression.lhs:Lorg/jooq/Field;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
        93: .line 471
            checkcast org.jooq.Context
        94: .line 472
            bipush 41
            invokeinterface org.jooq.Context.sql:(C)Lorg/jooq/Context;
        95: .line 471
            checkcast org.jooq.Context
        96: .line 473
            bipush 41
            invokeinterface org.jooq.Context.sql:(C)Lorg/jooq/Context;
            pop
            goto 113
        97: .line 475
      StackMap locals:
      StackMap stack:
            aload 1 /* ctx */
            getstatic org.jooq.impl.Names.N_DATEADD:Lorg/jooq/Name;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            bipush 40
            invokeinterface org.jooq.Context.sql:(C)Lorg/jooq/Context;
            checkcast org.jooq.Context
            getstatic org.jooq.impl.Keywords.K_SECOND:Lorg/jooq/Keyword;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            ldc ", "
            invokeinterface org.jooq.Context.sql:(Ljava/lang/String;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            aload 0 /* this */
            iload 3 /* sign */
            i2l
            aload 0 /* this */
            invokevirtual org.jooq.impl.Expression$DateExpression.rhsAsDTS:()Lorg/jooq/types/DayToSecond;
            invokevirtual org.jooq.types.DayToSecond.getTotalSeconds:()D
            d2l
            lmul
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokevirtual org.jooq.impl.Expression$DateExpression.p:(Ljava/lang/Object;)Lorg/jooq/Field;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            ldc ", "
            invokeinterface org.jooq.Context.sql:(Ljava/lang/String;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            aload 0 /* this */
            getfield org.jooq.impl.Expression$DateExpression.lhs:Lorg/jooq/Field;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            bipush 41
            invokeinterface org.jooq.Context.sql:(C)Lorg/jooq/Context;
            pop
        98: .line 477
            goto 113
        99: .line 481
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jooq.impl.Expression$DateExpression.rhs:Lorg/jooq/Field;
            invokeinterface org.jooq.Field.getType:()Ljava/lang/Class;
            ldc Lorg/jooq/types/YearToMonth;
            if_acmpne 100
            iconst_1
            goto 101
      StackMap locals:
      StackMap stack:
       100: iconst_0
      StackMap locals:
      StackMap stack: int
       101: istore 4 /* ytm */
        start local 4 // boolean ytm
       102: .line 482
            aload 0 /* this */
            iload 4 /* ytm */
            ifeq 103
            aload 0 /* this */
            invokevirtual org.jooq.impl.Expression$DateExpression.rhsAsYTM:()Lorg/jooq/types/YearToMonth;
            invokevirtual org.jooq.types.YearToMonth.intValue:()I
            i2d
            goto 104
      StackMap locals: org.jooq.impl.Expression$DateExpression org.jooq.Context org.jooq.SQLDialect int int
      StackMap stack: org.jooq.impl.Expression$DateExpression
       103: aload 0 /* this */
            invokevirtual org.jooq.impl.Expression$DateExpression.rhsAsDTS:()Lorg/jooq/types/DayToSecond;
            invokevirtual org.jooq.types.DayToSecond.getTotalSeconds:()D
      StackMap locals: org.jooq.impl.Expression$DateExpression org.jooq.Context org.jooq.SQLDialect int int
      StackMap stack: org.jooq.impl.Expression$DateExpression double
       104: invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            invokevirtual org.jooq.impl.Expression$DateExpression.p:(Ljava/lang/Object;)Lorg/jooq/Field;
            astore 5 /* interval */
        start local 5 // org.jooq.Field interval
       105: .line 484
            iload 3 /* sign */
            ifge 107
       106: .line 485
            aload 5 /* interval */
            invokeinterface org.jooq.Field.neg:()Lorg/jooq/Field;
            astore 5 /* interval */
       107: .line 487
      StackMap locals: org.jooq.Field
      StackMap stack:
            aload 5 /* interval */
            iconst_1
            anewarray org.jooq.Field
            dup
            iconst_0
            iload 4 /* ytm */
            ifeq 108
            ldc " months"
            goto 109
      StackMap locals: org.jooq.impl.Expression$DateExpression org.jooq.Context org.jooq.SQLDialect int int org.jooq.Field
      StackMap stack: org.jooq.Field org.jooq.Field[] org.jooq.Field[] int
       108: ldc " seconds"
      StackMap locals: org.jooq.impl.Expression$DateExpression org.jooq.Context org.jooq.SQLDialect int int org.jooq.Field
      StackMap stack: org.jooq.Field org.jooq.Field[] org.jooq.Field[] int java.lang.String
       109: invokestatic org.jooq.impl.DSL.inline:(Ljava/lang/String;)Lorg/jooq/Param;
            aastore
            invokeinterface org.jooq.Field.concat:([Lorg/jooq/Field;)Lorg/jooq/Field;
            astore 5 /* interval */
       110: .line 488
            aload 1 /* ctx */
            getstatic org.jooq.impl.Names.N_STRFTIME:Lorg/jooq/Name;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            ldc "('%Y-%m-%d %H:%M:%f', "
            invokeinterface org.jooq.Context.sql:(Ljava/lang/String;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            aload 0 /* this */
            getfield org.jooq.impl.Expression$DateExpression.lhs:Lorg/jooq/Field;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            ldc ", "
            invokeinterface org.jooq.Context.sql:(Ljava/lang/String;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            aload 5 /* interval */
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            bipush 41
            invokeinterface org.jooq.Context.sql:(C)Lorg/jooq/Context;
            pop
       111: .line 489
            goto 113
        end local 5 // org.jooq.Field interval
        end local 4 // boolean ytm
       112: .line 658
      StackMap locals:
      StackMap stack:
            aload 1 /* ctx */
            new org.jooq.impl.Expression$DefaultExpression
            dup
            aload 0 /* this */
            getfield org.jooq.impl.Expression$DateExpression.lhs:Lorg/jooq/Field;
            aload 0 /* this */
            getfield org.jooq.impl.Expression$DateExpression.operator:Lorg/jooq/impl/ExpressionOperator;
            aload 0 /* this */
            getfield org.jooq.impl.Expression$DateExpression.rhs:Lorg/jooq/Field;
            invokespecial org.jooq.impl.Expression$DefaultExpression.<init>:(Lorg/jooq/Field;Lorg/jooq/impl/ExpressionOperator;Lorg/jooq/Field;)V
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
            pop
       113: .line 661
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int sign
        end local 2 // org.jooq.SQLDialect family
        end local 1 // org.jooq.Context ctx
        end local 0 // org.jooq.impl.Expression$DateExpression this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0  114     0       this  Lorg/jooq/impl/Expression$DateExpression<TT;>;
            0  114     1        ctx  Lorg/jooq/Context<*>;
            1  114     2     family  Lorg/jooq/SQLDialect;
            4  114     3       sign  I
            6   35     4   interval  Lorg/jooq/types/Interval;
           38   76     4  needsCast  Z
          102  112     4        ytm  Z
          105  112     5   interval  Lorg/jooq/Field<*>;
    Signature: (Lorg/jooq/Context<*>;)V
    MethodParameters:
      Name  Flags
      ctx   

  private final void acceptNumberExpression(org.jooq.Context<?>);
    descriptor: (Lorg/jooq/Context;)V
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=7, locals=3, args_size=2
        start local 0 // org.jooq.impl.Expression$DateExpression this
        start local 1 // org.jooq.Context ctx
         0: .line 668
            invokestatic org.jooq.impl.Expression$DateExpression.$SWITCH_TABLE$org$jooq$SQLDialect:()[I
            aload 1 /* ctx */
            invokeinterface org.jooq.Context.family:()Lorg/jooq/SQLDialect;
            invokevirtual org.jooq.SQLDialect.ordinal:()I
            iaload
            tableswitch { // 3 - 11
                    3: 20
                    4: 9
                    5: 1
                    6: 32
                    7: 5
                    8: 20
                    9: 20
                   10: 24
                   11: 28
              default: 32
          }
         1: .line 694
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jooq.impl.Expression$DateExpression.operator:Lorg/jooq/impl/ExpressionOperator;
            getstatic org.jooq.impl.ExpressionOperator.ADD:Lorg/jooq/impl/ExpressionOperator;
            if_acmpne 3
         2: .line 695
            aload 1 /* ctx */
            getstatic org.jooq.impl.Names.N_DATEADD:Lorg/jooq/Name;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            bipush 40
            invokeinterface org.jooq.Context.sql:(C)Lorg/jooq/Context;
            checkcast org.jooq.Context
            getstatic org.jooq.impl.Keywords.K_DAY:Lorg/jooq/Keyword;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            ldc ", "
            invokeinterface org.jooq.Context.sql:(Ljava/lang/String;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            aload 0 /* this */
            invokevirtual org.jooq.impl.Expression$DateExpression.rhsAsNumber:()Lorg/jooq/Field;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            ldc ", "
            invokeinterface org.jooq.Context.sql:(Ljava/lang/String;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            aload 0 /* this */
            getfield org.jooq.impl.Expression$DateExpression.lhs:Lorg/jooq/Field;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            bipush 41
            invokeinterface org.jooq.Context.sql:(C)Lorg/jooq/Context;
            pop
            goto 33
         3: .line 697
      StackMap locals:
      StackMap stack:
            aload 1 /* ctx */
            getstatic org.jooq.impl.Names.N_DATEADD:Lorg/jooq/Name;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            bipush 40
            invokeinterface org.jooq.Context.sql:(C)Lorg/jooq/Context;
            checkcast org.jooq.Context
            getstatic org.jooq.impl.Keywords.K_DAY:Lorg/jooq/Keyword;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            ldc ", "
            invokeinterface org.jooq.Context.sql:(Ljava/lang/String;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            aload 0 /* this */
            invokevirtual org.jooq.impl.Expression$DateExpression.rhsAsNumber:()Lorg/jooq/Field;
            invokeinterface org.jooq.Field.neg:()Lorg/jooq/Field;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            ldc ", "
            invokeinterface org.jooq.Context.sql:(Ljava/lang/String;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            aload 0 /* this */
            getfield org.jooq.impl.Expression$DateExpression.lhs:Lorg/jooq/Field;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            bipush 41
            invokeinterface org.jooq.Context.sql:(C)Lorg/jooq/Context;
            pop
         4: .line 699
            goto 33
         5: .line 706
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jooq.impl.Expression$DateExpression.operator:Lorg/jooq/impl/ExpressionOperator;
            getstatic org.jooq.impl.ExpressionOperator.ADD:Lorg/jooq/impl/ExpressionOperator;
            if_acmpne 7
         6: .line 707
            aload 1 /* ctx */
            aload 0 /* this */
            getfield org.jooq.impl.Expression$DateExpression.lhs:Lorg/jooq/Field;
            ldc "({0}) day"
            iconst_1
            anewarray org.jooq.QueryPart
            dup
            iconst_0
            aload 0 /* this */
            invokevirtual org.jooq.impl.Expression$DateExpression.rhsAsNumber:()Lorg/jooq/Field;
            aastore
            invokestatic org.jooq.impl.DSL.field:(Ljava/lang/String;[Lorg/jooq/QueryPart;)Lorg/jooq/Field;
            invokeinterface org.jooq.Field.add:(Lorg/jooq/Field;)Lorg/jooq/Field;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
            pop
            goto 33
         7: .line 709
      StackMap locals:
      StackMap stack:
            aload 1 /* ctx */
            aload 0 /* this */
            getfield org.jooq.impl.Expression$DateExpression.lhs:Lorg/jooq/Field;
            ldc "({0}) day"
            iconst_1
            anewarray org.jooq.QueryPart
            dup
            iconst_0
            aload 0 /* this */
            invokevirtual org.jooq.impl.Expression$DateExpression.rhsAsNumber:()Lorg/jooq/Field;
            aastore
            invokestatic org.jooq.impl.DSL.field:(Ljava/lang/String;[Lorg/jooq/QueryPart;)Lorg/jooq/Field;
            invokeinterface org.jooq.Field.sub:(Lorg/jooq/Field;)Lorg/jooq/Field;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
            pop
         8: .line 711
            goto 33
         9: .line 715
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.jooq.impl.Expression$DateExpression.getDataType:()Lorg/jooq/DataType;
            invokeinterface org.jooq.DataType.getType:()Ljava/lang/Class;
            ldc Ljava/sql/Timestamp;
            if_acmpeq 10
            iconst_1
            goto 11
      StackMap locals:
      StackMap stack:
        10: iconst_0
      StackMap locals:
      StackMap stack: int
        11: istore 2 /* needsCast */
        start local 2 // boolean needsCast
        12: .line 716
            iload 2 /* needsCast */
            ifeq 14
        13: .line 717
            aload 1 /* ctx */
            getstatic org.jooq.impl.Keywords.K_CAST:Lorg/jooq/Keyword;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            bipush 40
            invokeinterface org.jooq.Context.sql:(C)Lorg/jooq/Context;
            pop
        14: .line 719
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.jooq.impl.Expression$DateExpression.operator:Lorg/jooq/impl/ExpressionOperator;
            getstatic org.jooq.impl.ExpressionOperator.ADD:Lorg/jooq/impl/ExpressionOperator;
            if_acmpne 16
        15: .line 720
            aload 1 /* ctx */
            ldc "{fn "
            invokeinterface org.jooq.Context.sql:(Ljava/lang/String;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            getstatic org.jooq.impl.Names.N_TIMESTAMPADD:Lorg/jooq/Name;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            bipush 40
            invokeinterface org.jooq.Context.sql:(C)Lorg/jooq/Context;
            checkcast org.jooq.Context
            ldc "sql_tsi_day"
            invokestatic org.jooq.impl.DSL.keyword:(Ljava/lang/String;)Lorg/jooq/Keyword;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            ldc ", "
            invokeinterface org.jooq.Context.sql:(Ljava/lang/String;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            aload 0 /* this */
            invokevirtual org.jooq.impl.Expression$DateExpression.rhsAsNumber:()Lorg/jooq/Field;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            ldc ", "
            invokeinterface org.jooq.Context.sql:(Ljava/lang/String;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            aload 0 /* this */
            getfield org.jooq.impl.Expression$DateExpression.lhs:Lorg/jooq/Field;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            ldc ") }"
            invokeinterface org.jooq.Context.sql:(Ljava/lang/String;)Lorg/jooq/Context;
            pop
            goto 17
        16: .line 722
      StackMap locals:
      StackMap stack:
            aload 1 /* ctx */
            ldc "{fn "
            invokeinterface org.jooq.Context.sql:(Ljava/lang/String;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            getstatic org.jooq.impl.Names.N_TIMESTAMPADD:Lorg/jooq/Name;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            bipush 40
            invokeinterface org.jooq.Context.sql:(C)Lorg/jooq/Context;
            checkcast org.jooq.Context
            ldc "sql_tsi_day"
            invokestatic org.jooq.impl.DSL.keyword:(Ljava/lang/String;)Lorg/jooq/Keyword;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            ldc ", "
            invokeinterface org.jooq.Context.sql:(Ljava/lang/String;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            aload 0 /* this */
            invokevirtual org.jooq.impl.Expression$DateExpression.rhsAsNumber:()Lorg/jooq/Field;
            invokeinterface org.jooq.Field.neg:()Lorg/jooq/Field;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            ldc ", "
            invokeinterface org.jooq.Context.sql:(Ljava/lang/String;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            aload 0 /* this */
            getfield org.jooq.impl.Expression$DateExpression.lhs:Lorg/jooq/Field;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            ldc ") }"
            invokeinterface org.jooq.Context.sql:(Ljava/lang/String;)Lorg/jooq/Context;
            pop
        17: .line 726
      StackMap locals:
      StackMap stack:
            iload 2 /* needsCast */
            ifeq 33
        18: .line 727
            aload 1 /* ctx */
            bipush 32
            invokeinterface org.jooq.Context.sql:(C)Lorg/jooq/Context;
            checkcast org.jooq.Context
            getstatic org.jooq.impl.Keywords.K_AS:Lorg/jooq/Keyword;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            bipush 32
            invokeinterface org.jooq.Context.sql:(C)Lorg/jooq/Context;
            checkcast org.jooq.Context
            aload 0 /* this */
            invokevirtual org.jooq.impl.Expression$DateExpression.getDataType:()Lorg/jooq/DataType;
            aload 1 /* ctx */
            invokeinterface org.jooq.Context.configuration:()Lorg/jooq/Configuration;
            invokeinterface org.jooq.DataType.getCastTypeName:(Lorg/jooq/Configuration;)Ljava/lang/String;
            invokestatic org.jooq.impl.DSL.keyword:(Ljava/lang/String;)Lorg/jooq/Keyword;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            bipush 41
            invokeinterface org.jooq.Context.sql:(C)Lorg/jooq/Context;
            pop
        19: .line 729
            goto 33
        end local 2 // boolean needsCast
        20: .line 739
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jooq.impl.Expression$DateExpression.operator:Lorg/jooq/impl/ExpressionOperator;
            getstatic org.jooq.impl.ExpressionOperator.ADD:Lorg/jooq/impl/ExpressionOperator;
            if_acmpne 22
        21: .line 740
            aload 1 /* ctx */
            getstatic org.jooq.impl.Names.N_DATE_ADD:Lorg/jooq/Name;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            bipush 40
            invokeinterface org.jooq.Context.sql:(C)Lorg/jooq/Context;
            checkcast org.jooq.Context
            aload 0 /* this */
            getfield org.jooq.impl.Expression$DateExpression.lhs:Lorg/jooq/Field;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            ldc ", "
            invokeinterface org.jooq.Context.sql:(Ljava/lang/String;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            getstatic org.jooq.impl.Keywords.K_INTERVAL:Lorg/jooq/Keyword;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            bipush 32
            invokeinterface org.jooq.Context.sql:(C)Lorg/jooq/Context;
            checkcast org.jooq.Context
            aload 0 /* this */
            invokevirtual org.jooq.impl.Expression$DateExpression.rhsAsNumber:()Lorg/jooq/Field;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            bipush 32
            invokeinterface org.jooq.Context.sql:(C)Lorg/jooq/Context;
            checkcast org.jooq.Context
            getstatic org.jooq.impl.Keywords.K_DAY:Lorg/jooq/Keyword;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            bipush 41
            invokeinterface org.jooq.Context.sql:(C)Lorg/jooq/Context;
            pop
            goto 33
        22: .line 742
      StackMap locals:
      StackMap stack:
            aload 1 /* ctx */
            getstatic org.jooq.impl.Names.N_DATE_ADD:Lorg/jooq/Name;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            bipush 40
            invokeinterface org.jooq.Context.sql:(C)Lorg/jooq/Context;
            checkcast org.jooq.Context
            aload 0 /* this */
            getfield org.jooq.impl.Expression$DateExpression.lhs:Lorg/jooq/Field;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            ldc ", "
            invokeinterface org.jooq.Context.sql:(Ljava/lang/String;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            getstatic org.jooq.impl.Keywords.K_INTERVAL:Lorg/jooq/Keyword;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            bipush 32
            invokeinterface org.jooq.Context.sql:(C)Lorg/jooq/Context;
            checkcast org.jooq.Context
            aload 0 /* this */
            invokevirtual org.jooq.impl.Expression$DateExpression.rhsAsNumber:()Lorg/jooq/Field;
            invokeinterface org.jooq.Field.neg:()Lorg/jooq/Field;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            bipush 32
            invokeinterface org.jooq.Context.sql:(C)Lorg/jooq/Context;
            checkcast org.jooq.Context
            getstatic org.jooq.impl.Keywords.K_DAY:Lorg/jooq/Keyword;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            bipush 41
            invokeinterface org.jooq.Context.sql:(C)Lorg/jooq/Context;
            pop
        23: .line 744
            goto 33
        24: .line 776
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jooq.impl.Expression$DateExpression.operator:Lorg/jooq/impl/ExpressionOperator;
            getstatic org.jooq.impl.ExpressionOperator.ADD:Lorg/jooq/impl/ExpressionOperator;
            if_acmpne 26
        25: .line 777
            aload 1 /* ctx */
            new org.jooq.impl.DateAdd
            dup
            aload 0 /* this */
            getfield org.jooq.impl.Expression$DateExpression.lhs:Lorg/jooq/Field;
            aload 0 /* this */
            invokevirtual org.jooq.impl.Expression$DateExpression.rhsAsNumber:()Lorg/jooq/Field;
            getstatic org.jooq.DatePart.DAY:Lorg/jooq/DatePart;
            invokespecial org.jooq.impl.DateAdd.<init>:(Lorg/jooq/Field;Lorg/jooq/Field;Lorg/jooq/DatePart;)V
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
            pop
            goto 33
        26: .line 779
      StackMap locals:
      StackMap stack:
            aload 1 /* ctx */
            new org.jooq.impl.DateAdd
            dup
            aload 0 /* this */
            getfield org.jooq.impl.Expression$DateExpression.lhs:Lorg/jooq/Field;
            aload 0 /* this */
            invokevirtual org.jooq.impl.Expression$DateExpression.rhsAsNumber:()Lorg/jooq/Field;
            invokeinterface org.jooq.Field.neg:()Lorg/jooq/Field;
            getstatic org.jooq.DatePart.DAY:Lorg/jooq/DatePart;
            invokespecial org.jooq.impl.DateAdd.<init>:(Lorg/jooq/Field;Lorg/jooq/Field;Lorg/jooq/DatePart;)V
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
            pop
        27: .line 781
            goto 33
        28: .line 785
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.jooq.impl.Expression$DateExpression.operator:Lorg/jooq/impl/ExpressionOperator;
            getstatic org.jooq.impl.ExpressionOperator.ADD:Lorg/jooq/impl/ExpressionOperator;
            if_acmpne 30
        29: .line 786
            aload 1 /* ctx */
            getstatic org.jooq.impl.Names.N_STRFTIME:Lorg/jooq/Name;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            ldc "('%Y-%m-%d %H:%M:%f', "
            invokeinterface org.jooq.Context.sql:(Ljava/lang/String;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            aload 0 /* this */
            getfield org.jooq.impl.Expression$DateExpression.lhs:Lorg/jooq/Field;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            ldc ", "
            invokeinterface org.jooq.Context.sql:(Ljava/lang/String;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            aload 0 /* this */
            invokevirtual org.jooq.impl.Expression$DateExpression.rhsAsNumber:()Lorg/jooq/Field;
            iconst_1
            anewarray org.jooq.Field
            dup
            iconst_0
            ldc " day"
            invokestatic org.jooq.impl.DSL.inline:(Ljava/lang/String;)Lorg/jooq/Param;
            aastore
            invokeinterface org.jooq.Field.concat:([Lorg/jooq/Field;)Lorg/jooq/Field;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            bipush 41
            invokeinterface org.jooq.Context.sql:(C)Lorg/jooq/Context;
            pop
            goto 33
        30: .line 788
      StackMap locals:
      StackMap stack:
            aload 1 /* ctx */
            getstatic org.jooq.impl.Names.N_STRFTIME:Lorg/jooq/Name;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            ldc "('%Y-%m-%d %H:%M:%f', "
            invokeinterface org.jooq.Context.sql:(Ljava/lang/String;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            aload 0 /* this */
            getfield org.jooq.impl.Expression$DateExpression.lhs:Lorg/jooq/Field;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            ldc ", "
            invokeinterface org.jooq.Context.sql:(Ljava/lang/String;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            aload 0 /* this */
            invokevirtual org.jooq.impl.Expression$DateExpression.rhsAsNumber:()Lorg/jooq/Field;
            invokeinterface org.jooq.Field.neg:()Lorg/jooq/Field;
            iconst_1
            anewarray org.jooq.Field
            dup
            iconst_0
            ldc " day"
            invokestatic org.jooq.impl.DSL.inline:(Ljava/lang/String;)Lorg/jooq/Param;
            aastore
            invokeinterface org.jooq.Field.concat:([Lorg/jooq/Field;)Lorg/jooq/Field;
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
            checkcast org.jooq.Context
            bipush 41
            invokeinterface org.jooq.Context.sql:(C)Lorg/jooq/Context;
            pop
        31: .line 790
            goto 33
        32: .line 806
      StackMap locals:
      StackMap stack:
            aload 1 /* ctx */
            new org.jooq.impl.Expression$DefaultExpression
            dup
            aload 0 /* this */
            getfield org.jooq.impl.Expression$DateExpression.lhs:Lorg/jooq/Field;
            aload 0 /* this */
            getfield org.jooq.impl.Expression$DateExpression.operator:Lorg/jooq/impl/ExpressionOperator;
            aload 0 /* this */
            getfield org.jooq.impl.Expression$DateExpression.rhs:Lorg/jooq/Field;
            invokespecial org.jooq.impl.Expression$DefaultExpression.<init>:(Lorg/jooq/Field;Lorg/jooq/impl/ExpressionOperator;Lorg/jooq/Field;)V
            invokeinterface org.jooq.Context.visit:(Lorg/jooq/QueryPart;)Lorg/jooq/Context;
            pop
        33: .line 809
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.jooq.Context ctx
        end local 0 // org.jooq.impl.Expression$DateExpression this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   34     0       this  Lorg/jooq/impl/Expression$DateExpression<TT;>;
            0   34     1        ctx  Lorg/jooq/Context<*>;
           12   20     2  needsCast  Z
    Signature: (Lorg/jooq/Context<*>;)V
    MethodParameters:
      Name  Flags
      ctx   

  private final org.jooq.types.YearToSecond rhsAsYTS();
    descriptor: ()Lorg/jooq/types/YearToSecond;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // org.jooq.impl.Expression$DateExpression this
         0: .line 814
            aload 0 /* this */
            getfield org.jooq.impl.Expression$DateExpression.rhs:Lorg/jooq/Field;
            checkcast org.jooq.Param
            invokeinterface org.jooq.Param.getValue:()Ljava/lang/Object;
            checkcast org.jooq.types.YearToSecond
         1: areturn
         2: .line 816
      StackMap locals:
      StackMap stack: java.lang.ClassCastException
            astore 1 /* e */
        start local 1 // java.lang.ClassCastException e
         3: .line 817
            new org.jooq.exception.DataTypeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Cannot perform datetime arithmetic with a non-numeric, non-interval data type on the right hand side of the expression: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.jooq.impl.Expression$DateExpression.rhs:Lorg/jooq/Field;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 1 /* e */
            invokespecial org.jooq.exception.DataTypeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.lang.ClassCastException e
        end local 0 // org.jooq.impl.Expression$DateExpression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/jooq/impl/Expression$DateExpression<TT;>;
            3    4     1     e  Ljava/lang/ClassCastException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.ClassCastException

  private final org.jooq.types.YearToMonth rhsAsYTM();
    descriptor: ()Lorg/jooq/types/YearToMonth;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // org.jooq.impl.Expression$DateExpression this
         0: .line 824
            aload 0 /* this */
            getfield org.jooq.impl.Expression$DateExpression.rhs:Lorg/jooq/Field;
            checkcast org.jooq.Param
            invokeinterface org.jooq.Param.getValue:()Ljava/lang/Object;
            checkcast org.jooq.types.YearToMonth
         1: areturn
         2: .line 826
      StackMap locals:
      StackMap stack: java.lang.ClassCastException
            astore 1 /* e */
        start local 1 // java.lang.ClassCastException e
         3: .line 827
            new org.jooq.exception.DataTypeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Cannot perform datetime arithmetic with a non-numeric, non-interval data type on the right hand side of the expression: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.jooq.impl.Expression$DateExpression.rhs:Lorg/jooq/Field;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 1 /* e */
            invokespecial org.jooq.exception.DataTypeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.lang.ClassCastException e
        end local 0 // org.jooq.impl.Expression$DateExpression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/jooq/impl/Expression$DateExpression<TT;>;
            3    4     1     e  Ljava/lang/ClassCastException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.ClassCastException

  private final org.jooq.types.DayToSecond rhsAsDTS();
    descriptor: ()Lorg/jooq/types/DayToSecond;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // org.jooq.impl.Expression$DateExpression this
         0: .line 834
            aload 0 /* this */
            getfield org.jooq.impl.Expression$DateExpression.rhs:Lorg/jooq/Field;
            checkcast org.jooq.Param
            invokeinterface org.jooq.Param.getValue:()Ljava/lang/Object;
            checkcast org.jooq.types.DayToSecond
         1: areturn
         2: .line 836
      StackMap locals:
      StackMap stack: java.lang.ClassCastException
            astore 1 /* e */
        start local 1 // java.lang.ClassCastException e
         3: .line 837
            new org.jooq.exception.DataTypeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Cannot perform datetime arithmetic with a non-numeric, non-interval data type on the right hand side of the expression: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.jooq.impl.Expression$DateExpression.rhs:Lorg/jooq/Field;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 1 /* e */
            invokespecial org.jooq.exception.DataTypeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.lang.ClassCastException e
        end local 0 // org.jooq.impl.Expression$DateExpression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/jooq/impl/Expression$DateExpression<TT;>;
            3    4     1     e  Ljava/lang/ClassCastException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.ClassCastException

  private final org.jooq.types.Interval rhsAsInterval();
    descriptor: ()Lorg/jooq/types/Interval;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // org.jooq.impl.Expression$DateExpression this
         0: .line 844
            aload 0 /* this */
            getfield org.jooq.impl.Expression$DateExpression.rhs:Lorg/jooq/Field;
            checkcast org.jooq.Param
            invokeinterface org.jooq.Param.getValue:()Ljava/lang/Object;
            checkcast org.jooq.types.Interval
         1: areturn
         2: .line 846
      StackMap locals:
      StackMap stack: java.lang.ClassCastException
            astore 1 /* e */
        start local 1 // java.lang.ClassCastException e
         3: .line 847
            new org.jooq.exception.DataTypeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Cannot perform datetime arithmetic with a non-numeric, non-interval data type on the right hand side of the expression: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.jooq.impl.Expression$DateExpression.rhs:Lorg/jooq/Field;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 1 /* e */
            invokespecial org.jooq.exception.DataTypeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.lang.ClassCastException e
        end local 0 // org.jooq.impl.Expression$DateExpression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/jooq/impl/Expression$DateExpression<TT;>;
            3    4     1     e  Ljava/lang/ClassCastException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.ClassCastException

  private final org.jooq.Field<java.lang.Number> rhsAsNumber();
    descriptor: ()Lorg/jooq/Field;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.jooq.impl.Expression$DateExpression this
         0: .line 856
            aload 0 /* this */
            getfield org.jooq.impl.Expression$DateExpression.rhs:Lorg/jooq/Field;
            areturn
        end local 0 // org.jooq.impl.Expression$DateExpression this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/jooq/impl/Expression$DateExpression<TT;>;
    Signature: ()Lorg/jooq/Field<Ljava/lang/Number;>;

  static int[] $SWITCH_TABLE$org$jooq$SQLDialect();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 355
            getstatic org.jooq.impl.Expression$DateExpression.$SWITCH_TABLE$org$jooq$SQLDialect:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic org.jooq.SQLDialect.values:()[Lorg/jooq/SQLDialect;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic org.jooq.SQLDialect.CUBRID:Lorg/jooq/SQLDialect;
            invokevirtual org.jooq.SQLDialect.ordinal:()I
            iconst_3
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic org.jooq.SQLDialect.DEFAULT:Lorg/jooq/SQLDialect;
            invokevirtual org.jooq.SQLDialect.ordinal:()I
            iconst_2
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic org.jooq.SQLDialect.DERBY:Lorg/jooq/SQLDialect;
            invokevirtual org.jooq.SQLDialect.ordinal:()I
            iconst_4
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic org.jooq.SQLDialect.FIREBIRD:Lorg/jooq/SQLDialect;
            invokevirtual org.jooq.SQLDialect.ordinal:()I
            iconst_5
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic org.jooq.SQLDialect.H2:Lorg/jooq/SQLDialect;
            invokevirtual org.jooq.SQLDialect.ordinal:()I
            bipush 6
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic org.jooq.SQLDialect.HSQLDB:Lorg/jooq/SQLDialect;
            invokevirtual org.jooq.SQLDialect.ordinal:()I
            bipush 7
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            getstatic org.jooq.SQLDialect.MARIADB:Lorg/jooq/SQLDialect;
            invokevirtual org.jooq.SQLDialect.ordinal:()I
            bipush 8
            iastore
        21: goto 23
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        22: pop
      StackMap locals:
      StackMap stack:
        23: aload 0
            getstatic org.jooq.SQLDialect.MYSQL:Lorg/jooq/SQLDialect;
            invokevirtual org.jooq.SQLDialect.ordinal:()I
            bipush 9
            iastore
        24: goto 26
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        25: pop
      StackMap locals:
      StackMap stack:
        26: aload 0
            getstatic org.jooq.SQLDialect.POSTGRES:Lorg/jooq/SQLDialect;
            invokevirtual org.jooq.SQLDialect.ordinal:()I
            bipush 10
            iastore
        27: goto 29
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        28: pop
      StackMap locals:
      StackMap stack:
        29: aload 0
            getstatic org.jooq.SQLDialect.SQL99:Lorg/jooq/SQLDialect;
            invokevirtual org.jooq.SQLDialect.ordinal:()I
            iconst_1
            iastore
        30: goto 32
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        31: pop
      StackMap locals:
      StackMap stack:
        32: aload 0
            getstatic org.jooq.SQLDialect.SQLITE:Lorg/jooq/SQLDialect;
            invokevirtual org.jooq.SQLDialect.ordinal:()I
            bipush 11
            iastore
        33: goto 35
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        34: pop
      StackMap locals:
      StackMap stack:
        35: aload 0
            dup
            putstatic org.jooq.impl.Expression$DateExpression.$SWITCH_TABLE$org$jooq$SQLDialect:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
          17    18      19  Class java.lang.NoSuchFieldError
          20    21      22  Class java.lang.NoSuchFieldError
          23    24      25  Class java.lang.NoSuchFieldError
          26    27      28  Class java.lang.NoSuchFieldError
          29    30      31  Class java.lang.NoSuchFieldError
          32    33      34  Class java.lang.NoSuchFieldError
}
Signature: <T:Ljava/lang/Object;>Lorg/jooq/impl/AbstractField<TT;>;
SourceFile: "Expression.java"
NestHost: org.jooq.impl.Expression
InnerClasses:
  private DateExpression = org.jooq.impl.Expression$DateExpression of org.jooq.impl.Expression
  private DefaultExpression = org.jooq.impl.Expression$DefaultExpression of org.jooq.impl.Expression