public class org.h2.engine.Mode
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.h2.engine.Mode
  super_class: java.lang.Object
{
  private static final java.util.HashMap<java.lang.String, org.h2.engine.Mode> MODES;
    descriptor: Ljava/util/HashMap;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/HashMap<Ljava/lang/String;Lorg/h2/engine/Mode;>;

  public boolean aliasColumnName;
    descriptor: Z
    flags: (0x0001) ACC_PUBLIC

  public boolean convertInsertNullToZero;
    descriptor: Z
    flags: (0x0001) ACC_PUBLIC

  public boolean convertOnlyToSmallerScale;
    descriptor: Z
    flags: (0x0001) ACC_PUBLIC

  public boolean indexDefinitionInCreateTable;
    descriptor: Z
    flags: (0x0001) ACC_PUBLIC

  public boolean lowerCaseIdentifiers;
    descriptor: Z
    flags: (0x0001) ACC_PUBLIC

  public boolean nullConcatIsNull;
    descriptor: Z
    flags: (0x0001) ACC_PUBLIC

  public boolean squareBracketQuotedNames;
    descriptor: Z
    flags: (0x0001) ACC_PUBLIC

  public boolean systemColumns;
    descriptor: Z
    flags: (0x0001) ACC_PUBLIC

  public org.h2.engine.Mode$UniqueIndexNullsHandling uniqueIndexNullsHandling;
    descriptor: Lorg/h2/engine/Mode$UniqueIndexNullsHandling;
    flags: (0x0001) ACC_PUBLIC

  public boolean treatEmptyStringsAsNull;
    descriptor: Z
    flags: (0x0001) ACC_PUBLIC

  public boolean sysDummy1;
    descriptor: Z
    flags: (0x0001) ACC_PUBLIC

  public boolean allowPlusForStringConcat;
    descriptor: Z
    flags: (0x0001) ACC_PUBLIC

  public boolean logIsLogBase10;
    descriptor: Z
    flags: (0x0001) ACC_PUBLIC

  public boolean regexpReplaceBackslashReferences;
    descriptor: Z
    flags: (0x0001) ACC_PUBLIC

  public boolean serialColumnIsNotPK;
    descriptor: Z
    flags: (0x0001) ACC_PUBLIC

  public boolean swapConvertFunctionParameters;
    descriptor: Z
    flags: (0x0001) ACC_PUBLIC

  public boolean isolationLevelInSelectOrInsertStatement;
    descriptor: Z
    flags: (0x0001) ACC_PUBLIC

  public boolean onDuplicateKeyUpdate;
    descriptor: Z
    flags: (0x0001) ACC_PUBLIC

  public java.util.regex.Pattern supportedClientInfoPropertiesRegEx;
    descriptor: Ljava/util/regex/Pattern;
    flags: (0x0001) ACC_PUBLIC

  public boolean supportPoundSymbolForColumnNames;
    descriptor: Z
    flags: (0x0001) ACC_PUBLIC

  public boolean prohibitEmptyInPredicate;
    descriptor: Z
    flags: (0x0001) ACC_PUBLIC

  public boolean allowAffinityKey;
    descriptor: Z
    flags: (0x0001) ACC_PUBLIC

  public boolean padFixedLengthStrings;
    descriptor: Z
    flags: (0x0001) ACC_PUBLIC

  public boolean allowDB2TimestampFormat;
    descriptor: Z
    flags: (0x0001) ACC_PUBLIC

  public boolean discardWithTableHints;
    descriptor: Z
    flags: (0x0001) ACC_PUBLIC

  public boolean useIdentityAsAutoIncrement;
    descriptor: Z
    flags: (0x0001) ACC_PUBLIC

  public boolean charToBinaryInUtf8;
    descriptor: Z
    flags: (0x0001) ACC_PUBLIC

  public boolean dateTimeValueWithinTransaction;
    descriptor: Z
    flags: (0x0001) ACC_PUBLIC

  public java.util.Set<java.lang.String> disallowedTypes;
    descriptor: Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Signature: Ljava/util/Set<Ljava/lang/String;>;

  public java.util.HashMap<java.lang.String, org.h2.value.DataType> typeByNameMap;
    descriptor: Ljava/util/HashMap;
    flags: (0x0001) ACC_PUBLIC
    Signature: Ljava/util/HashMap<Ljava/lang/String;Lorg/h2/value/DataType;>;

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

  private final org.h2.engine.Mode$ModeEnum modeEnum;
    descriptor: Lorg/h2/engine/Mode$ModeEnum;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=3, args_size=0
         0: .line 51
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putstatic org.h2.engine.Mode.MODES:Ljava/util/HashMap;
         1: .line 229
            new org.h2.engine.Mode
            dup
            getstatic org.h2.engine.Mode$ModeEnum.REGULAR:Lorg/h2/engine/Mode$ModeEnum;
            invokespecial org.h2.engine.Mode.<init>:(Lorg/h2/engine/Mode$ModeEnum;)V
            astore 0 /* mode */
        start local 0 // org.h2.engine.Mode mode
         2: .line 230
            aload 0 /* mode */
            iconst_1
            putfield org.h2.engine.Mode.nullConcatIsNull:Z
         3: .line 231
            aload 0 /* mode */
            iconst_1
            putfield org.h2.engine.Mode.dateTimeValueWithinTransaction:Z
         4: .line 232
            aload 0 /* mode */
            invokestatic org.h2.engine.Mode.add:(Lorg/h2/engine/Mode;)V
         5: .line 234
            new org.h2.engine.Mode
            dup
            getstatic org.h2.engine.Mode$ModeEnum.DB2:Lorg/h2/engine/Mode$ModeEnum;
            invokespecial org.h2.engine.Mode.<init>:(Lorg/h2/engine/Mode$ModeEnum;)V
            astore 0 /* mode */
         6: .line 235
            aload 0 /* mode */
            iconst_1
            putfield org.h2.engine.Mode.aliasColumnName:Z
         7: .line 236
            aload 0 /* mode */
            iconst_1
            putfield org.h2.engine.Mode.sysDummy1:Z
         8: .line 237
            aload 0 /* mode */
            iconst_1
            putfield org.h2.engine.Mode.isolationLevelInSelectOrInsertStatement:Z
         9: .line 241
            aload 0 /* mode */
        10: .line 242
            ldc "ApplicationName|ClientAccountingInformation|ClientUser|ClientCorrelationToken"
            invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
        11: .line 241
            putfield org.h2.engine.Mode.supportedClientInfoPropertiesRegEx:Ljava/util/regex/Pattern;
        12: .line 244
            aload 0 /* mode */
            iconst_1
            putfield org.h2.engine.Mode.prohibitEmptyInPredicate:Z
        13: .line 245
            aload 0 /* mode */
            iconst_1
            putfield org.h2.engine.Mode.allowDB2TimestampFormat:Z
        14: .line 246
            aload 0 /* mode */
            invokestatic org.h2.engine.Mode.add:(Lorg/h2/engine/Mode;)V
        15: .line 248
            new org.h2.engine.Mode
            dup
            getstatic org.h2.engine.Mode$ModeEnum.Derby:Lorg/h2/engine/Mode$ModeEnum;
            invokespecial org.h2.engine.Mode.<init>:(Lorg/h2/engine/Mode$ModeEnum;)V
            astore 0 /* mode */
        16: .line 249
            aload 0 /* mode */
            iconst_1
            putfield org.h2.engine.Mode.aliasColumnName:Z
        17: .line 250
            aload 0 /* mode */
            getstatic org.h2.engine.Mode$UniqueIndexNullsHandling.FORBID_ANY_DUPLICATES:Lorg/h2/engine/Mode$UniqueIndexNullsHandling;
            putfield org.h2.engine.Mode.uniqueIndexNullsHandling:Lorg/h2/engine/Mode$UniqueIndexNullsHandling;
        18: .line 251
            aload 0 /* mode */
            iconst_1
            putfield org.h2.engine.Mode.sysDummy1:Z
        19: .line 252
            aload 0 /* mode */
            iconst_1
            putfield org.h2.engine.Mode.isolationLevelInSelectOrInsertStatement:Z
        20: .line 254
            aload 0 /* mode */
            aconst_null
            putfield org.h2.engine.Mode.supportedClientInfoPropertiesRegEx:Ljava/util/regex/Pattern;
        21: .line 255
            aload 0 /* mode */
            invokestatic org.h2.engine.Mode.add:(Lorg/h2/engine/Mode;)V
        22: .line 257
            new org.h2.engine.Mode
            dup
            getstatic org.h2.engine.Mode$ModeEnum.HSQLDB:Lorg/h2/engine/Mode$ModeEnum;
            invokespecial org.h2.engine.Mode.<init>:(Lorg/h2/engine/Mode$ModeEnum;)V
            astore 0 /* mode */
        23: .line 258
            aload 0 /* mode */
            iconst_1
            putfield org.h2.engine.Mode.aliasColumnName:Z
        24: .line 259
            aload 0 /* mode */
            iconst_1
            putfield org.h2.engine.Mode.convertOnlyToSmallerScale:Z
        25: .line 260
            aload 0 /* mode */
            iconst_1
            putfield org.h2.engine.Mode.nullConcatIsNull:Z
        26: .line 261
            aload 0 /* mode */
            getstatic org.h2.engine.Mode$UniqueIndexNullsHandling.FORBID_ANY_DUPLICATES:Lorg/h2/engine/Mode$UniqueIndexNullsHandling;
            putfield org.h2.engine.Mode.uniqueIndexNullsHandling:Lorg/h2/engine/Mode$UniqueIndexNullsHandling;
        27: .line 262
            aload 0 /* mode */
            iconst_1
            putfield org.h2.engine.Mode.allowPlusForStringConcat:Z
        28: .line 267
            aload 0 /* mode */
            aconst_null
            putfield org.h2.engine.Mode.supportedClientInfoPropertiesRegEx:Ljava/util/regex/Pattern;
        29: .line 268
            aload 0 /* mode */
            invokestatic org.h2.engine.Mode.add:(Lorg/h2/engine/Mode;)V
        30: .line 270
            new org.h2.engine.Mode
            dup
            getstatic org.h2.engine.Mode$ModeEnum.MSSQLServer:Lorg/h2/engine/Mode$ModeEnum;
            invokespecial org.h2.engine.Mode.<init>:(Lorg/h2/engine/Mode$ModeEnum;)V
            astore 0 /* mode */
        31: .line 271
            aload 0 /* mode */
            iconst_1
            putfield org.h2.engine.Mode.aliasColumnName:Z
        32: .line 272
            aload 0 /* mode */
            iconst_1
            putfield org.h2.engine.Mode.squareBracketQuotedNames:Z
        33: .line 273
            aload 0 /* mode */
            getstatic org.h2.engine.Mode$UniqueIndexNullsHandling.FORBID_ANY_DUPLICATES:Lorg/h2/engine/Mode$UniqueIndexNullsHandling;
            putfield org.h2.engine.Mode.uniqueIndexNullsHandling:Lorg/h2/engine/Mode$UniqueIndexNullsHandling;
        34: .line 274
            aload 0 /* mode */
            iconst_1
            putfield org.h2.engine.Mode.allowPlusForStringConcat:Z
        35: .line 275
            aload 0 /* mode */
            iconst_1
            putfield org.h2.engine.Mode.swapConvertFunctionParameters:Z
        36: .line 276
            aload 0 /* mode */
            iconst_1
            putfield org.h2.engine.Mode.supportPoundSymbolForColumnNames:Z
        37: .line 277
            aload 0 /* mode */
            iconst_1
            putfield org.h2.engine.Mode.discardWithTableHints:Z
        38: .line 278
            aload 0 /* mode */
            iconst_1
            putfield org.h2.engine.Mode.useIdentityAsAutoIncrement:Z
        39: .line 281
            aload 0 /* mode */
            aconst_null
            putfield org.h2.engine.Mode.supportedClientInfoPropertiesRegEx:Ljava/util/regex/Pattern;
        40: .line 282
            bipush 19
            iconst_4
            iconst_0
            invokestatic org.h2.value.DataType.createNumeric:(IIZ)Lorg/h2/value/DataType;
            astore 1 /* dt */
        start local 1 // org.h2.value.DataType dt
        41: .line 283
            aload 1 /* dt */
            bipush 6
            putfield org.h2.value.DataType.type:I
        42: .line 284
            aload 1 /* dt */
            iconst_2
            putfield org.h2.value.DataType.sqlType:I
        43: .line 285
            aload 1 /* dt */
            ldc "MONEY"
            putfield org.h2.value.DataType.name:Ljava/lang/String;
        44: .line 286
            aload 0 /* mode */
            getfield org.h2.engine.Mode.typeByNameMap:Ljava/util/HashMap;
            ldc "MONEY"
            aload 1 /* dt */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        45: .line 287
            bipush 10
            iconst_4
            iconst_0
            invokestatic org.h2.value.DataType.createNumeric:(IIZ)Lorg/h2/value/DataType;
            astore 1 /* dt */
        46: .line 288
            aload 1 /* dt */
            bipush 6
            putfield org.h2.value.DataType.type:I
        47: .line 289
            aload 1 /* dt */
            iconst_2
            putfield org.h2.value.DataType.sqlType:I
        48: .line 290
            aload 1 /* dt */
            ldc "SMALLMONEY"
            putfield org.h2.value.DataType.name:Ljava/lang/String;
        49: .line 291
            aload 0 /* mode */
            getfield org.h2.engine.Mode.typeByNameMap:Ljava/util/HashMap;
            ldc "SMALLMONEY"
            aload 1 /* dt */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        50: .line 292
            aload 0 /* mode */
            invokestatic org.h2.engine.Mode.add:(Lorg/h2/engine/Mode;)V
        51: .line 294
            new org.h2.engine.Mode
            dup
            getstatic org.h2.engine.Mode$ModeEnum.MySQL:Lorg/h2/engine/Mode$ModeEnum;
            invokespecial org.h2.engine.Mode.<init>:(Lorg/h2/engine/Mode$ModeEnum;)V
            astore 0 /* mode */
        52: .line 295
            aload 0 /* mode */
            iconst_1
            putfield org.h2.engine.Mode.convertInsertNullToZero:Z
        53: .line 296
            aload 0 /* mode */
            iconst_1
            putfield org.h2.engine.Mode.indexDefinitionInCreateTable:Z
        54: .line 297
            aload 0 /* mode */
            iconst_1
            putfield org.h2.engine.Mode.lowerCaseIdentifiers:Z
        55: .line 299
            aload 0 /* mode */
            iconst_1
            putfield org.h2.engine.Mode.regexpReplaceBackslashReferences:Z
        56: .line 300
            aload 0 /* mode */
            iconst_1
            putfield org.h2.engine.Mode.onDuplicateKeyUpdate:Z
        57: .line 305
            aload 0 /* mode */
        58: .line 306
            ldc ".*"
            invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
        59: .line 305
            putfield org.h2.engine.Mode.supportedClientInfoPropertiesRegEx:Ljava/util/regex/Pattern;
        60: .line 307
            aload 0 /* mode */
            iconst_1
            putfield org.h2.engine.Mode.prohibitEmptyInPredicate:Z
        61: .line 308
            aload 0 /* mode */
            iconst_1
            putfield org.h2.engine.Mode.charToBinaryInUtf8:Z
        62: .line 309
            aload 0 /* mode */
            invokestatic org.h2.engine.Mode.add:(Lorg/h2/engine/Mode;)V
        63: .line 311
            new org.h2.engine.Mode
            dup
            getstatic org.h2.engine.Mode$ModeEnum.Oracle:Lorg/h2/engine/Mode$ModeEnum;
            invokespecial org.h2.engine.Mode.<init>:(Lorg/h2/engine/Mode$ModeEnum;)V
            astore 0 /* mode */
        64: .line 312
            aload 0 /* mode */
            iconst_1
            putfield org.h2.engine.Mode.aliasColumnName:Z
        65: .line 313
            aload 0 /* mode */
            iconst_1
            putfield org.h2.engine.Mode.convertOnlyToSmallerScale:Z
        66: .line 314
            aload 0 /* mode */
            getstatic org.h2.engine.Mode$UniqueIndexNullsHandling.ALLOW_DUPLICATES_WITH_ALL_NULLS:Lorg/h2/engine/Mode$UniqueIndexNullsHandling;
            putfield org.h2.engine.Mode.uniqueIndexNullsHandling:Lorg/h2/engine/Mode$UniqueIndexNullsHandling;
        67: .line 315
            aload 0 /* mode */
            iconst_1
            putfield org.h2.engine.Mode.treatEmptyStringsAsNull:Z
        68: .line 316
            aload 0 /* mode */
            iconst_1
            putfield org.h2.engine.Mode.regexpReplaceBackslashReferences:Z
        69: .line 317
            aload 0 /* mode */
            iconst_1
            putfield org.h2.engine.Mode.supportPoundSymbolForColumnNames:Z
        70: .line 320
            aload 0 /* mode */
        71: .line 321
            ldc ".*\\..*"
            invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
        72: .line 320
            putfield org.h2.engine.Mode.supportedClientInfoPropertiesRegEx:Ljava/util/regex/Pattern;
        73: .line 322
            aload 0 /* mode */
            iconst_1
            putfield org.h2.engine.Mode.prohibitEmptyInPredicate:Z
        74: .line 323
            bipush 19
            bipush 19
            ldc "DATE"
            iconst_0
            iconst_0
            iconst_0
            invokestatic org.h2.value.DataType.createDate:(IILjava/lang/String;ZII)Lorg/h2/value/DataType;
            astore 1 /* dt */
        75: .line 324
            aload 1 /* dt */
            bipush 11
            putfield org.h2.value.DataType.type:I
        76: .line 325
            aload 1 /* dt */
            bipush 93
            putfield org.h2.value.DataType.sqlType:I
        77: .line 326
            aload 1 /* dt */
            ldc "DATE"
            putfield org.h2.value.DataType.name:Ljava/lang/String;
        78: .line 327
            aload 0 /* mode */
            getfield org.h2.engine.Mode.typeByNameMap:Ljava/util/HashMap;
            ldc "DATE"
            aload 1 /* dt */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        79: .line 328
            aload 0 /* mode */
            invokestatic org.h2.engine.Mode.add:(Lorg/h2/engine/Mode;)V
        80: .line 330
            new org.h2.engine.Mode
            dup
            getstatic org.h2.engine.Mode$ModeEnum.PostgreSQL:Lorg/h2/engine/Mode$ModeEnum;
            invokespecial org.h2.engine.Mode.<init>:(Lorg/h2/engine/Mode$ModeEnum;)V
            astore 0 /* mode */
        81: .line 331
            aload 0 /* mode */
            iconst_1
            putfield org.h2.engine.Mode.aliasColumnName:Z
        82: .line 332
            aload 0 /* mode */
            iconst_1
            putfield org.h2.engine.Mode.nullConcatIsNull:Z
        83: .line 333
            aload 0 /* mode */
            iconst_1
            putfield org.h2.engine.Mode.systemColumns:Z
        84: .line 334
            aload 0 /* mode */
            iconst_1
            putfield org.h2.engine.Mode.logIsLogBase10:Z
        85: .line 335
            aload 0 /* mode */
            iconst_1
            putfield org.h2.engine.Mode.regexpReplaceBackslashReferences:Z
        86: .line 336
            aload 0 /* mode */
            iconst_1
            putfield org.h2.engine.Mode.serialColumnIsNotPK:Z
        87: .line 340
            aload 0 /* mode */
        88: .line 341
            ldc "ApplicationName"
            invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
        89: .line 340
            putfield org.h2.engine.Mode.supportedClientInfoPropertiesRegEx:Ljava/util/regex/Pattern;
        90: .line 342
            aload 0 /* mode */
            iconst_1
            putfield org.h2.engine.Mode.prohibitEmptyInPredicate:Z
        91: .line 343
            aload 0 /* mode */
            iconst_1
            putfield org.h2.engine.Mode.padFixedLengthStrings:Z
        92: .line 345
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 2 /* disallowedTypes */
        start local 2 // java.util.Set disallowedTypes
        93: .line 346
            aload 2 /* disallowedTypes */
            ldc "NUMBER"
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        94: .line 347
            aload 2 /* disallowedTypes */
            ldc "IDENTITY"
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        95: .line 348
            aload 2 /* disallowedTypes */
            ldc "TINYINT"
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        96: .line 349
            aload 2 /* disallowedTypes */
            ldc "BLOB"
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        97: .line 350
            aload 0 /* mode */
            aload 2 /* disallowedTypes */
            putfield org.h2.engine.Mode.disallowedTypes:Ljava/util/Set;
        98: .line 351
            bipush 19
            iconst_2
            iconst_0
            invokestatic org.h2.value.DataType.createNumeric:(IIZ)Lorg/h2/value/DataType;
            astore 1 /* dt */
        99: .line 352
            aload 1 /* dt */
            bipush 6
            putfield org.h2.value.DataType.type:I
       100: .line 353
            aload 1 /* dt */
            iconst_2
            putfield org.h2.value.DataType.sqlType:I
       101: .line 354
            aload 1 /* dt */
            ldc "MONEY"
            putfield org.h2.value.DataType.name:Ljava/lang/String;
       102: .line 355
            aload 0 /* mode */
            getfield org.h2.engine.Mode.typeByNameMap:Ljava/util/HashMap;
            ldc "MONEY"
            aload 1 /* dt */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
       103: .line 356
            aload 0 /* mode */
            iconst_1
            putfield org.h2.engine.Mode.dateTimeValueWithinTransaction:Z
       104: .line 357
            aload 0 /* mode */
            invokestatic org.h2.engine.Mode.add:(Lorg/h2/engine/Mode;)V
       105: .line 359
            new org.h2.engine.Mode
            dup
            getstatic org.h2.engine.Mode$ModeEnum.Ignite:Lorg/h2/engine/Mode$ModeEnum;
            invokespecial org.h2.engine.Mode.<init>:(Lorg/h2/engine/Mode$ModeEnum;)V
            astore 0 /* mode */
       106: .line 360
            aload 0 /* mode */
            iconst_1
            putfield org.h2.engine.Mode.nullConcatIsNull:Z
       107: .line 361
            aload 0 /* mode */
            iconst_1
            putfield org.h2.engine.Mode.allowAffinityKey:Z
       108: .line 362
            aload 0 /* mode */
            iconst_1
            putfield org.h2.engine.Mode.indexDefinitionInCreateTable:Z
       109: .line 363
            aload 0 /* mode */
            iconst_1
            putfield org.h2.engine.Mode.dateTimeValueWithinTransaction:Z
       110: .line 364
            aload 0 /* mode */
            invokestatic org.h2.engine.Mode.add:(Lorg/h2/engine/Mode;)V
        end local 2 // java.util.Set disallowedTypes
        end local 1 // org.h2.value.DataType dt
        end local 0 // org.h2.engine.Mode mode
       111: .line 365
            return
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            2  111     0             mode  Lorg/h2/engine/Mode;
           41  111     1               dt  Lorg/h2/value/DataType;
           93  111     2  disallowedTypes  Ljava/util/Set<Ljava/lang/String;>;

  private void <init>(org.h2.engine.Mode$ModeEnum);
    descriptor: (Lorg/h2/engine/Mode$ModeEnum;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.h2.engine.Mode this
        start local 1 // org.h2.engine.Mode$ModeEnum modeEnum
         0: .line 367
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 112
            aload 0 /* this */
            getstatic org.h2.engine.Mode$UniqueIndexNullsHandling.ALLOW_DUPLICATES_WITH_ANY_NULL:Lorg/h2/engine/Mode$UniqueIndexNullsHandling;
            putfield org.h2.engine.Mode.uniqueIndexNullsHandling:Lorg/h2/engine/Mode$UniqueIndexNullsHandling;
         2: .line 217
            aload 0 /* this */
            invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
            putfield org.h2.engine.Mode.disallowedTypes:Ljava/util/Set;
         3: .line 222
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.h2.engine.Mode.typeByNameMap:Ljava/util/HashMap;
         4: .line 368
            aload 0 /* this */
            aload 1 /* modeEnum */
            invokevirtual org.h2.engine.Mode$ModeEnum.name:()Ljava/lang/String;
            putfield org.h2.engine.Mode.name:Ljava/lang/String;
         5: .line 369
            aload 0 /* this */
            aload 1 /* modeEnum */
            putfield org.h2.engine.Mode.modeEnum:Lorg/h2/engine/Mode$ModeEnum;
         6: .line 370
            return
        end local 1 // org.h2.engine.Mode$ModeEnum modeEnum
        end local 0 // org.h2.engine.Mode this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lorg/h2/engine/Mode;
            0    7     1  modeEnum  Lorg/h2/engine/Mode$ModeEnum;
    MethodParameters:
          Name  Flags
      modeEnum  

  private static void add(org.h2.engine.Mode);
    descriptor: (Lorg/h2/engine/Mode;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.h2.engine.Mode mode
         0: .line 373
            getstatic org.h2.engine.Mode.MODES:Ljava/util/HashMap;
            aload 0 /* mode */
            getfield org.h2.engine.Mode.name:Ljava/lang/String;
            invokestatic org.h2.util.StringUtils.toUpperEnglish:(Ljava/lang/String;)Ljava/lang/String;
            aload 0 /* mode */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 374
            return
        end local 0 // org.h2.engine.Mode mode
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  mode  Lorg/h2/engine/Mode;
    MethodParameters:
      Name  Flags
      mode  

  public static org.h2.engine.Mode getInstance(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/h2/engine/Mode;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String name
         0: .line 383
            getstatic org.h2.engine.Mode.MODES:Ljava/util/HashMap;
            aload 0 /* name */
            invokestatic org.h2.util.StringUtils.toUpperEnglish:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.h2.engine.Mode
            areturn
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public static org.h2.engine.Mode getRegular();
    descriptor: ()Lorg/h2/engine/Mode;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 387
            getstatic org.h2.engine.Mode$ModeEnum.REGULAR:Lorg/h2/engine/Mode$ModeEnum;
            invokevirtual org.h2.engine.Mode$ModeEnum.name:()Ljava/lang/String;
            invokestatic org.h2.engine.Mode.getInstance:(Ljava/lang/String;)Lorg/h2/engine/Mode;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

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

  public org.h2.engine.Mode$ModeEnum getEnum();
    descriptor: ()Lorg/h2/engine/Mode$ModeEnum;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.engine.Mode this
         0: .line 395
            aload 0 /* this */
            getfield org.h2.engine.Mode.modeEnum:Lorg/h2/engine/Mode$ModeEnum;
            areturn
        end local 0 // org.h2.engine.Mode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/engine/Mode;

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.engine.Mode this
         0: .line 400
            aload 0 /* this */
            getfield org.h2.engine.Mode.name:Ljava/lang/String;
            areturn
        end local 0 // org.h2.engine.Mode this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/engine/Mode;
}
SourceFile: "Mode.java"
NestMembers:
  org.h2.engine.Mode$ModeEnum  org.h2.engine.Mode$UniqueIndexNullsHandling
InnerClasses:
  public final ModeEnum = org.h2.engine.Mode$ModeEnum of org.h2.engine.Mode
  public final UniqueIndexNullsHandling = org.h2.engine.Mode$UniqueIndexNullsHandling of org.h2.engine.Mode