public class org.h2.expression.function.ToDateParser
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.h2.expression.function.ToDateParser
  super_class: java.lang.Object
{
  private final org.h2.engine.Session session;
    descriptor: Lorg/h2/engine/Session;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

  private final org.h2.expression.function.ToDateParser$ConfigParam functionName;
    descriptor: Lorg/h2/expression/function/ToDateParser$ConfigParam;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

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

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

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

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

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

  private long absoluteDay;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

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

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

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

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

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

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

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

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

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

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

  private java.util.TimeZone timeZone;
    descriptor: Ljava/util/TimeZone;
    flags: (0x0002) ACC_PRIVATE

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

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

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

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

  private void <init>(org.h2.engine.Session, org.h2.expression.function.ToDateParser$ConfigParam, java.lang.String, java.lang.String);
    descriptor: (Lorg/h2/engine/Session;Lorg/h2/expression/function/ToDateParser$ConfigParam;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // org.h2.expression.function.ToDateParser this
        start local 1 // org.h2.engine.Session session
        start local 2 // org.h2.expression.function.ToDateParser$ConfigParam functionName
        start local 3 // java.lang.String input
        start local 4 // java.lang.String format
         0: .line 62
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 31
            aload 0 /* this */
            iconst_0
            putfield org.h2.expression.function.ToDateParser.doyValid:Z
            aload 0 /* this */
            iconst_0
            putfield org.h2.expression.function.ToDateParser.absoluteDayValid:Z
         2: .line 32
            aload 0 /* this */
            iconst_0
            putfield org.h2.expression.function.ToDateParser.hour12Valid:Z
         3: .line 33
            aload 0 /* this */
            iconst_0
            putfield org.h2.expression.function.ToDateParser.timeZoneHMValid:Z
         4: .line 39
            aload 0 /* this */
            iconst_1
            putfield org.h2.expression.function.ToDateParser.day:I
         5: .line 47
            aload 0 /* this */
            iconst_1
            putfield org.h2.expression.function.ToDateParser.isAM:Z
         6: .line 63
            aload 0 /* this */
            aload 1 /* session */
            putfield org.h2.expression.function.ToDateParser.session:Lorg/h2/engine/Session;
         7: .line 64
            aload 0 /* this */
            aload 2 /* functionName */
            putfield org.h2.expression.function.ToDateParser.functionName:Lorg/h2/expression/function/ToDateParser$ConfigParam;
         8: .line 65
            aload 0 /* this */
            aload 3 /* input */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            putfield org.h2.expression.function.ToDateParser.inputStr:Ljava/lang/String;
         9: .line 67
            aload 0 /* this */
            aload 0 /* this */
            getfield org.h2.expression.function.ToDateParser.inputStr:Ljava/lang/String;
            putfield org.h2.expression.function.ToDateParser.unmodifiedInputStr:Ljava/lang/String;
        10: .line 68
            aload 4 /* format */
            ifnull 11
            aload 4 /* format */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 13
        11: .line 70
      StackMap locals: org.h2.expression.function.ToDateParser org.h2.engine.Session org.h2.expression.function.ToDateParser$ConfigParam java.lang.String java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 2 /* functionName */
            invokevirtual org.h2.expression.function.ToDateParser$ConfigParam.getDefaultFormatStr:()Ljava/lang/String;
            putfield org.h2.expression.function.ToDateParser.formatStr:Ljava/lang/String;
        12: .line 71
            goto 14
        13: .line 72
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* format */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            putfield org.h2.expression.function.ToDateParser.formatStr:Ljava/lang/String;
        14: .line 75
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.h2.expression.function.ToDateParser.formatStr:Ljava/lang/String;
            putfield org.h2.expression.function.ToDateParser.unmodifiedFormatStr:Ljava/lang/String;
        15: .line 76
            return
        end local 4 // java.lang.String format
        end local 3 // java.lang.String input
        end local 2 // org.h2.expression.function.ToDateParser$ConfigParam functionName
        end local 1 // org.h2.engine.Session session
        end local 0 // org.h2.expression.function.ToDateParser this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   16     0          this  Lorg/h2/expression/function/ToDateParser;
            0   16     1       session  Lorg/h2/engine/Session;
            0   16     2  functionName  Lorg/h2/expression/function/ToDateParser$ConfigParam;
            0   16     3         input  Ljava/lang/String;
            0   16     4        format  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      session       
      functionName  
      input         
      format        

  private static org.h2.expression.function.ToDateParser getTimestampParser(org.h2.engine.Session, org.h2.expression.function.ToDateParser$ConfigParam, java.lang.String, java.lang.String);
    descriptor: (Lorg/h2/engine/Session;Lorg/h2/expression/function/ToDateParser$ConfigParam;Ljava/lang/String;Ljava/lang/String;)Lorg/h2/expression/function/ToDateParser;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // org.h2.engine.Session session
        start local 1 // org.h2.expression.function.ToDateParser$ConfigParam param
        start local 2 // java.lang.String input
        start local 3 // java.lang.String format
         0: .line 79
            new org.h2.expression.function.ToDateParser
            dup
            aload 0 /* session */
            aload 1 /* param */
            aload 2 /* input */
            aload 3 /* format */
            invokespecial org.h2.expression.function.ToDateParser.<init>:(Lorg/h2/engine/Session;Lorg/h2/expression/function/ToDateParser$ConfigParam;Ljava/lang/String;Ljava/lang/String;)V
            astore 4 /* result */
        start local 4 // org.h2.expression.function.ToDateParser result
         1: .line 80
            aload 4 /* result */
            invokestatic org.h2.expression.function.ToDateParser.parse:(Lorg/h2/expression/function/ToDateParser;)Lorg/h2/expression/function/ToDateParser;
            pop
         2: .line 81
            aload 4 /* result */
            areturn
        end local 4 // org.h2.expression.function.ToDateParser result
        end local 3 // java.lang.String format
        end local 2 // java.lang.String input
        end local 1 // org.h2.expression.function.ToDateParser$ConfigParam param
        end local 0 // org.h2.engine.Session session
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0  session  Lorg/h2/engine/Session;
            0    3     1    param  Lorg/h2/expression/function/ToDateParser$ConfigParam;
            0    3     2    input  Ljava/lang/String;
            0    3     3   format  Ljava/lang/String;
            1    3     4   result  Lorg/h2/expression/function/ToDateParser;
    MethodParameters:
         Name  Flags
      session  
      param    
      input    
      format   

  private org.h2.value.ValueTimestamp getResultingValue();
    descriptor: ()Lorg/h2/value/ValueTimestamp;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // org.h2.expression.function.ToDateParser this
         0: .line 86
            aload 0 /* this */
            getfield org.h2.expression.function.ToDateParser.absoluteDayValid:Z
            ifeq 3
         1: .line 87
            aload 0 /* this */
            getfield org.h2.expression.function.ToDateParser.absoluteDay:J
            invokestatic org.h2.util.DateTimeUtils.dateValueFromAbsoluteDay:(J)J
            lstore 1 /* dateValue */
        start local 1 // long dateValue
         2: .line 88
            goto 16
        end local 1 // long dateValue
         3: .line 89
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.expression.function.ToDateParser.year:I
            istore 3 /* year */
        start local 3 // int year
         4: .line 90
            iload 3 /* year */
            ifne 6
         5: .line 91
            aload 0 /* this */
            invokevirtual org.h2.expression.function.ToDateParser.getCurrentYear:()I
            istore 3 /* year */
         6: .line 93
      StackMap locals: org.h2.expression.function.ToDateParser top top int
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.expression.function.ToDateParser.bc:Z
            ifeq 8
         7: .line 94
            iconst_1
            iload 3 /* year */
            isub
            istore 3 /* year */
         8: .line 96
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.expression.function.ToDateParser.doyValid:Z
            ifeq 12
         9: .line 98
            iload 3 /* year */
            i2l
            invokestatic org.h2.util.DateTimeUtils.absoluteDayFromYear:(J)J
            aload 0 /* this */
            getfield org.h2.expression.function.ToDateParser.dayOfYear:I
            i2l
            ladd
            lconst_1
            lsub
        10: .line 97
            invokestatic org.h2.util.DateTimeUtils.dateValueFromAbsoluteDay:(J)J
            lstore 1 /* dateValue */
        start local 1 // long dateValue
        11: .line 99
            goto 16
        end local 1 // long dateValue
        12: .line 100
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.expression.function.ToDateParser.month:I
            istore 4 /* month */
        start local 4 // int month
        13: .line 101
            iload 4 /* month */
            ifne 15
        14: .line 103
            aload 0 /* this */
            invokevirtual org.h2.expression.function.ToDateParser.getCurrentMonth:()I
            istore 4 /* month */
        15: .line 105
      StackMap locals: int
      StackMap stack:
            iload 3 /* year */
            i2l
            iload 4 /* month */
            aload 0 /* this */
            getfield org.h2.expression.function.ToDateParser.day:I
            invokestatic org.h2.util.DateTimeUtils.dateValue:(JII)J
            lstore 1 /* dateValue */
        end local 4 // int month
        end local 3 // int year
        start local 1 // long dateValue
        16: .line 109
      StackMap locals: org.h2.expression.function.ToDateParser long
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.expression.function.ToDateParser.hour12Valid:Z
            ifeq 21
        17: .line 110
            aload 0 /* this */
            getfield org.h2.expression.function.ToDateParser.hour12:I
            bipush 12
            irem
            istore 3 /* hour */
        start local 3 // int hour
        18: .line 111
            aload 0 /* this */
            getfield org.h2.expression.function.ToDateParser.isAM:Z
            ifne 22
        19: .line 112
            iinc 3 /* hour */ 12
        20: .line 114
            goto 22
        end local 3 // int hour
        21: .line 115
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.expression.function.ToDateParser.hour:I
            istore 3 /* hour */
        start local 3 // int hour
        22: .line 117
      StackMap locals: int
      StackMap stack:
            iload 3 /* hour */
            bipush 60
            imul
            aload 0 /* this */
            getfield org.h2.expression.function.ToDateParser.minute:I
            iadd
            bipush 60
            imul
            aload 0 /* this */
            getfield org.h2.expression.function.ToDateParser.second:I
            iadd
            i2l
            ldc 1000000000
            lmul
            aload 0 /* this */
            getfield org.h2.expression.function.ToDateParser.nanos:I
            i2l
            ladd
            lstore 4 /* timeNanos */
        start local 4 // long timeNanos
        23: .line 118
            lload 1 /* dateValue */
            lload 4 /* timeNanos */
            invokestatic org.h2.value.ValueTimestamp.fromDateValueAndNanos:(JJ)Lorg/h2/value/ValueTimestamp;
            areturn
        end local 4 // long timeNanos
        end local 3 // int hour
        end local 1 // long dateValue
        end local 0 // org.h2.expression.function.ToDateParser this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   24     0       this  Lorg/h2/expression/function/ToDateParser;
            2    3     1  dateValue  J
           11   12     1  dateValue  J
           16   24     1  dateValue  J
            4   16     3       year  I
           13   16     4      month  I
           18   21     3       hour  I
           22   24     3       hour  I
           23   24     4  timeNanos  J

  private org.h2.value.ValueTimestampTimeZone getResultingValueWithTimeZone();
    descriptor: ()Lorg/h2/value/ValueTimestampTimeZone;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=8, args_size=1
        start local 0 // org.h2.expression.function.ToDateParser this
         0: .line 122
            aload 0 /* this */
            invokevirtual org.h2.expression.function.ToDateParser.getResultingValue:()Lorg/h2/value/ValueTimestamp;
            astore 1 /* ts */
        start local 1 // org.h2.value.ValueTimestamp ts
         1: .line 123
            aload 1 /* ts */
            invokevirtual org.h2.value.ValueTimestamp.getDateValue:()J
            lstore 2 /* dateValue */
        start local 2 // long dateValue
         2: .line 125
            aload 0 /* this */
            getfield org.h2.expression.function.ToDateParser.timeZoneHMValid:Z
            ifeq 7
         3: .line 126
            aload 0 /* this */
            getfield org.h2.expression.function.ToDateParser.timeZoneHour:I
            bipush 60
            imul
            aload 0 /* this */
            getfield org.h2.expression.function.ToDateParser.timeZoneHour:I
            iflt 4
            aload 0 /* this */
            getfield org.h2.expression.function.ToDateParser.timeZoneMinute:I
            goto 5
      StackMap locals: org.h2.expression.function.ToDateParser org.h2.value.ValueTimestamp long
      StackMap stack: int
         4: aload 0 /* this */
            getfield org.h2.expression.function.ToDateParser.timeZoneMinute:I
            ineg
      StackMap locals: org.h2.expression.function.ToDateParser org.h2.value.ValueTimestamp long
      StackMap stack: int int
         5: iadd
            i2s
            istore 4 /* offset */
        start local 4 // short offset
         6: .line 127
            goto 12
        end local 4 // short offset
         7: .line 128
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.expression.function.ToDateParser.timeZone:Ljava/util/TimeZone;
            astore 5 /* timeZone */
        start local 5 // java.util.TimeZone timeZone
         8: .line 129
            aload 5 /* timeZone */
            ifnonnull 10
         9: .line 130
            invokestatic java.util.TimeZone.getDefault:()Ljava/util/TimeZone;
            astore 5 /* timeZone */
        10: .line 132
      StackMap locals: org.h2.expression.function.ToDateParser org.h2.value.ValueTimestamp long top java.util.TimeZone
      StackMap stack:
            aload 5 /* timeZone */
            lload 2 /* dateValue */
            aload 0 /* this */
            getfield org.h2.expression.function.ToDateParser.nanos:I
            ldc 1000000
            idiv
            i2l
            invokestatic org.h2.util.DateTimeUtils.convertDateTimeValueToMillis:(Ljava/util/TimeZone;JJ)J
            lstore 6 /* millis */
        start local 6 // long millis
        11: .line 133
            aload 5 /* timeZone */
            lload 6 /* millis */
            invokevirtual java.util.TimeZone.getOffset:(J)I
            ldc 60000
            idiv
            i2s
            istore 4 /* offset */
        end local 6 // long millis
        end local 5 // java.util.TimeZone timeZone
        start local 4 // short offset
        12: .line 135
      StackMap locals: org.h2.expression.function.ToDateParser org.h2.value.ValueTimestamp long int
      StackMap stack:
            lload 2 /* dateValue */
            aload 1 /* ts */
            invokevirtual org.h2.value.ValueTimestamp.getTimeNanos:()J
            iload 4 /* offset */
            invokestatic org.h2.value.ValueTimestampTimeZone.fromDateValueAndNanos:(JJS)Lorg/h2/value/ValueTimestampTimeZone;
            areturn
        end local 4 // short offset
        end local 2 // long dateValue
        end local 1 // org.h2.value.ValueTimestamp ts
        end local 0 // org.h2.expression.function.ToDateParser this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   13     0       this  Lorg/h2/expression/function/ToDateParser;
            1   13     1         ts  Lorg/h2/value/ValueTimestamp;
            2   13     2  dateValue  J
            6    7     4     offset  S
           12   13     4     offset  S
            8   12     5   timeZone  Ljava/util/TimeZone;
           11   12     6     millis  J

  java.lang.String getInputStr();
    descriptor: ()Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.expression.function.ToDateParser this
         0: .line 139
            aload 0 /* this */
            getfield org.h2.expression.function.ToDateParser.inputStr:Ljava/lang/String;
            areturn
        end local 0 // org.h2.expression.function.ToDateParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/expression/function/ToDateParser;

  java.lang.String getFormatStr();
    descriptor: ()Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.expression.function.ToDateParser this
         0: .line 143
            aload 0 /* this */
            getfield org.h2.expression.function.ToDateParser.formatStr:Ljava/lang/String;
            areturn
        end local 0 // org.h2.expression.function.ToDateParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/expression/function/ToDateParser;

  java.lang.String getFunctionName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.expression.function.ToDateParser this
         0: .line 147
            aload 0 /* this */
            getfield org.h2.expression.function.ToDateParser.functionName:Lorg/h2/expression/function/ToDateParser$ConfigParam;
            invokevirtual org.h2.expression.function.ToDateParser$ConfigParam.name:()Ljava/lang/String;
            areturn
        end local 0 // org.h2.expression.function.ToDateParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/expression/function/ToDateParser;

  private void queryCurrentYearAndMonth();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // org.h2.expression.function.ToDateParser this
         0: .line 151
            aload 0 /* this */
            getfield org.h2.expression.function.ToDateParser.session:Lorg/h2/engine/Session;
            invokevirtual org.h2.engine.Session.getDatabase:()Lorg/h2/engine/Database;
            invokevirtual org.h2.engine.Database.getMode:()Lorg/h2/engine/Mode;
            getfield org.h2.engine.Mode.dateTimeValueWithinTransaction:Z
            ifeq 2
         1: .line 152
            aload 0 /* this */
            getfield org.h2.expression.function.ToDateParser.session:Lorg/h2/engine/Session;
            invokevirtual org.h2.engine.Session.getTransactionStart:()Lorg/h2/value/ValueTimestampTimeZone;
            goto 3
      StackMap locals:
      StackMap stack:
         2: aload 0 /* this */
            getfield org.h2.expression.function.ToDateParser.session:Lorg/h2/engine/Session;
            invokevirtual org.h2.engine.Session.getCurrentCommandStart:()Lorg/h2/value/ValueTimestampTimeZone;
      StackMap locals:
      StackMap stack: org.h2.value.ValueTimestampTimeZone
         3: invokevirtual org.h2.value.ValueTimestampTimeZone.getDateValue:()J
         4: .line 151
            lstore 1 /* dateValue */
        start local 1 // long dateValue
         5: .line 153
            aload 0 /* this */
            lload 1 /* dateValue */
            invokestatic org.h2.util.DateTimeUtils.yearFromDateValue:(J)I
            putfield org.h2.expression.function.ToDateParser.currentYear:I
         6: .line 154
            aload 0 /* this */
            lload 1 /* dateValue */
            invokestatic org.h2.util.DateTimeUtils.monthFromDateValue:(J)I
            putfield org.h2.expression.function.ToDateParser.currentMonth:I
         7: .line 155
            return
        end local 1 // long dateValue
        end local 0 // org.h2.expression.function.ToDateParser this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Lorg/h2/expression/function/ToDateParser;
            5    8     1  dateValue  J

  int getCurrentYear();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.expression.function.ToDateParser this
         0: .line 158
            aload 0 /* this */
            getfield org.h2.expression.function.ToDateParser.currentYear:I
            ifne 2
         1: .line 159
            aload 0 /* this */
            invokevirtual org.h2.expression.function.ToDateParser.queryCurrentYearAndMonth:()V
         2: .line 161
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.expression.function.ToDateParser.currentYear:I
            ireturn
        end local 0 // org.h2.expression.function.ToDateParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/h2/expression/function/ToDateParser;

  int getCurrentMonth();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.expression.function.ToDateParser this
         0: .line 165
            aload 0 /* this */
            getfield org.h2.expression.function.ToDateParser.currentMonth:I
            ifne 2
         1: .line 166
            aload 0 /* this */
            invokevirtual org.h2.expression.function.ToDateParser.queryCurrentYearAndMonth:()V
         2: .line 168
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.expression.function.ToDateParser.currentMonth:I
            ireturn
        end local 0 // org.h2.expression.function.ToDateParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/h2/expression/function/ToDateParser;

  void setAbsoluteDay(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.h2.expression.function.ToDateParser this
        start local 1 // int absoluteDay
         0: .line 172
            aload 0 /* this */
            iconst_0
            putfield org.h2.expression.function.ToDateParser.doyValid:Z
         1: .line 173
            aload 0 /* this */
            iconst_1
            putfield org.h2.expression.function.ToDateParser.absoluteDayValid:Z
         2: .line 174
            aload 0 /* this */
            iload 1 /* absoluteDay */
            i2l
            putfield org.h2.expression.function.ToDateParser.absoluteDay:J
         3: .line 175
            return
        end local 1 // int absoluteDay
        end local 0 // org.h2.expression.function.ToDateParser this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Lorg/h2/expression/function/ToDateParser;
            0    4     1  absoluteDay  I
    MethodParameters:
             Name  Flags
      absoluteDay  

  void setBC(boolean);
    descriptor: (Z)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.expression.function.ToDateParser this
        start local 1 // boolean bc
         0: .line 178
            aload 0 /* this */
            iconst_0
            putfield org.h2.expression.function.ToDateParser.doyValid:Z
         1: .line 179
            aload 0 /* this */
            iconst_0
            putfield org.h2.expression.function.ToDateParser.absoluteDayValid:Z
         2: .line 180
            aload 0 /* this */
            iload 1 /* bc */
            putfield org.h2.expression.function.ToDateParser.bc:Z
         3: .line 181
            return
        end local 1 // boolean bc
        end local 0 // org.h2.expression.function.ToDateParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/h2/expression/function/ToDateParser;
            0    4     1    bc  Z
    MethodParameters:
      Name  Flags
      bc    

  void setYear(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.expression.function.ToDateParser this
        start local 1 // int year
         0: .line 184
            aload 0 /* this */
            iconst_0
            putfield org.h2.expression.function.ToDateParser.doyValid:Z
         1: .line 185
            aload 0 /* this */
            iconst_0
            putfield org.h2.expression.function.ToDateParser.absoluteDayValid:Z
         2: .line 186
            aload 0 /* this */
            iload 1 /* year */
            putfield org.h2.expression.function.ToDateParser.year:I
         3: .line 187
            return
        end local 1 // int year
        end local 0 // org.h2.expression.function.ToDateParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/h2/expression/function/ToDateParser;
            0    4     1  year  I
    MethodParameters:
      Name  Flags
      year  

  void setMonth(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.expression.function.ToDateParser this
        start local 1 // int month
         0: .line 190
            aload 0 /* this */
            iconst_0
            putfield org.h2.expression.function.ToDateParser.doyValid:Z
         1: .line 191
            aload 0 /* this */
            iconst_0
            putfield org.h2.expression.function.ToDateParser.absoluteDayValid:Z
         2: .line 192
            aload 0 /* this */
            iload 1 /* month */
            putfield org.h2.expression.function.ToDateParser.month:I
         3: .line 193
            aload 0 /* this */
            getfield org.h2.expression.function.ToDateParser.year:I
            ifne 5
         4: .line 194
            aload 0 /* this */
            sipush 1970
            putfield org.h2.expression.function.ToDateParser.year:I
         5: .line 196
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int month
        end local 0 // org.h2.expression.function.ToDateParser this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lorg/h2/expression/function/ToDateParser;
            0    6     1  month  I
    MethodParameters:
       Name  Flags
      month  

  void setDay(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.expression.function.ToDateParser this
        start local 1 // int day
         0: .line 199
            aload 0 /* this */
            iconst_0
            putfield org.h2.expression.function.ToDateParser.doyValid:Z
         1: .line 200
            aload 0 /* this */
            iconst_0
            putfield org.h2.expression.function.ToDateParser.absoluteDayValid:Z
         2: .line 201
            aload 0 /* this */
            iload 1 /* day */
            putfield org.h2.expression.function.ToDateParser.day:I
         3: .line 202
            aload 0 /* this */
            getfield org.h2.expression.function.ToDateParser.year:I
            ifne 5
         4: .line 203
            aload 0 /* this */
            sipush 1970
            putfield org.h2.expression.function.ToDateParser.year:I
         5: .line 205
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int day
        end local 0 // org.h2.expression.function.ToDateParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/h2/expression/function/ToDateParser;
            0    6     1   day  I
    MethodParameters:
      Name  Flags
      day   

  void setDayOfYear(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.expression.function.ToDateParser this
        start local 1 // int dayOfYear
         0: .line 208
            aload 0 /* this */
            iconst_1
            putfield org.h2.expression.function.ToDateParser.doyValid:Z
         1: .line 209
            aload 0 /* this */
            iconst_0
            putfield org.h2.expression.function.ToDateParser.absoluteDayValid:Z
         2: .line 210
            aload 0 /* this */
            iload 1 /* dayOfYear */
            putfield org.h2.expression.function.ToDateParser.dayOfYear:I
         3: .line 211
            return
        end local 1 // int dayOfYear
        end local 0 // org.h2.expression.function.ToDateParser this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Lorg/h2/expression/function/ToDateParser;
            0    4     1  dayOfYear  I
    MethodParameters:
           Name  Flags
      dayOfYear  

  void setHour(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.expression.function.ToDateParser this
        start local 1 // int hour
         0: .line 214
            aload 0 /* this */
            iconst_0
            putfield org.h2.expression.function.ToDateParser.hour12Valid:Z
         1: .line 215
            aload 0 /* this */
            iload 1 /* hour */
            putfield org.h2.expression.function.ToDateParser.hour:I
         2: .line 216
            return
        end local 1 // int hour
        end local 0 // org.h2.expression.function.ToDateParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/h2/expression/function/ToDateParser;
            0    3     1  hour  I
    MethodParameters:
      Name  Flags
      hour  

  void setMinute(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.expression.function.ToDateParser this
        start local 1 // int minute
         0: .line 219
            aload 0 /* this */
            iload 1 /* minute */
            putfield org.h2.expression.function.ToDateParser.minute:I
         1: .line 220
            return
        end local 1 // int minute
        end local 0 // org.h2.expression.function.ToDateParser this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/h2/expression/function/ToDateParser;
            0    2     1  minute  I
    MethodParameters:
        Name  Flags
      minute  

  void setSecond(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.expression.function.ToDateParser this
        start local 1 // int second
         0: .line 223
            aload 0 /* this */
            iload 1 /* second */
            putfield org.h2.expression.function.ToDateParser.second:I
         1: .line 224
            return
        end local 1 // int second
        end local 0 // org.h2.expression.function.ToDateParser this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/h2/expression/function/ToDateParser;
            0    2     1  second  I
    MethodParameters:
        Name  Flags
      second  

  void setNanos(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.expression.function.ToDateParser this
        start local 1 // int nanos
         0: .line 227
            aload 0 /* this */
            iload 1 /* nanos */
            putfield org.h2.expression.function.ToDateParser.nanos:I
         1: .line 228
            return
        end local 1 // int nanos
        end local 0 // org.h2.expression.function.ToDateParser this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/h2/expression/function/ToDateParser;
            0    2     1  nanos  I
    MethodParameters:
       Name  Flags
      nanos  

  void setAmPm(boolean);
    descriptor: (Z)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.expression.function.ToDateParser this
        start local 1 // boolean isAM
         0: .line 231
            aload 0 /* this */
            iconst_1
            putfield org.h2.expression.function.ToDateParser.hour12Valid:Z
         1: .line 232
            aload 0 /* this */
            iload 1 /* isAM */
            putfield org.h2.expression.function.ToDateParser.isAM:Z
         2: .line 233
            return
        end local 1 // boolean isAM
        end local 0 // org.h2.expression.function.ToDateParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/h2/expression/function/ToDateParser;
            0    3     1  isAM  Z
    MethodParameters:
      Name  Flags
      isAM  

  void setHour12(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.expression.function.ToDateParser this
        start local 1 // int hour12
         0: .line 236
            aload 0 /* this */
            iconst_1
            putfield org.h2.expression.function.ToDateParser.hour12Valid:Z
         1: .line 237
            aload 0 /* this */
            iload 1 /* hour12 */
            putfield org.h2.expression.function.ToDateParser.hour12:I
         2: .line 238
            return
        end local 1 // int hour12
        end local 0 // org.h2.expression.function.ToDateParser this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lorg/h2/expression/function/ToDateParser;
            0    3     1  hour12  I
    MethodParameters:
        Name  Flags
      hour12  

  void setTimeZone(java.util.TimeZone);
    descriptor: (Ljava/util/TimeZone;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.expression.function.ToDateParser this
        start local 1 // java.util.TimeZone timeZone
         0: .line 241
            aload 0 /* this */
            iconst_0
            putfield org.h2.expression.function.ToDateParser.timeZoneHMValid:Z
         1: .line 242
            aload 0 /* this */
            aload 1 /* timeZone */
            putfield org.h2.expression.function.ToDateParser.timeZone:Ljava/util/TimeZone;
         2: .line 243
            return
        end local 1 // java.util.TimeZone timeZone
        end local 0 // org.h2.expression.function.ToDateParser this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lorg/h2/expression/function/ToDateParser;
            0    3     1  timeZone  Ljava/util/TimeZone;
    MethodParameters:
          Name  Flags
      timeZone  

  void setTimeZoneHour(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.expression.function.ToDateParser this
        start local 1 // int timeZoneHour
         0: .line 246
            aload 0 /* this */
            iconst_1
            putfield org.h2.expression.function.ToDateParser.timeZoneHMValid:Z
         1: .line 247
            aload 0 /* this */
            iload 1 /* timeZoneHour */
            putfield org.h2.expression.function.ToDateParser.timeZoneHour:I
         2: .line 248
            return
        end local 1 // int timeZoneHour
        end local 0 // org.h2.expression.function.ToDateParser this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lorg/h2/expression/function/ToDateParser;
            0    3     1  timeZoneHour  I
    MethodParameters:
              Name  Flags
      timeZoneHour  

  void setTimeZoneMinute(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.h2.expression.function.ToDateParser this
        start local 1 // int timeZoneMinute
         0: .line 251
            aload 0 /* this */
            iconst_1
            putfield org.h2.expression.function.ToDateParser.timeZoneHMValid:Z
         1: .line 252
            aload 0 /* this */
            iload 1 /* timeZoneMinute */
            putfield org.h2.expression.function.ToDateParser.timeZoneMinute:I
         2: .line 253
            return
        end local 1 // int timeZoneMinute
        end local 0 // org.h2.expression.function.ToDateParser this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    3     0            this  Lorg/h2/expression/function/ToDateParser;
            0    3     1  timeZoneMinute  I
    MethodParameters:
                Name  Flags
      timeZoneMinute  

  private boolean hasToParseData();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.expression.function.ToDateParser this
         0: .line 256
            aload 0 /* this */
            getfield org.h2.expression.function.ToDateParser.formatStr:Ljava/lang/String;
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // org.h2.expression.function.ToDateParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/h2/expression/function/ToDateParser;

  private void removeFirstChar();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.h2.expression.function.ToDateParser this
         0: .line 260
            aload 0 /* this */
            getfield org.h2.expression.function.ToDateParser.formatStr:Ljava/lang/String;
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 2
         1: .line 261
            aload 0 /* this */
            aload 0 /* this */
            getfield org.h2.expression.function.ToDateParser.formatStr:Ljava/lang/String;
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            putfield org.h2.expression.function.ToDateParser.formatStr:Ljava/lang/String;
         2: .line 263
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.expression.function.ToDateParser.inputStr:Ljava/lang/String;
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 4
         3: .line 264
            aload 0 /* this */
            aload 0 /* this */
            getfield org.h2.expression.function.ToDateParser.inputStr:Ljava/lang/String;
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            putfield org.h2.expression.function.ToDateParser.inputStr:Ljava/lang/String;
         4: .line 266
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.h2.expression.function.ToDateParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/h2/expression/function/ToDateParser;

  private static org.h2.expression.function.ToDateParser parse(org.h2.expression.function.ToDateParser);
    descriptor: (Lorg/h2/expression/function/ToDateParser;)Lorg/h2/expression/function/ToDateParser;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // org.h2.expression.function.ToDateParser p
         0: .line 269
            goto 15
         1: .line 271
      StackMap locals:
      StackMap stack:
            aload 0 /* p */
            invokevirtual org.h2.expression.function.ToDateParser.getFormatStr:()Ljava/lang/String;
            invokestatic org.h2.expression.function.ToDateTokenizer$FormatTokenEnum.getTokensInQuestion:(Ljava/lang/String;)Ljava/util/List;
         2: .line 270
            astore 1 /* tokenList */
        start local 1 // java.util.List tokenList
         3: .line 272
            aload 1 /* tokenList */
            ifnonnull 6
         4: .line 273
            aload 0 /* p */
            invokevirtual org.h2.expression.function.ToDateParser.removeFirstChar:()V
         5: .line 274
            goto 15
         6: .line 276
      StackMap locals: java.util.List
      StackMap stack:
            iconst_0
            istore 2 /* foundAnToken */
        start local 2 // boolean foundAnToken
         7: .line 277
            aload 1 /* tokenList */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 12
      StackMap locals: org.h2.expression.function.ToDateParser java.util.List int top java.util.Iterator
      StackMap stack:
         8: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.h2.expression.function.ToDateTokenizer$FormatTokenEnum
            astore 3 /* token */
        start local 3 // org.h2.expression.function.ToDateTokenizer$FormatTokenEnum token
         9: .line 278
            aload 3 /* token */
            aload 0 /* p */
            invokevirtual org.h2.expression.function.ToDateTokenizer$FormatTokenEnum.parseFormatStrWithToken:(Lorg/h2/expression/function/ToDateParser;)Z
            ifeq 12
        10: .line 279
            iconst_1
            istore 2 /* foundAnToken */
        11: .line 280
            goto 13
        end local 3 // org.h2.expression.function.ToDateTokenizer$FormatTokenEnum token
        12: .line 277
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        13: .line 283
      StackMap locals: org.h2.expression.function.ToDateParser java.util.List int
      StackMap stack:
            iload 2 /* foundAnToken */
            ifne 15
        14: .line 284
            aload 0 /* p */
            invokevirtual org.h2.expression.function.ToDateParser.removeFirstChar:()V
        end local 2 // boolean foundAnToken
        end local 1 // java.util.List tokenList
        15: .line 269
      StackMap locals:
      StackMap stack:
            aload 0 /* p */
            invokevirtual org.h2.expression.function.ToDateParser.hasToParseData:()Z
            ifne 1
        16: .line 287
            aload 0 /* p */
            areturn
        end local 0 // org.h2.expression.function.ToDateParser p
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   17     0             p  Lorg/h2/expression/function/ToDateParser;
            3   15     1     tokenList  Ljava/util/List<Lorg/h2/expression/function/ToDateTokenizer$FormatTokenEnum;>;
            7   15     2  foundAnToken  Z
            9   12     3         token  Lorg/h2/expression/function/ToDateTokenizer$FormatTokenEnum;
    MethodParameters:
      Name  Flags
      p     

  void remove(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.h2.expression.function.ToDateParser this
        start local 1 // java.lang.String inputFragmentStr
        start local 2 // java.lang.String formatFragment
         0: .line 297
            aload 1 /* inputFragmentStr */
            ifnull 2
            aload 0 /* this */
            getfield org.h2.expression.function.ToDateParser.inputStr:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            aload 1 /* inputFragmentStr */
            invokevirtual java.lang.String.length:()I
            if_icmplt 2
         1: .line 298
            aload 0 /* this */
            aload 0 /* this */
            getfield org.h2.expression.function.ToDateParser.inputStr:Ljava/lang/String;
            aload 1 /* inputFragmentStr */
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            putfield org.h2.expression.function.ToDateParser.inputStr:Ljava/lang/String;
         2: .line 300
      StackMap locals:
      StackMap stack:
            aload 2 /* formatFragment */
            ifnull 4
            aload 0 /* this */
            getfield org.h2.expression.function.ToDateParser.formatStr:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            aload 2 /* formatFragment */
            invokevirtual java.lang.String.length:()I
            if_icmplt 4
         3: .line 301
            aload 0 /* this */
            aload 0 /* this */
            getfield org.h2.expression.function.ToDateParser.formatStr:Ljava/lang/String;
            aload 2 /* formatFragment */
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            putfield org.h2.expression.function.ToDateParser.formatStr:Ljava/lang/String;
         4: .line 303
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String formatFragment
        end local 1 // java.lang.String inputFragmentStr
        end local 0 // org.h2.expression.function.ToDateParser this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    5     0              this  Lorg/h2/expression/function/ToDateParser;
            0    5     1  inputFragmentStr  Ljava/lang/String;
            0    5     2    formatFragment  Ljava/lang/String;
    MethodParameters:
                  Name  Flags
      inputFragmentStr  
      formatFragment    

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=7, args_size=1
        start local 0 // org.h2.expression.function.ToDateParser this
         0: .line 307
            aload 0 /* this */
            getfield org.h2.expression.function.ToDateParser.inputStr:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            istore 1 /* inputStrLen */
        start local 1 // int inputStrLen
         1: .line 308
            aload 0 /* this */
            getfield org.h2.expression.function.ToDateParser.unmodifiedInputStr:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            istore 2 /* orgInputLen */
        start local 2 // int orgInputLen
         2: .line 309
            iload 2 /* orgInputLen */
            iload 1 /* inputStrLen */
            isub
            istore 3 /* currentInputPos */
        start local 3 // int currentInputPos
         3: .line 310
            iload 1 /* inputStrLen */
            ifgt 4
            iload 1 /* inputStrLen */
            goto 5
      StackMap locals: int int int
      StackMap stack:
         4: iload 1 /* inputStrLen */
            iconst_1
            isub
      StackMap locals:
      StackMap stack: int
         5: istore 4 /* restInputLen */
        start local 4 // int restInputLen
         6: .line 312
            aload 0 /* this */
            getfield org.h2.expression.function.ToDateParser.unmodifiedFormatStr:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            istore 5 /* orgFormatLen */
        start local 5 // int orgFormatLen
         7: .line 313
            iload 5 /* orgFormatLen */
            aload 0 /* this */
            getfield org.h2.expression.function.ToDateParser.formatStr:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            isub
            istore 6 /* currentFormatPos */
        start local 6 // int currentFormatPos
         8: .line 315
            new java.lang.StringBuilder
            dup
            ldc "\n    %s('%s', '%s')"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* this */
            getfield org.h2.expression.function.ToDateParser.functionName:Lorg/h2/expression/function/ToDateParser$ConfigParam;
            aastore
            dup
            iconst_1
            aload 0 /* this */
            getfield org.h2.expression.function.ToDateParser.unmodifiedInputStr:Ljava/lang/String;
            aastore
            dup
            iconst_2
            aload 0 /* this */
            getfield org.h2.expression.function.ToDateParser.unmodifiedFormatStr:Ljava/lang/String;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         9: .line 316
            ldc "\n      %s^%s ,  %s^ <-- Parsing failed at this point"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
        10: .line 317
            new java.lang.StringBuilder
            dup
            ldc "%"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.h2.expression.function.ToDateParser.functionName:Lorg/h2/expression/function/ToDateParser$ConfigParam;
            invokevirtual org.h2.expression.function.ToDateParser$ConfigParam.name:()Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            iload 3 /* currentInputPos */
            iadd
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "s"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            ldc ""
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            aastore
            dup
            iconst_1
        11: .line 318
            iload 4 /* restInputLen */
            ifgt 12
            ldc ""
            goto 13
      StackMap locals: org.h2.expression.function.ToDateParser int int int int int int
      StackMap stack: java.lang.StringBuilder java.lang.String java.lang.Object[] java.lang.Object[] int
        12: new java.lang.StringBuilder
            dup
            ldc "%"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 4 /* restInputLen */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "s"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            ldc ""
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
      StackMap locals: org.h2.expression.function.ToDateParser int int int int int int
      StackMap stack: java.lang.StringBuilder java.lang.String java.lang.Object[] java.lang.Object[] int java.lang.String
        13: aastore
            dup
            iconst_2
        14: .line 319
            iload 6 /* currentFormatPos */
            ifgt 15
            ldc ""
            goto 16
      StackMap locals: org.h2.expression.function.ToDateParser int int int int int int
      StackMap stack: java.lang.StringBuilder java.lang.String java.lang.Object[] java.lang.Object[] int
        15: new java.lang.StringBuilder
            dup
            ldc "%"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 6 /* currentFormatPos */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "s"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            ldc ""
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
      StackMap locals: org.h2.expression.function.ToDateParser int int int int int int
      StackMap stack: java.lang.StringBuilder java.lang.String java.lang.Object[] java.lang.Object[] int java.lang.String
        16: aastore
        17: .line 316
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        18: .line 315
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 6 // int currentFormatPos
        end local 5 // int orgFormatLen
        end local 4 // int restInputLen
        end local 3 // int currentInputPos
        end local 2 // int orgInputLen
        end local 1 // int inputStrLen
        end local 0 // org.h2.expression.function.ToDateParser this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   19     0              this  Lorg/h2/expression/function/ToDateParser;
            1   19     1       inputStrLen  I
            2   19     2       orgInputLen  I
            3   19     3   currentInputPos  I
            6   19     4      restInputLen  I
            7   19     5      orgFormatLen  I
            8   19     6  currentFormatPos  I

  public static org.h2.value.ValueTimestamp toTimestamp(org.h2.engine.Session, java.lang.String, java.lang.String);
    descriptor: (Lorg/h2/engine/Session;Ljava/lang/String;Ljava/lang/String;)Lorg/h2/value/ValueTimestamp;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.h2.engine.Session session
        start local 1 // java.lang.String input
        start local 2 // java.lang.String format
         0: .line 331
            aload 0 /* session */
            getstatic org.h2.expression.function.ToDateParser$ConfigParam.TO_TIMESTAMP:Lorg/h2/expression/function/ToDateParser$ConfigParam;
            aload 1 /* input */
            aload 2 /* format */
            invokestatic org.h2.expression.function.ToDateParser.getTimestampParser:(Lorg/h2/engine/Session;Lorg/h2/expression/function/ToDateParser$ConfigParam;Ljava/lang/String;Ljava/lang/String;)Lorg/h2/expression/function/ToDateParser;
            astore 3 /* parser */
        start local 3 // org.h2.expression.function.ToDateParser parser
         1: .line 332
            aload 3 /* parser */
            invokevirtual org.h2.expression.function.ToDateParser.getResultingValue:()Lorg/h2/value/ValueTimestamp;
            areturn
        end local 3 // org.h2.expression.function.ToDateParser parser
        end local 2 // java.lang.String format
        end local 1 // java.lang.String input
        end local 0 // org.h2.engine.Session session
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0  session  Lorg/h2/engine/Session;
            0    2     1    input  Ljava/lang/String;
            0    2     2   format  Ljava/lang/String;
            1    2     3   parser  Lorg/h2/expression/function/ToDateParser;
    MethodParameters:
         Name  Flags
      session  
      input    
      format   

  public static org.h2.value.ValueTimestampTimeZone toTimestampTz(org.h2.engine.Session, java.lang.String, java.lang.String);
    descriptor: (Lorg/h2/engine/Session;Ljava/lang/String;Ljava/lang/String;)Lorg/h2/value/ValueTimestampTimeZone;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.h2.engine.Session session
        start local 1 // java.lang.String input
        start local 2 // java.lang.String format
         0: .line 344
            aload 0 /* session */
            getstatic org.h2.expression.function.ToDateParser$ConfigParam.TO_TIMESTAMP_TZ:Lorg/h2/expression/function/ToDateParser$ConfigParam;
            aload 1 /* input */
            aload 2 /* format */
            invokestatic org.h2.expression.function.ToDateParser.getTimestampParser:(Lorg/h2/engine/Session;Lorg/h2/expression/function/ToDateParser$ConfigParam;Ljava/lang/String;Ljava/lang/String;)Lorg/h2/expression/function/ToDateParser;
            astore 3 /* parser */
        start local 3 // org.h2.expression.function.ToDateParser parser
         1: .line 345
            aload 3 /* parser */
            invokevirtual org.h2.expression.function.ToDateParser.getResultingValueWithTimeZone:()Lorg/h2/value/ValueTimestampTimeZone;
            areturn
        end local 3 // org.h2.expression.function.ToDateParser parser
        end local 2 // java.lang.String format
        end local 1 // java.lang.String input
        end local 0 // org.h2.engine.Session session
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0  session  Lorg/h2/engine/Session;
            0    2     1    input  Ljava/lang/String;
            0    2     2   format  Ljava/lang/String;
            1    2     3   parser  Lorg/h2/expression/function/ToDateParser;
    MethodParameters:
         Name  Flags
      session  
      input    
      format   

  public static org.h2.value.ValueTimestamp toDate(org.h2.engine.Session, java.lang.String, java.lang.String);
    descriptor: (Lorg/h2/engine/Session;Ljava/lang/String;Ljava/lang/String;)Lorg/h2/value/ValueTimestamp;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.h2.engine.Session session
        start local 1 // java.lang.String input
        start local 2 // java.lang.String format
         0: .line 357
            aload 0 /* session */
            getstatic org.h2.expression.function.ToDateParser$ConfigParam.TO_DATE:Lorg/h2/expression/function/ToDateParser$ConfigParam;
            aload 1 /* input */
            aload 2 /* format */
            invokestatic org.h2.expression.function.ToDateParser.getTimestampParser:(Lorg/h2/engine/Session;Lorg/h2/expression/function/ToDateParser$ConfigParam;Ljava/lang/String;Ljava/lang/String;)Lorg/h2/expression/function/ToDateParser;
            astore 3 /* parser */
        start local 3 // org.h2.expression.function.ToDateParser parser
         1: .line 358
            aload 3 /* parser */
            invokevirtual org.h2.expression.function.ToDateParser.getResultingValue:()Lorg/h2/value/ValueTimestamp;
            areturn
        end local 3 // org.h2.expression.function.ToDateParser parser
        end local 2 // java.lang.String format
        end local 1 // java.lang.String input
        end local 0 // org.h2.engine.Session session
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0  session  Lorg/h2/engine/Session;
            0    2     1    input  Ljava/lang/String;
            0    2     2   format  Ljava/lang/String;
            1    2     3   parser  Lorg/h2/expression/function/ToDateParser;
    MethodParameters:
         Name  Flags
      session  
      input    
      format   
}
SourceFile: "ToDateParser.java"
NestMembers:
  org.h2.expression.function.ToDateParser$ConfigParam
InnerClasses:
  private final ConfigParam = org.h2.expression.function.ToDateParser$ConfigParam of org.h2.expression.function.ToDateParser
  public final FormatTokenEnum = org.h2.expression.function.ToDateTokenizer$FormatTokenEnum of org.h2.expression.function.ToDateTokenizer