public class org.hibernate.type.BasicTypeRegistry implements java.io.Serializable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.hibernate.type.BasicTypeRegistry
  super_class: java.lang.Object
{
  private static final org.hibernate.internal.CoreMessageLogger LOG;
    descriptor: Lorg/hibernate/internal/CoreMessageLogger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private java.util.Map<java.lang.String, org.hibernate.type.BasicType> registry;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/lang/String;Lorg/hibernate/type/BasicType;>;

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

  private org.hibernate.type.spi.TypeConfiguration typeConfiguration;
    descriptor: Lorg/hibernate/type/spi/TypeConfiguration;
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 26
            ldc Lorg/hibernate/type/BasicTypeRegistry;
            invokestatic org.hibernate.internal.CoreLogging.messageLogger:(Ljava/lang/Class;)Lorg/hibernate/internal/CoreMessageLogger;
            putstatic org.hibernate.type.BasicTypeRegistry.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(org.hibernate.type.spi.TypeConfiguration);
    descriptor: (Lorg/hibernate/type/spi/TypeConfiguration;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.type.BasicTypeRegistry this
        start local 1 // org.hibernate.type.spi.TypeConfiguration typeConfiguration
         0: .line 34
            aload 0 /* this */
            invokespecial org.hibernate.type.BasicTypeRegistry.<init>:()V
         1: .line 35
            aload 0 /* this */
            aload 1 /* typeConfiguration */
            putfield org.hibernate.type.BasicTypeRegistry.typeConfiguration:Lorg/hibernate/type/spi/TypeConfiguration;
         2: .line 36
            return
        end local 1 // org.hibernate.type.spi.TypeConfiguration typeConfiguration
        end local 0 // org.hibernate.type.BasicTypeRegistry this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    3     0               this  Lorg/hibernate/type/BasicTypeRegistry;
            0    3     1  typeConfiguration  Lorg/hibernate/type/spi/TypeConfiguration;
    MethodParameters:
                   Name  Flags
      typeConfiguration  

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // org.hibernate.type.BasicTypeRegistry this
         0: .line 38
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 29
            aload 0 /* this */
            new java.util.concurrent.ConcurrentHashMap
            dup
            bipush 100
            ldc 0.75
            iconst_1
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:(IFI)V
            putfield org.hibernate.type.BasicTypeRegistry.registry:Ljava/util/Map;
         2: .line 39
            aload 0 /* this */
            getstatic org.hibernate.type.BooleanType.INSTANCE:Lorg/hibernate/type/BooleanType;
            invokevirtual org.hibernate.type.BasicTypeRegistry.register:(Lorg/hibernate/type/BasicType;)V
         3: .line 40
            aload 0 /* this */
            getstatic org.hibernate.type.NumericBooleanType.INSTANCE:Lorg/hibernate/type/NumericBooleanType;
            invokevirtual org.hibernate.type.BasicTypeRegistry.register:(Lorg/hibernate/type/BasicType;)V
         4: .line 41
            aload 0 /* this */
            getstatic org.hibernate.type.TrueFalseType.INSTANCE:Lorg/hibernate/type/TrueFalseType;
            invokevirtual org.hibernate.type.BasicTypeRegistry.register:(Lorg/hibernate/type/BasicType;)V
         5: .line 42
            aload 0 /* this */
            getstatic org.hibernate.type.YesNoType.INSTANCE:Lorg/hibernate/type/YesNoType;
            invokevirtual org.hibernate.type.BasicTypeRegistry.register:(Lorg/hibernate/type/BasicType;)V
         6: .line 44
            aload 0 /* this */
            getstatic org.hibernate.type.ByteType.INSTANCE:Lorg/hibernate/type/ByteType;
            invokevirtual org.hibernate.type.BasicTypeRegistry.register:(Lorg/hibernate/type/BasicType;)V
         7: .line 45
            aload 0 /* this */
            getstatic org.hibernate.type.CharacterType.INSTANCE:Lorg/hibernate/type/CharacterType;
            invokevirtual org.hibernate.type.BasicTypeRegistry.register:(Lorg/hibernate/type/BasicType;)V
         8: .line 46
            aload 0 /* this */
            getstatic org.hibernate.type.ShortType.INSTANCE:Lorg/hibernate/type/ShortType;
            invokevirtual org.hibernate.type.BasicTypeRegistry.register:(Lorg/hibernate/type/BasicType;)V
         9: .line 47
            aload 0 /* this */
            getstatic org.hibernate.type.IntegerType.INSTANCE:Lorg/hibernate/type/IntegerType;
            invokevirtual org.hibernate.type.BasicTypeRegistry.register:(Lorg/hibernate/type/BasicType;)V
        10: .line 48
            aload 0 /* this */
            getstatic org.hibernate.type.LongType.INSTANCE:Lorg/hibernate/type/LongType;
            invokevirtual org.hibernate.type.BasicTypeRegistry.register:(Lorg/hibernate/type/BasicType;)V
        11: .line 49
            aload 0 /* this */
            getstatic org.hibernate.type.FloatType.INSTANCE:Lorg/hibernate/type/FloatType;
            invokevirtual org.hibernate.type.BasicTypeRegistry.register:(Lorg/hibernate/type/BasicType;)V
        12: .line 50
            aload 0 /* this */
            getstatic org.hibernate.type.DoubleType.INSTANCE:Lorg/hibernate/type/DoubleType;
            invokevirtual org.hibernate.type.BasicTypeRegistry.register:(Lorg/hibernate/type/BasicType;)V
        13: .line 51
            aload 0 /* this */
            getstatic org.hibernate.type.BigDecimalType.INSTANCE:Lorg/hibernate/type/BigDecimalType;
            invokevirtual org.hibernate.type.BasicTypeRegistry.register:(Lorg/hibernate/type/BasicType;)V
        14: .line 52
            aload 0 /* this */
            getstatic org.hibernate.type.BigIntegerType.INSTANCE:Lorg/hibernate/type/BigIntegerType;
            invokevirtual org.hibernate.type.BasicTypeRegistry.register:(Lorg/hibernate/type/BasicType;)V
        15: .line 54
            aload 0 /* this */
            getstatic org.hibernate.type.StringType.INSTANCE:Lorg/hibernate/type/StringType;
            invokevirtual org.hibernate.type.BasicTypeRegistry.register:(Lorg/hibernate/type/BasicType;)V
        16: .line 55
            aload 0 /* this */
            getstatic org.hibernate.type.StringNVarcharType.INSTANCE:Lorg/hibernate/type/StringNVarcharType;
            invokevirtual org.hibernate.type.BasicTypeRegistry.register:(Lorg/hibernate/type/BasicType;)V
        17: .line 56
            aload 0 /* this */
            getstatic org.hibernate.type.CharacterNCharType.INSTANCE:Lorg/hibernate/type/CharacterNCharType;
            invokevirtual org.hibernate.type.BasicTypeRegistry.register:(Lorg/hibernate/type/BasicType;)V
        18: .line 57
            aload 0 /* this */
            getstatic org.hibernate.type.UrlType.INSTANCE:Lorg/hibernate/type/UrlType;
            invokevirtual org.hibernate.type.BasicTypeRegistry.register:(Lorg/hibernate/type/BasicType;)V
        19: .line 59
            aload 0 /* this */
            getstatic org.hibernate.type.DurationType.INSTANCE:Lorg/hibernate/type/DurationType;
            invokevirtual org.hibernate.type.BasicTypeRegistry.register:(Lorg/hibernate/type/BasicType;)V
        20: .line 60
            aload 0 /* this */
            getstatic org.hibernate.type.InstantType.INSTANCE:Lorg/hibernate/type/InstantType;
            invokevirtual org.hibernate.type.BasicTypeRegistry.register:(Lorg/hibernate/type/BasicType;)V
        21: .line 61
            aload 0 /* this */
            getstatic org.hibernate.type.LocalDateTimeType.INSTANCE:Lorg/hibernate/type/LocalDateTimeType;
            invokevirtual org.hibernate.type.BasicTypeRegistry.register:(Lorg/hibernate/type/BasicType;)V
        22: .line 62
            aload 0 /* this */
            getstatic org.hibernate.type.LocalDateType.INSTANCE:Lorg/hibernate/type/LocalDateType;
            invokevirtual org.hibernate.type.BasicTypeRegistry.register:(Lorg/hibernate/type/BasicType;)V
        23: .line 63
            aload 0 /* this */
            getstatic org.hibernate.type.LocalTimeType.INSTANCE:Lorg/hibernate/type/LocalTimeType;
            invokevirtual org.hibernate.type.BasicTypeRegistry.register:(Lorg/hibernate/type/BasicType;)V
        24: .line 64
            aload 0 /* this */
            getstatic org.hibernate.type.OffsetDateTimeType.INSTANCE:Lorg/hibernate/type/OffsetDateTimeType;
            invokevirtual org.hibernate.type.BasicTypeRegistry.register:(Lorg/hibernate/type/BasicType;)V
        25: .line 65
            aload 0 /* this */
            getstatic org.hibernate.type.OffsetTimeType.INSTANCE:Lorg/hibernate/type/OffsetTimeType;
            invokevirtual org.hibernate.type.BasicTypeRegistry.register:(Lorg/hibernate/type/BasicType;)V
        26: .line 66
            aload 0 /* this */
            getstatic org.hibernate.type.ZonedDateTimeType.INSTANCE:Lorg/hibernate/type/ZonedDateTimeType;
            invokevirtual org.hibernate.type.BasicTypeRegistry.register:(Lorg/hibernate/type/BasicType;)V
        27: .line 68
            aload 0 /* this */
            getstatic org.hibernate.type.DateType.INSTANCE:Lorg/hibernate/type/DateType;
            invokevirtual org.hibernate.type.BasicTypeRegistry.register:(Lorg/hibernate/type/BasicType;)V
        28: .line 69
            aload 0 /* this */
            getstatic org.hibernate.type.TimeType.INSTANCE:Lorg/hibernate/type/TimeType;
            invokevirtual org.hibernate.type.BasicTypeRegistry.register:(Lorg/hibernate/type/BasicType;)V
        29: .line 70
            aload 0 /* this */
            getstatic org.hibernate.type.TimestampType.INSTANCE:Lorg/hibernate/type/TimestampType;
            invokevirtual org.hibernate.type.BasicTypeRegistry.register:(Lorg/hibernate/type/BasicType;)V
        30: .line 71
            aload 0 /* this */
            getstatic org.hibernate.type.DbTimestampType.INSTANCE:Lorg/hibernate/type/DbTimestampType;
            invokevirtual org.hibernate.type.BasicTypeRegistry.register:(Lorg/hibernate/type/BasicType;)V
        31: .line 72
            aload 0 /* this */
            getstatic org.hibernate.type.CalendarType.INSTANCE:Lorg/hibernate/type/CalendarType;
            invokevirtual org.hibernate.type.BasicTypeRegistry.register:(Lorg/hibernate/type/BasicType;)V
        32: .line 73
            aload 0 /* this */
            getstatic org.hibernate.type.CalendarDateType.INSTANCE:Lorg/hibernate/type/CalendarDateType;
            invokevirtual org.hibernate.type.BasicTypeRegistry.register:(Lorg/hibernate/type/BasicType;)V
        33: .line 75
            aload 0 /* this */
            getstatic org.hibernate.type.LocaleType.INSTANCE:Lorg/hibernate/type/LocaleType;
            invokevirtual org.hibernate.type.BasicTypeRegistry.register:(Lorg/hibernate/type/BasicType;)V
        34: .line 76
            aload 0 /* this */
            getstatic org.hibernate.type.CurrencyType.INSTANCE:Lorg/hibernate/type/CurrencyType;
            invokevirtual org.hibernate.type.BasicTypeRegistry.register:(Lorg/hibernate/type/BasicType;)V
        35: .line 77
            aload 0 /* this */
            getstatic org.hibernate.type.TimeZoneType.INSTANCE:Lorg/hibernate/type/TimeZoneType;
            invokevirtual org.hibernate.type.BasicTypeRegistry.register:(Lorg/hibernate/type/BasicType;)V
        36: .line 78
            aload 0 /* this */
            getstatic org.hibernate.type.ClassType.INSTANCE:Lorg/hibernate/type/ClassType;
            invokevirtual org.hibernate.type.BasicTypeRegistry.register:(Lorg/hibernate/type/BasicType;)V
        37: .line 79
            aload 0 /* this */
            getstatic org.hibernate.type.UUIDBinaryType.INSTANCE:Lorg/hibernate/type/UUIDBinaryType;
            invokevirtual org.hibernate.type.BasicTypeRegistry.register:(Lorg/hibernate/type/BasicType;)V
        38: .line 80
            aload 0 /* this */
            getstatic org.hibernate.type.UUIDCharType.INSTANCE:Lorg/hibernate/type/UUIDCharType;
            invokevirtual org.hibernate.type.BasicTypeRegistry.register:(Lorg/hibernate/type/BasicType;)V
        39: .line 82
            aload 0 /* this */
            getstatic org.hibernate.type.BinaryType.INSTANCE:Lorg/hibernate/type/BinaryType;
            invokevirtual org.hibernate.type.BasicTypeRegistry.register:(Lorg/hibernate/type/BasicType;)V
        40: .line 83
            aload 0 /* this */
            getstatic org.hibernate.type.WrapperBinaryType.INSTANCE:Lorg/hibernate/type/WrapperBinaryType;
            invokevirtual org.hibernate.type.BasicTypeRegistry.register:(Lorg/hibernate/type/BasicType;)V
        41: .line 84
            aload 0 /* this */
            getstatic org.hibernate.type.RowVersionType.INSTANCE:Lorg/hibernate/type/RowVersionType;
            invokevirtual org.hibernate.type.BasicTypeRegistry.register:(Lorg/hibernate/type/BasicType;)V
        42: .line 85
            aload 0 /* this */
            getstatic org.hibernate.type.ImageType.INSTANCE:Lorg/hibernate/type/ImageType;
            invokevirtual org.hibernate.type.BasicTypeRegistry.register:(Lorg/hibernate/type/BasicType;)V
        43: .line 86
            aload 0 /* this */
            getstatic org.hibernate.type.CharArrayType.INSTANCE:Lorg/hibernate/type/CharArrayType;
            invokevirtual org.hibernate.type.BasicTypeRegistry.register:(Lorg/hibernate/type/BasicType;)V
        44: .line 87
            aload 0 /* this */
            getstatic org.hibernate.type.CharacterArrayType.INSTANCE:Lorg/hibernate/type/CharacterArrayType;
            invokevirtual org.hibernate.type.BasicTypeRegistry.register:(Lorg/hibernate/type/BasicType;)V
        45: .line 88
            aload 0 /* this */
            getstatic org.hibernate.type.TextType.INSTANCE:Lorg/hibernate/type/TextType;
            invokevirtual org.hibernate.type.BasicTypeRegistry.register:(Lorg/hibernate/type/BasicType;)V
        46: .line 89
            aload 0 /* this */
            getstatic org.hibernate.type.NTextType.INSTANCE:Lorg/hibernate/type/NTextType;
            invokevirtual org.hibernate.type.BasicTypeRegistry.register:(Lorg/hibernate/type/BasicType;)V
        47: .line 90
            aload 0 /* this */
            getstatic org.hibernate.type.BlobType.INSTANCE:Lorg/hibernate/type/BlobType;
            invokevirtual org.hibernate.type.BasicTypeRegistry.register:(Lorg/hibernate/type/BasicType;)V
        48: .line 91
            aload 0 /* this */
            getstatic org.hibernate.type.MaterializedBlobType.INSTANCE:Lorg/hibernate/type/MaterializedBlobType;
            invokevirtual org.hibernate.type.BasicTypeRegistry.register:(Lorg/hibernate/type/BasicType;)V
        49: .line 92
            aload 0 /* this */
            getstatic org.hibernate.type.ClobType.INSTANCE:Lorg/hibernate/type/ClobType;
            invokevirtual org.hibernate.type.BasicTypeRegistry.register:(Lorg/hibernate/type/BasicType;)V
        50: .line 93
            aload 0 /* this */
            getstatic org.hibernate.type.NClobType.INSTANCE:Lorg/hibernate/type/NClobType;
            invokevirtual org.hibernate.type.BasicTypeRegistry.register:(Lorg/hibernate/type/BasicType;)V
        51: .line 94
            aload 0 /* this */
            getstatic org.hibernate.type.MaterializedClobType.INSTANCE:Lorg/hibernate/type/MaterializedClobType;
            invokevirtual org.hibernate.type.BasicTypeRegistry.register:(Lorg/hibernate/type/BasicType;)V
        52: .line 95
            aload 0 /* this */
            getstatic org.hibernate.type.MaterializedNClobType.INSTANCE:Lorg/hibernate/type/MaterializedNClobType;
            invokevirtual org.hibernate.type.BasicTypeRegistry.register:(Lorg/hibernate/type/BasicType;)V
        53: .line 96
            aload 0 /* this */
            getstatic org.hibernate.type.SerializableType.INSTANCE:Lorg/hibernate/type/SerializableType;
            invokevirtual org.hibernate.type.BasicTypeRegistry.register:(Lorg/hibernate/type/BasicType;)V
        54: .line 98
            aload 0 /* this */
            getstatic org.hibernate.type.ObjectType.INSTANCE:Lorg/hibernate/type/ObjectType;
            invokevirtual org.hibernate.type.BasicTypeRegistry.register:(Lorg/hibernate/type/BasicType;)V
        55: .line 101
            aload 0 /* this */
            new org.hibernate.type.AdaptedImmutableType
            dup
            getstatic org.hibernate.type.DateType.INSTANCE:Lorg/hibernate/type/DateType;
            invokespecial org.hibernate.type.AdaptedImmutableType.<init>:(Lorg/hibernate/type/AbstractStandardBasicType;)V
            invokevirtual org.hibernate.type.BasicTypeRegistry.register:(Lorg/hibernate/type/BasicType;)V
        56: .line 103
            aload 0 /* this */
            new org.hibernate.type.AdaptedImmutableType
            dup
            getstatic org.hibernate.type.TimeType.INSTANCE:Lorg/hibernate/type/TimeType;
            invokespecial org.hibernate.type.AdaptedImmutableType.<init>:(Lorg/hibernate/type/AbstractStandardBasicType;)V
            invokevirtual org.hibernate.type.BasicTypeRegistry.register:(Lorg/hibernate/type/BasicType;)V
        57: .line 105
            aload 0 /* this */
            new org.hibernate.type.AdaptedImmutableType
            dup
            getstatic org.hibernate.type.TimestampType.INSTANCE:Lorg/hibernate/type/TimestampType;
            invokespecial org.hibernate.type.AdaptedImmutableType.<init>:(Lorg/hibernate/type/AbstractStandardBasicType;)V
            invokevirtual org.hibernate.type.BasicTypeRegistry.register:(Lorg/hibernate/type/BasicType;)V
        58: .line 107
            aload 0 /* this */
            new org.hibernate.type.AdaptedImmutableType
            dup
            getstatic org.hibernate.type.DbTimestampType.INSTANCE:Lorg/hibernate/type/DbTimestampType;
            invokespecial org.hibernate.type.AdaptedImmutableType.<init>:(Lorg/hibernate/type/AbstractStandardBasicType;)V
            invokevirtual org.hibernate.type.BasicTypeRegistry.register:(Lorg/hibernate/type/BasicType;)V
        59: .line 109
            aload 0 /* this */
            new org.hibernate.type.AdaptedImmutableType
            dup
            getstatic org.hibernate.type.CalendarType.INSTANCE:Lorg/hibernate/type/CalendarType;
            invokespecial org.hibernate.type.AdaptedImmutableType.<init>:(Lorg/hibernate/type/AbstractStandardBasicType;)V
            invokevirtual org.hibernate.type.BasicTypeRegistry.register:(Lorg/hibernate/type/BasicType;)V
        60: .line 111
            aload 0 /* this */
            new org.hibernate.type.AdaptedImmutableType
            dup
            getstatic org.hibernate.type.CalendarDateType.INSTANCE:Lorg/hibernate/type/CalendarDateType;
            invokespecial org.hibernate.type.AdaptedImmutableType.<init>:(Lorg/hibernate/type/AbstractStandardBasicType;)V
            invokevirtual org.hibernate.type.BasicTypeRegistry.register:(Lorg/hibernate/type/BasicType;)V
        61: .line 113
            aload 0 /* this */
            new org.hibernate.type.AdaptedImmutableType
            dup
            getstatic org.hibernate.type.BinaryType.INSTANCE:Lorg/hibernate/type/BinaryType;
            invokespecial org.hibernate.type.AdaptedImmutableType.<init>:(Lorg/hibernate/type/AbstractStandardBasicType;)V
            invokevirtual org.hibernate.type.BasicTypeRegistry.register:(Lorg/hibernate/type/BasicType;)V
        62: .line 115
            aload 0 /* this */
            new org.hibernate.type.AdaptedImmutableType
            dup
            getstatic org.hibernate.type.SerializableType.INSTANCE:Lorg/hibernate/type/SerializableType;
            invokespecial org.hibernate.type.AdaptedImmutableType.<init>:(Lorg/hibernate/type/AbstractStandardBasicType;)V
            invokevirtual org.hibernate.type.BasicTypeRegistry.register:(Lorg/hibernate/type/BasicType;)V
        63: .line 116
            return
        end local 0 // org.hibernate.type.BasicTypeRegistry this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   64     0  this  Lorg/hibernate/type/BasicTypeRegistry;

  private void <init>(java.util.Map<java.lang.String, org.hibernate.type.BasicType>);
    descriptor: (Ljava/util/Map;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // org.hibernate.type.BasicTypeRegistry this
        start local 1 // java.util.Map registeredTypes
         0: .line 124
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 29
            aload 0 /* this */
            new java.util.concurrent.ConcurrentHashMap
            dup
            bipush 100
            ldc 0.75
            iconst_1
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:(IFI)V
            putfield org.hibernate.type.BasicTypeRegistry.registry:Ljava/util/Map;
         2: .line 125
            aload 0 /* this */
            getfield org.hibernate.type.BasicTypeRegistry.registry:Ljava/util/Map;
            aload 1 /* registeredTypes */
            invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
         3: .line 126
            aload 0 /* this */
            iconst_1
            putfield org.hibernate.type.BasicTypeRegistry.locked:Z
         4: .line 127
            return
        end local 1 // java.util.Map registeredTypes
        end local 0 // org.hibernate.type.BasicTypeRegistry this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    5     0             this  Lorg/hibernate/type/BasicTypeRegistry;
            0    5     1  registeredTypes  Ljava/util/Map<Ljava/lang/String;Lorg/hibernate/type/BasicType;>;
    Signature: (Ljava/util/Map<Ljava/lang/String;Lorg/hibernate/type/BasicType;>;)V
    MethodParameters:
                 Name  Flags
      registeredTypes  

  public void register(org.hibernate.type.BasicType);
    descriptor: (Lorg/hibernate/type/BasicType;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.hibernate.type.BasicTypeRegistry this
        start local 1 // org.hibernate.type.BasicType type
         0: .line 130
            aload 0 /* this */
            aload 1 /* type */
            aload 1 /* type */
            invokeinterface org.hibernate.type.BasicType.getRegistrationKeys:()[Ljava/lang/String;
            invokevirtual org.hibernate.type.BasicTypeRegistry.register:(Lorg/hibernate/type/BasicType;[Ljava/lang/String;)V
         1: .line 131
            return
        end local 1 // org.hibernate.type.BasicType type
        end local 0 // org.hibernate.type.BasicTypeRegistry this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hibernate/type/BasicTypeRegistry;
            0    2     1  type  Lorg/hibernate/type/BasicType;
    MethodParameters:
      Name  Flags
      type  

  public void register(org.hibernate.type.BasicType, java.lang.String[]);
    descriptor: (Lorg/hibernate/type/BasicType;[Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // org.hibernate.type.BasicTypeRegistry this
        start local 1 // org.hibernate.type.BasicType type
        start local 2 // java.lang.String[] keys
         0: .line 134
            aload 0 /* this */
            getfield org.hibernate.type.BasicTypeRegistry.locked:Z
            ifeq 2
         1: .line 135
            new org.hibernate.HibernateException
            dup
            ldc "Can not alter TypeRegistry at this time"
            invokespecial org.hibernate.HibernateException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 138
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            ifnonnull 4
         3: .line 139
            new org.hibernate.HibernateException
            dup
            ldc "Type to register cannot be null"
            invokespecial org.hibernate.HibernateException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 142
      StackMap locals:
      StackMap stack:
            aload 2 /* keys */
            ifnull 5
            aload 2 /* keys */
            arraylength
            ifne 7
         5: .line 143
      StackMap locals:
      StackMap stack:
            getstatic org.hibernate.type.BasicTypeRegistry.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            aload 1 /* type */
            invokeinterface org.hibernate.internal.CoreMessageLogger.typeDefinedNoRegistrationKeys:(Lorg/hibernate/type/BasicType;)V
         6: .line 144
            return
         7: .line 147
      StackMap locals:
      StackMap stack:
            aload 2 /* keys */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 17
      StackMap locals: org.hibernate.type.BasicTypeRegistry org.hibernate.type.BasicType java.lang.String[] top int int java.lang.String[]
      StackMap stack:
         8: aload 6
            iload 4
            aaload
            astore 3 /* key */
        start local 3 // java.lang.String key
         9: .line 149
            aload 3 /* key */
            ifnonnull 11
        10: .line 150
            goto 16
        11: .line 155
      StackMap locals: org.hibernate.type.BasicTypeRegistry org.hibernate.type.BasicType java.lang.String[] java.lang.String int int java.lang.String[]
      StackMap stack:
            aload 3 /* key */
            invokevirtual java.lang.String.intern:()Ljava/lang/String;
            astore 3 /* key */
        12: .line 156
            getstatic org.hibernate.type.BasicTypeRegistry.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            ldc "Adding type registration %s -> %s"
            aload 3 /* key */
            aload 1 /* type */
            invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        13: .line 157
            aload 0 /* this */
            getfield org.hibernate.type.BasicTypeRegistry.registry:Ljava/util/Map;
            aload 3 /* key */
            aload 1 /* type */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.hibernate.type.Type
            astore 7 /* old */
        start local 7 // org.hibernate.type.Type old
        14: .line 158
            aload 7 /* old */
            ifnull 16
            aload 7 /* old */
            aload 1 /* type */
            if_acmpeq 16
        15: .line 159
            getstatic org.hibernate.type.BasicTypeRegistry.LOG:Lorg/hibernate/internal/CoreMessageLogger;
            aload 3 /* key */
            aload 7 /* old */
            invokeinterface org.hibernate.internal.CoreMessageLogger.typeRegistrationOverridesPrevious:(Ljava/lang/String;Lorg/hibernate/type/Type;)V
        end local 7 // org.hibernate.type.Type old
        end local 3 // java.lang.String key
        16: .line 147
      StackMap locals: org.hibernate.type.BasicTypeRegistry org.hibernate.type.BasicType java.lang.String[] top int int java.lang.String[]
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
        17: iload 4
            iload 5
            if_icmplt 8
        18: .line 162
            return
        end local 2 // java.lang.String[] keys
        end local 1 // org.hibernate.type.BasicType type
        end local 0 // org.hibernate.type.BasicTypeRegistry this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   19     0  this  Lorg/hibernate/type/BasicTypeRegistry;
            0   19     1  type  Lorg/hibernate/type/BasicType;
            0   19     2  keys  [Ljava/lang/String;
            9   16     3   key  Ljava/lang/String;
           14   16     7   old  Lorg/hibernate/type/Type;
    MethodParameters:
      Name  Flags
      type  
      keys  

  public void register(org.hibernate.usertype.UserType, java.lang.String[]);
    descriptor: (Lorg/hibernate/usertype/UserType;[Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.hibernate.type.BasicTypeRegistry this
        start local 1 // org.hibernate.usertype.UserType type
        start local 2 // java.lang.String[] keys
         0: .line 165
            aload 0 /* this */
            new org.hibernate.type.CustomType
            dup
            aload 1 /* type */
            aload 2 /* keys */
            invokespecial org.hibernate.type.CustomType.<init>:(Lorg/hibernate/usertype/UserType;[Ljava/lang/String;)V
            invokevirtual org.hibernate.type.BasicTypeRegistry.register:(Lorg/hibernate/type/BasicType;)V
         1: .line 166
            return
        end local 2 // java.lang.String[] keys
        end local 1 // org.hibernate.usertype.UserType type
        end local 0 // org.hibernate.type.BasicTypeRegistry this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hibernate/type/BasicTypeRegistry;
            0    2     1  type  Lorg/hibernate/usertype/UserType;
            0    2     2  keys  [Ljava/lang/String;
    MethodParameters:
      Name  Flags
      type  
      keys  

  public void register(org.hibernate.usertype.CompositeUserType, java.lang.String[]);
    descriptor: (Lorg/hibernate/usertype/CompositeUserType;[Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.hibernate.type.BasicTypeRegistry this
        start local 1 // org.hibernate.usertype.CompositeUserType type
        start local 2 // java.lang.String[] keys
         0: .line 169
            aload 0 /* this */
            new org.hibernate.type.CompositeCustomType
            dup
            aload 1 /* type */
            aload 2 /* keys */
            invokespecial org.hibernate.type.CompositeCustomType.<init>:(Lorg/hibernate/usertype/CompositeUserType;[Ljava/lang/String;)V
            invokevirtual org.hibernate.type.BasicTypeRegistry.register:(Lorg/hibernate/type/BasicType;)V
         1: .line 170
            return
        end local 2 // java.lang.String[] keys
        end local 1 // org.hibernate.usertype.CompositeUserType type
        end local 0 // org.hibernate.type.BasicTypeRegistry this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hibernate/type/BasicTypeRegistry;
            0    2     1  type  Lorg/hibernate/usertype/CompositeUserType;
            0    2     2  keys  [Ljava/lang/String;
    MethodParameters:
      Name  Flags
      type  
      keys  

  public void unregister(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // org.hibernate.type.BasicTypeRegistry this
        start local 1 // java.lang.String[] keys
         0: .line 173
            aload 1 /* keys */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 4
      StackMap locals: org.hibernate.type.BasicTypeRegistry java.lang.String[] top int int java.lang.String[]
      StackMap stack:
         1: aload 5
            iload 3
            aaload
            astore 2 /* key */
        start local 2 // java.lang.String key
         2: .line 174
            aload 0 /* this */
            getfield org.hibernate.type.BasicTypeRegistry.registry:Ljava/util/Map;
            aload 2 /* key */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 2 // java.lang.String key
         3: .line 173
            iinc 3 1
      StackMap locals:
      StackMap stack:
         4: iload 3
            iload 4
            if_icmplt 1
         5: .line 176
            return
        end local 1 // java.lang.String[] keys
        end local 0 // org.hibernate.type.BasicTypeRegistry this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/hibernate/type/BasicTypeRegistry;
            0    6     1  keys  [Ljava/lang/String;
            2    3     2   key  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      keys  

  public org.hibernate.type.BasicType getRegisteredType(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/hibernate/type/BasicType;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hibernate.type.BasicTypeRegistry this
        start local 1 // java.lang.String key
         0: .line 179
            aload 0 /* this */
            getfield org.hibernate.type.BasicTypeRegistry.registry:Ljava/util/Map;
            aload 1 /* key */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast org.hibernate.type.BasicType
            areturn
        end local 1 // java.lang.String key
        end local 0 // org.hibernate.type.BasicTypeRegistry this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/type/BasicTypeRegistry;
            0    1     1   key  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      key   

  public org.hibernate.type.BasicTypeRegistry shallowCopy();
    descriptor: ()Lorg/hibernate/type/BasicTypeRegistry;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.hibernate.type.BasicTypeRegistry this
         0: .line 183
            new org.hibernate.type.BasicTypeRegistry
            dup
            aload 0 /* this */
            getfield org.hibernate.type.BasicTypeRegistry.registry:Ljava/util/Map;
            invokespecial org.hibernate.type.BasicTypeRegistry.<init>:(Ljava/util/Map;)V
            areturn
        end local 0 // org.hibernate.type.BasicTypeRegistry this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hibernate/type/BasicTypeRegistry;
}
SourceFile: "BasicTypeRegistry.java"