public class org.hsqldb.types.UserTypeModifier
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.hsqldb.types.UserTypeModifier
  super_class: java.lang.Object
{
  final org.hsqldb.HsqlNameManager$HsqlName name;
    descriptor: Lorg/hsqldb/HsqlNameManager$HsqlName;
    flags: (0x0010) ACC_FINAL

  final int schemaObjectType;
    descriptor: I
    flags: (0x0010) ACC_FINAL

  final org.hsqldb.types.Type dataType;
    descriptor: Lorg/hsqldb/types/Type;
    flags: (0x0010) ACC_FINAL

  org.hsqldb.Constraint[] constraints;
    descriptor: [Lorg/hsqldb/Constraint;
    flags: (0x0000) 

  org.hsqldb.Expression defaultExpression;
    descriptor: Lorg/hsqldb/Expression;
    flags: (0x0000) 

  boolean isNullable;
    descriptor: Z
    flags: (0x0000) 

  public void <init>(org.hsqldb.HsqlNameManager$HsqlName, int, org.hsqldb.types.Type);
    descriptor: (Lorg/hsqldb/HsqlNameManager$HsqlName;ILorg/hsqldb/types/Type;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // org.hsqldb.types.UserTypeModifier this
        start local 1 // org.hsqldb.HsqlNameManager$HsqlName name
        start local 2 // int type
        start local 3 // org.hsqldb.types.Type dataType
         0: .line 60
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 56
            aload 0 /* this */
            getstatic org.hsqldb.Constraint.emptyArray:[Lorg/hsqldb/Constraint;
            putfield org.hsqldb.types.UserTypeModifier.constraints:[Lorg/hsqldb/Constraint;
         2: .line 58
            aload 0 /* this */
            iconst_1
            putfield org.hsqldb.types.UserTypeModifier.isNullable:Z
         3: .line 62
            aload 0 /* this */
            aload 1 /* name */
            putfield org.hsqldb.types.UserTypeModifier.name:Lorg/hsqldb/HsqlNameManager$HsqlName;
         4: .line 63
            aload 0 /* this */
            iload 2 /* type */
            putfield org.hsqldb.types.UserTypeModifier.schemaObjectType:I
         5: .line 64
            aload 0 /* this */
            aload 3 /* dataType */
            putfield org.hsqldb.types.UserTypeModifier.dataType:Lorg/hsqldb/types/Type;
         6: .line 65
            return
        end local 3 // org.hsqldb.types.Type dataType
        end local 2 // int type
        end local 1 // org.hsqldb.HsqlNameManager$HsqlName name
        end local 0 // org.hsqldb.types.UserTypeModifier this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lorg/hsqldb/types/UserTypeModifier;
            0    7     1      name  Lorg/hsqldb/HsqlNameManager$HsqlName;
            0    7     2      type  I
            0    7     3  dataType  Lorg/hsqldb/types/Type;
    MethodParameters:
          Name  Flags
      name      
      type      
      dataType  

  public int schemaObjectType();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hsqldb.types.UserTypeModifier this
         0: .line 68
            aload 0 /* this */
            getfield org.hsqldb.types.UserTypeModifier.schemaObjectType:I
            ireturn
        end local 0 // org.hsqldb.types.UserTypeModifier this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/types/UserTypeModifier;

  public void addConstraint(org.hsqldb.Constraint);
    descriptor: (Lorg/hsqldb/Constraint;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.hsqldb.types.UserTypeModifier this
        start local 1 // org.hsqldb.Constraint c
         0: .line 73
            aload 0 /* this */
            getfield org.hsqldb.types.UserTypeModifier.constraints:[Lorg/hsqldb/Constraint;
            arraylength
            istore 2 /* position */
        start local 2 // int position
         1: .line 75
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hsqldb.types.UserTypeModifier.constraints:[Lorg/hsqldb/Constraint;
         2: .line 76
            iload 2 /* position */
            iconst_1
            iadd
         3: .line 75
            invokestatic org.hsqldb.lib.ArrayUtil.resizeArray:(Ljava/lang/Object;I)Ljava/lang/Object;
            checkcast org.hsqldb.Constraint[]
            putfield org.hsqldb.types.UserTypeModifier.constraints:[Lorg/hsqldb/Constraint;
         4: .line 77
            aload 0 /* this */
            getfield org.hsqldb.types.UserTypeModifier.constraints:[Lorg/hsqldb/Constraint;
            iload 2 /* position */
            aload 1 /* c */
            aastore
         5: .line 79
            aload 0 /* this */
            invokevirtual org.hsqldb.types.UserTypeModifier.setNotNull:()V
         6: .line 80
            return
        end local 2 // int position
        end local 1 // org.hsqldb.Constraint c
        end local 0 // org.hsqldb.types.UserTypeModifier this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lorg/hsqldb/types/UserTypeModifier;
            0    7     1         c  Lorg/hsqldb/Constraint;
            1    7     2  position  I
    MethodParameters:
      Name  Flags
      c     

  public void removeConstraint(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.hsqldb.types.UserTypeModifier this
        start local 1 // java.lang.String name
         0: .line 84
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: goto 10
         2: .line 85
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.types.UserTypeModifier.constraints:[Lorg/hsqldb/Constraint;
            iload 2 /* i */
            aaload
            invokevirtual org.hsqldb.Constraint.getName:()Lorg/hsqldb/HsqlNameManager$HsqlName;
            getfield org.hsqldb.HsqlNameManager$HsqlName.name:Ljava/lang/String;
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 9
         3: .line 86
            aload 0 /* this */
         4: .line 87
            aload 0 /* this */
            getfield org.hsqldb.types.UserTypeModifier.constraints:[Lorg/hsqldb/Constraint;
         5: .line 88
            aconst_null
            iload 2 /* i */
            iconst_m1
         6: .line 87
            invokestatic org.hsqldb.lib.ArrayUtil.toAdjustedArray:(Ljava/lang/Object;Ljava/lang/Object;II)Ljava/lang/Object;
            checkcast org.hsqldb.Constraint[]
         7: .line 86
            putfield org.hsqldb.types.UserTypeModifier.constraints:[Lorg/hsqldb/Constraint;
         8: .line 90
            goto 11
         9: .line 84
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 2 /* i */
            aload 0 /* this */
            getfield org.hsqldb.types.UserTypeModifier.constraints:[Lorg/hsqldb/Constraint;
            arraylength
            if_icmplt 2
        end local 2 // int i
        11: .line 94
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.hsqldb.types.UserTypeModifier.setNotNull:()V
        12: .line 95
            return
        end local 1 // java.lang.String name
        end local 0 // org.hsqldb.types.UserTypeModifier this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Lorg/hsqldb/types/UserTypeModifier;
            0   13     1  name  Ljava/lang/String;
            1   11     2     i  I
    MethodParameters:
      Name  Flags
      name  

  public org.hsqldb.Constraint getConstraint(java.lang.String);
    descriptor: (Ljava/lang/String;)Lorg/hsqldb/Constraint;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.hsqldb.types.UserTypeModifier this
        start local 1 // java.lang.String name
         0: .line 99
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: goto 5
         2: .line 100
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.types.UserTypeModifier.constraints:[Lorg/hsqldb/Constraint;
            iload 2 /* i */
            aaload
            invokevirtual org.hsqldb.Constraint.getName:()Lorg/hsqldb/HsqlNameManager$HsqlName;
            getfield org.hsqldb.HsqlNameManager$HsqlName.name:Ljava/lang/String;
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 101
            aload 0 /* this */
            getfield org.hsqldb.types.UserTypeModifier.constraints:[Lorg/hsqldb/Constraint;
            iload 2 /* i */
            aaload
            areturn
         4: .line 99
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 0 /* this */
            getfield org.hsqldb.types.UserTypeModifier.constraints:[Lorg/hsqldb/Constraint;
            arraylength
            if_icmplt 2
        end local 2 // int i
         6: .line 105
            aconst_null
            areturn
        end local 1 // java.lang.String name
        end local 0 // org.hsqldb.types.UserTypeModifier this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/hsqldb/types/UserTypeModifier;
            0    7     1  name  Ljava/lang/String;
            1    6     2     i  I
    MethodParameters:
      Name  Flags
      name  

  public org.hsqldb.Constraint[] getConstraints();
    descriptor: ()[Lorg/hsqldb/Constraint;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hsqldb.types.UserTypeModifier this
         0: .line 109
            aload 0 /* this */
            getfield org.hsqldb.types.UserTypeModifier.constraints:[Lorg/hsqldb/Constraint;
            areturn
        end local 0 // org.hsqldb.types.UserTypeModifier this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/types/UserTypeModifier;

  public boolean isNullable();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hsqldb.types.UserTypeModifier this
         0: .line 113
            aload 0 /* this */
            getfield org.hsqldb.types.UserTypeModifier.isNullable:Z
            ireturn
        end local 0 // org.hsqldb.types.UserTypeModifier this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/types/UserTypeModifier;

  public org.hsqldb.Expression getDefaultClause();
    descriptor: ()Lorg/hsqldb/Expression;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hsqldb.types.UserTypeModifier this
         0: .line 117
            aload 0 /* this */
            getfield org.hsqldb.types.UserTypeModifier.defaultExpression:Lorg/hsqldb/Expression;
            areturn
        end local 0 // org.hsqldb.types.UserTypeModifier this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/types/UserTypeModifier;

  public void setDefaultClause(org.hsqldb.Expression);
    descriptor: (Lorg/hsqldb/Expression;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hsqldb.types.UserTypeModifier this
        start local 1 // org.hsqldb.Expression defaultExpression
         0: .line 121
            aload 0 /* this */
            aload 1 /* defaultExpression */
            putfield org.hsqldb.types.UserTypeModifier.defaultExpression:Lorg/hsqldb/Expression;
         1: .line 122
            return
        end local 1 // org.hsqldb.Expression defaultExpression
        end local 0 // org.hsqldb.types.UserTypeModifier this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    2     0               this  Lorg/hsqldb/types/UserTypeModifier;
            0    2     1  defaultExpression  Lorg/hsqldb/Expression;
    MethodParameters:
                   Name  Flags
      defaultExpression  

  public void removeDefaultClause();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hsqldb.types.UserTypeModifier this
         0: .line 125
            aload 0 /* this */
            aconst_null
            putfield org.hsqldb.types.UserTypeModifier.defaultExpression:Lorg/hsqldb/Expression;
         1: .line 126
            return
        end local 0 // org.hsqldb.types.UserTypeModifier this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hsqldb/types/UserTypeModifier;

  private void setNotNull();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.hsqldb.types.UserTypeModifier this
         0: .line 130
            aload 0 /* this */
            iconst_1
            putfield org.hsqldb.types.UserTypeModifier.isNullable:Z
         1: .line 132
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         2: goto 6
         3: .line 133
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.types.UserTypeModifier.constraints:[Lorg/hsqldb/Constraint;
            iload 1 /* i */
            aaload
            invokevirtual org.hsqldb.Constraint.isNotNull:()Z
            ifeq 5
         4: .line 134
            aload 0 /* this */
            iconst_0
            putfield org.hsqldb.types.UserTypeModifier.isNullable:Z
         5: .line 132
      StackMap locals:
      StackMap stack:
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 1 /* i */
            aload 0 /* this */
            getfield org.hsqldb.types.UserTypeModifier.constraints:[Lorg/hsqldb/Constraint;
            arraylength
            if_icmplt 3
        end local 1 // int i
         7: .line 137
            return
        end local 0 // org.hsqldb.types.UserTypeModifier this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lorg/hsqldb/types/UserTypeModifier;
            2    7     1     i  I

  public int getType();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hsqldb.types.UserTypeModifier this
         0: .line 141
            aload 0 /* this */
            getfield org.hsqldb.types.UserTypeModifier.schemaObjectType:I
            ireturn
        end local 0 // org.hsqldb.types.UserTypeModifier this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/types/UserTypeModifier;

  public org.hsqldb.HsqlNameManager$HsqlName getName();
    descriptor: ()Lorg/hsqldb/HsqlNameManager$HsqlName;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hsqldb.types.UserTypeModifier this
         0: .line 145
            aload 0 /* this */
            getfield org.hsqldb.types.UserTypeModifier.name:Lorg/hsqldb/HsqlNameManager$HsqlName;
            areturn
        end local 0 // org.hsqldb.types.UserTypeModifier this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/types/UserTypeModifier;

  public org.hsqldb.HsqlNameManager$HsqlName getSchemaName();
    descriptor: ()Lorg/hsqldb/HsqlNameManager$HsqlName;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hsqldb.types.UserTypeModifier this
         0: .line 149
            aload 0 /* this */
            getfield org.hsqldb.types.UserTypeModifier.name:Lorg/hsqldb/HsqlNameManager$HsqlName;
            getfield org.hsqldb.HsqlNameManager$HsqlName.schema:Lorg/hsqldb/HsqlNameManager$HsqlName;
            areturn
        end local 0 // org.hsqldb.types.UserTypeModifier this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/types/UserTypeModifier;

  public org.hsqldb.rights.Grantee getOwner();
    descriptor: ()Lorg/hsqldb/rights/Grantee;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hsqldb.types.UserTypeModifier this
         0: .line 153
            aload 0 /* this */
            getfield org.hsqldb.types.UserTypeModifier.name:Lorg/hsqldb/HsqlNameManager$HsqlName;
            getfield org.hsqldb.HsqlNameManager$HsqlName.schema:Lorg/hsqldb/HsqlNameManager$HsqlName;
            getfield org.hsqldb.HsqlNameManager$HsqlName.owner:Lorg/hsqldb/rights/Grantee;
            areturn
        end local 0 // org.hsqldb.types.UserTypeModifier this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/types/UserTypeModifier;

  public org.hsqldb.lib.OrderedHashSet getReferences();
    descriptor: ()Lorg/hsqldb/lib/OrderedHashSet;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // org.hsqldb.types.UserTypeModifier this
         0: .line 158
            new org.hsqldb.lib.OrderedHashSet
            dup
            invokespecial org.hsqldb.lib.OrderedHashSet.<init>:()V
            astore 1 /* set */
        start local 1 // org.hsqldb.lib.OrderedHashSet set
         1: .line 160
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 7
         3: .line 161
      StackMap locals: org.hsqldb.lib.OrderedHashSet int
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.types.UserTypeModifier.constraints:[Lorg/hsqldb/Constraint;
            iload 2 /* i */
            aaload
            invokevirtual org.hsqldb.Constraint.getReferences:()Lorg/hsqldb/lib/OrderedHashSet;
            astore 3 /* subSet */
        start local 3 // org.hsqldb.lib.OrderedHashSet subSet
         4: .line 163
            aload 3 /* subSet */
            ifnull 6
         5: .line 164
            aload 1 /* set */
            aload 3 /* subSet */
            invokevirtual org.hsqldb.lib.OrderedHashSet.addAll:(Lorg/hsqldb/lib/OrderedHashSet;)V
        end local 3 // org.hsqldb.lib.OrderedHashSet subSet
         6: .line 160
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 2 /* i */
            aload 0 /* this */
            getfield org.hsqldb.types.UserTypeModifier.constraints:[Lorg/hsqldb/Constraint;
            arraylength
            if_icmplt 3
        end local 2 // int i
         8: .line 168
            aload 0 /* this */
            getfield org.hsqldb.types.UserTypeModifier.dataType:Lorg/hsqldb/types/Type;
            invokevirtual org.hsqldb.types.Type.getCollation:()Lorg/hsqldb/types/Collation;
            astore 2 /* collation */
        start local 2 // org.hsqldb.types.Collation collation
         9: .line 170
            aload 2 /* collation */
            ifnull 11
            aload 2 /* collation */
            invokevirtual org.hsqldb.types.Collation.isObjectCollation:()Z
            ifeq 11
        10: .line 171
            aload 1 /* set */
            aload 2 /* collation */
            invokevirtual org.hsqldb.types.Collation.getName:()Lorg/hsqldb/HsqlNameManager$HsqlName;
            invokevirtual org.hsqldb.lib.OrderedHashSet.add:(Ljava/lang/Object;)Z
            pop
        11: .line 174
      StackMap locals: org.hsqldb.types.UserTypeModifier org.hsqldb.lib.OrderedHashSet org.hsqldb.types.Collation
      StackMap stack:
            aload 1 /* set */
            areturn
        end local 2 // org.hsqldb.types.Collation collation
        end local 1 // org.hsqldb.lib.OrderedHashSet set
        end local 0 // org.hsqldb.types.UserTypeModifier this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0       this  Lorg/hsqldb/types/UserTypeModifier;
            1   12     1        set  Lorg/hsqldb/lib/OrderedHashSet;
            2    8     2          i  I
            4    6     3     subSet  Lorg/hsqldb/lib/OrderedHashSet;
            9   12     2  collation  Lorg/hsqldb/types/Collation;

  public final org.hsqldb.lib.OrderedHashSet getComponents();
    descriptor: ()Lorg/hsqldb/lib/OrderedHashSet;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.hsqldb.types.UserTypeModifier this
         0: .line 179
            aload 0 /* this */
            getfield org.hsqldb.types.UserTypeModifier.constraints:[Lorg/hsqldb/Constraint;
            ifnonnull 2
         1: .line 180
            aconst_null
            areturn
         2: .line 183
      StackMap locals:
      StackMap stack:
            new org.hsqldb.lib.OrderedHashSet
            dup
            invokespecial org.hsqldb.lib.OrderedHashSet.<init>:()V
            astore 1 /* set */
        start local 1 // org.hsqldb.lib.OrderedHashSet set
         3: .line 185
            aload 1 /* set */
            aload 0 /* this */
            getfield org.hsqldb.types.UserTypeModifier.constraints:[Lorg/hsqldb/Constraint;
            invokevirtual org.hsqldb.lib.OrderedHashSet.addAll:([Ljava/lang/Object;)Z
            pop
         4: .line 187
            aload 1 /* set */
            areturn
        end local 1 // org.hsqldb.lib.OrderedHashSet set
        end local 0 // org.hsqldb.types.UserTypeModifier this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/hsqldb/types/UserTypeModifier;
            3    5     1   set  Lorg/hsqldb/lib/OrderedHashSet;

  public void compile(org.hsqldb.Session);
    descriptor: (Lorg/hsqldb/Session;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.hsqldb.types.UserTypeModifier this
        start local 1 // org.hsqldb.Session session
         0: .line 192
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: goto 4
         2: .line 193
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.types.UserTypeModifier.constraints:[Lorg/hsqldb/Constraint;
            iload 2 /* i */
            aaload
            aload 1 /* session */
            aconst_null
            invokevirtual org.hsqldb.Constraint.compile:(Lorg/hsqldb/Session;Lorg/hsqldb/SchemaObject;)V
         3: .line 192
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         4: iload 2 /* i */
            aload 0 /* this */
            getfield org.hsqldb.types.UserTypeModifier.constraints:[Lorg/hsqldb/Constraint;
            arraylength
            if_icmplt 2
        end local 2 // int i
         5: .line 195
            return
        end local 1 // org.hsqldb.Session session
        end local 0 // org.hsqldb.types.UserTypeModifier this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/hsqldb/types/UserTypeModifier;
            0    6     1  session  Lorg/hsqldb/Session;
            1    5     2        i  I
    MethodParameters:
         Name  Flags
      session  

  public java.lang.String getSQL();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // org.hsqldb.types.UserTypeModifier this
         0: .line 199
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* sb */
        start local 1 // java.lang.StringBuilder sb
         1: .line 201
            aload 0 /* this */
            getfield org.hsqldb.types.UserTypeModifier.schemaObjectType:I
            bipush 12
            if_icmpne 14
         2: .line 202
            aload 1 /* sb */
            ldc "CREATE"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
         3: .line 203
            ldc "TYPE"
         4: .line 202
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 203
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         6: .line 204
            aload 1 /* sb */
            aload 0 /* this */
            getfield org.hsqldb.types.UserTypeModifier.name:Lorg/hsqldb/HsqlNameManager$HsqlName;
            invokevirtual org.hsqldb.HsqlNameManager$HsqlName.getSchemaQualifiedStatementName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         7: .line 205
            aload 1 /* sb */
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            ldc "AS"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         8: .line 206
            aload 1 /* sb */
            aload 0 /* this */
            getfield org.hsqldb.types.UserTypeModifier.dataType:Lorg/hsqldb/types/Type;
            invokevirtual org.hsqldb.types.Type.getDefinition:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         9: .line 208
            aload 0 /* this */
            getfield org.hsqldb.types.UserTypeModifier.dataType:Lorg/hsqldb/types/Type;
            invokevirtual org.hsqldb.types.Type.isCharacterType:()Z
            ifeq 38
        10: .line 209
            aload 0 /* this */
            getfield org.hsqldb.types.UserTypeModifier.dataType:Lorg/hsqldb/types/Type;
            invokevirtual org.hsqldb.types.Type.getCollation:()Lorg/hsqldb/types/Collation;
            astore 2 /* collation */
        start local 2 // org.hsqldb.types.Collation collation
        11: .line 211
            aload 2 /* collation */
            invokevirtual org.hsqldb.types.Collation.isObjectCollation:()Z
            ifeq 38
        12: .line 212
            aload 1 /* sb */
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 2 /* collation */
            invokevirtual org.hsqldb.types.Collation.getCollateSQL:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 2 // org.hsqldb.types.Collation collation
        13: .line 215
            goto 38
        14: .line 216
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 1 /* sb */
            ldc "CREATE"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
        15: .line 217
            ldc "DOMAIN"
        16: .line 216
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        17: .line 217
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        18: .line 218
            aload 1 /* sb */
            aload 0 /* this */
            getfield org.hsqldb.types.UserTypeModifier.name:Lorg/hsqldb/HsqlNameManager$HsqlName;
            invokevirtual org.hsqldb.HsqlNameManager$HsqlName.getSchemaQualifiedStatementName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        19: .line 219
            aload 1 /* sb */
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            ldc "AS"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        20: .line 220
            aload 1 /* sb */
            aload 0 /* this */
            getfield org.hsqldb.types.UserTypeModifier.dataType:Lorg/hsqldb/types/Type;
            invokevirtual org.hsqldb.types.Type.getDefinition:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        21: .line 222
            aload 0 /* this */
            getfield org.hsqldb.types.UserTypeModifier.dataType:Lorg/hsqldb/types/Type;
            invokevirtual org.hsqldb.types.Type.isCharacterType:()Z
            ifeq 25
        22: .line 223
            aload 0 /* this */
            getfield org.hsqldb.types.UserTypeModifier.dataType:Lorg/hsqldb/types/Type;
            invokevirtual org.hsqldb.types.Type.getCollation:()Lorg/hsqldb/types/Collation;
            astore 2 /* collation */
        start local 2 // org.hsqldb.types.Collation collation
        23: .line 225
            aload 2 /* collation */
            invokevirtual org.hsqldb.types.Collation.isObjectCollation:()Z
            ifeq 25
        24: .line 226
            aload 1 /* sb */
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 2 /* collation */
            invokevirtual org.hsqldb.types.Collation.getCollateSQL:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 2 // org.hsqldb.types.Collation collation
        25: .line 230
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.types.UserTypeModifier.defaultExpression:Lorg/hsqldb/Expression;
            ifnull 28
        26: .line 231
            aload 1 /* sb */
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            ldc "DEFAULT"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        27: .line 232
            aload 1 /* sb */
            aload 0 /* this */
            getfield org.hsqldb.types.UserTypeModifier.defaultExpression:Lorg/hsqldb/Expression;
            invokevirtual org.hsqldb.Expression.getSQL:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        28: .line 235
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* i */
        start local 2 // int i
        29: goto 37
        30: .line 236
      StackMap locals: int
      StackMap stack:
            aload 1 /* sb */
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            ldc "CONSTRAINT"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        31: .line 237
            aload 1 /* sb */
            aload 0 /* this */
            getfield org.hsqldb.types.UserTypeModifier.constraints:[Lorg/hsqldb/Constraint;
            iload 2 /* i */
            aaload
            invokevirtual org.hsqldb.Constraint.getName:()Lorg/hsqldb/HsqlNameManager$HsqlName;
            getfield org.hsqldb.HsqlNameManager$HsqlName.statementName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        32: .line 238
            aload 1 /* sb */
            ldc "CHECK"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 40
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
        33: .line 239
            aload 0 /* this */
            getfield org.hsqldb.types.UserTypeModifier.constraints:[Lorg/hsqldb/Constraint;
            iload 2 /* i */
            aaload
            invokevirtual org.hsqldb.Constraint.getCheckSQL:()Ljava/lang/String;
        34: .line 238
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        35: .line 239
            bipush 41
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        36: .line 235
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        37: iload 2 /* i */
            aload 0 /* this */
            getfield org.hsqldb.types.UserTypeModifier.constraints:[Lorg/hsqldb/Constraint;
            arraylength
            if_icmplt 30
        end local 2 // int i
        38: .line 243
      StackMap locals:
      StackMap stack:
            aload 1 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder sb
        end local 0 // org.hsqldb.types.UserTypeModifier this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   39     0       this  Lorg/hsqldb/types/UserTypeModifier;
            1   39     1         sb  Ljava/lang/StringBuilder;
           11   13     2  collation  Lorg/hsqldb/types/Collation;
           23   25     2  collation  Lorg/hsqldb/types/Collation;
           29   38     2          i  I
}
SourceFile: "UserTypeModifier.java"
InnerClasses:
  public final HsqlName = org.hsqldb.HsqlNameManager$HsqlName of org.hsqldb.HsqlNameManager