public class org.hsqldb.RoutineSchema implements org.hsqldb.SchemaObject
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.hsqldb.RoutineSchema
  super_class: java.lang.Object
{
  static org.hsqldb.RoutineSchema[] emptyArray;
    descriptor: [Lorg/hsqldb/RoutineSchema;
    flags: (0x0008) ACC_STATIC

  org.hsqldb.Routine[] routines;
    descriptor: [Lorg/hsqldb/Routine;
    flags: (0x0000) 

  int routineType;
    descriptor: I
    flags: (0x0000) 

  private org.hsqldb.HsqlNameManager$HsqlName name;
    descriptor: Lorg/hsqldb/HsqlNameManager$HsqlName;
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 54
            iconst_0
            anewarray org.hsqldb.RoutineSchema
            putstatic org.hsqldb.RoutineSchema.emptyArray:[Lorg/hsqldb/RoutineSchema;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(int, org.hsqldb.HsqlNameManager$HsqlName);
    descriptor: (ILorg/hsqldb/HsqlNameManager$HsqlName;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.hsqldb.RoutineSchema this
        start local 1 // int type
        start local 2 // org.hsqldb.HsqlNameManager$HsqlName name
         0: .line 61
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 57
            aload 0 /* this */
            getstatic org.hsqldb.Routine.emptyArray:[Lorg/hsqldb/Routine;
            putfield org.hsqldb.RoutineSchema.routines:[Lorg/hsqldb/Routine;
         2: .line 62
            aload 0 /* this */
            iload 1 /* type */
            putfield org.hsqldb.RoutineSchema.routineType:I
         3: .line 63
            aload 0 /* this */
            aload 2 /* name */
            putfield org.hsqldb.RoutineSchema.name:Lorg/hsqldb/HsqlNameManager$HsqlName;
         4: .line 64
            return
        end local 2 // org.hsqldb.HsqlNameManager$HsqlName name
        end local 1 // int type
        end local 0 // org.hsqldb.RoutineSchema this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lorg/hsqldb/RoutineSchema;
            0    5     1  type  I
            0    5     2  name  Lorg/hsqldb/HsqlNameManager$HsqlName;
    MethodParameters:
      Name  Flags
      type  
      name  

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

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

  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.RoutineSchema this
         0: .line 75
            aload 0 /* this */
            getfield org.hsqldb.RoutineSchema.name:Lorg/hsqldb/HsqlNameManager$HsqlName;
            getfield org.hsqldb.HsqlNameManager$HsqlName.schema:Lorg/hsqldb/HsqlNameManager$HsqlName;
            areturn
        end local 0 // org.hsqldb.RoutineSchema this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/RoutineSchema;

  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.RoutineSchema this
         0: .line 79
            aload 0 /* this */
            getfield org.hsqldb.RoutineSchema.name:Lorg/hsqldb/HsqlNameManager$HsqlName;
            areturn
        end local 0 // org.hsqldb.RoutineSchema this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/RoutineSchema;

  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.RoutineSchema this
         0: .line 83
            aload 0 /* this */
            getfield org.hsqldb.RoutineSchema.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.RoutineSchema this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/RoutineSchema;

  public org.hsqldb.lib.OrderedHashSet getReferences();
    descriptor: ()Lorg/hsqldb/lib/OrderedHashSet;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // org.hsqldb.RoutineSchema this
         0: .line 88
            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 90
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 5
         3: .line 91
      StackMap locals: org.hsqldb.lib.OrderedHashSet int
      StackMap stack:
            aload 1 /* set */
            aload 0 /* this */
            getfield org.hsqldb.RoutineSchema.routines:[Lorg/hsqldb/Routine;
            iload 2 /* i */
            aaload
            invokevirtual org.hsqldb.Routine.getReferences:()Lorg/hsqldb/lib/OrderedHashSet;
            invokevirtual org.hsqldb.lib.OrderedHashSet.addAll:(Lorg/hsqldb/lib/OrderedHashSet;)V
         4: .line 90
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 0 /* this */
            getfield org.hsqldb.RoutineSchema.routines:[Lorg/hsqldb/Routine;
            arraylength
            if_icmplt 3
        end local 2 // int i
         6: .line 94
            aload 1 /* set */
            areturn
        end local 1 // org.hsqldb.lib.OrderedHashSet set
        end local 0 // org.hsqldb.RoutineSchema this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/hsqldb/RoutineSchema;
            1    7     1   set  Lorg/hsqldb/lib/OrderedHashSet;
            2    6     2     i  I

  public org.hsqldb.lib.OrderedHashSet getComponents();
    descriptor: ()Lorg/hsqldb/lib/OrderedHashSet;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.hsqldb.RoutineSchema this
         0: .line 99
            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 101
            aload 1 /* set */
            aload 0 /* this */
            getfield org.hsqldb.RoutineSchema.routines:[Lorg/hsqldb/Routine;
            invokevirtual org.hsqldb.lib.OrderedHashSet.addAll:([Ljava/lang/Object;)Z
            pop
         2: .line 103
            aload 1 /* set */
            areturn
        end local 1 // org.hsqldb.lib.OrderedHashSet set
        end local 0 // org.hsqldb.RoutineSchema this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/hsqldb/RoutineSchema;
            1    3     1   set  Lorg/hsqldb/lib/OrderedHashSet;

  public void compile(org.hsqldb.Session, org.hsqldb.SchemaObject);
    descriptor: (Lorg/hsqldb/Session;Lorg/hsqldb/SchemaObject;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=3, args_size=3
        start local 0 // org.hsqldb.RoutineSchema this
        start local 1 // org.hsqldb.Session session
        start local 2 // org.hsqldb.SchemaObject parentObject
         0: .line 106
            return
        end local 2 // org.hsqldb.SchemaObject parentObject
        end local 1 // org.hsqldb.Session session
        end local 0 // org.hsqldb.RoutineSchema this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lorg/hsqldb/RoutineSchema;
            0    1     1       session  Lorg/hsqldb/Session;
            0    1     2  parentObject  Lorg/hsqldb/SchemaObject;
    MethodParameters:
              Name  Flags
      session       
      parentObject  

  public java.lang.String getSQL();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hsqldb.RoutineSchema this
         0: .line 109
            aconst_null
            areturn
        end local 0 // org.hsqldb.RoutineSchema this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/RoutineSchema;

  public long getChangeTimestamp();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hsqldb.RoutineSchema this
         0: .line 113
            lconst_0
            lreturn
        end local 0 // org.hsqldb.RoutineSchema this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/RoutineSchema;

  public java.lang.String[] getSQLArray();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // org.hsqldb.RoutineSchema this
         0: .line 118
            new org.hsqldb.lib.HsqlArrayList
            dup
            invokespecial org.hsqldb.lib.HsqlArrayList.<init>:()V
            astore 1 /* list */
        start local 1 // org.hsqldb.lib.HsqlArrayList list
         1: .line 120
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 5
         3: .line 121
      StackMap locals: org.hsqldb.lib.HsqlArrayList int
      StackMap stack:
            aload 1 /* list */
            aload 0 /* this */
            getfield org.hsqldb.RoutineSchema.routines:[Lorg/hsqldb/Routine;
            iload 2 /* i */
            aaload
            invokevirtual org.hsqldb.Routine.getSQL:()Ljava/lang/String;
            invokevirtual org.hsqldb.lib.HsqlArrayList.add:(Ljava/lang/Object;)Z
            pop
         4: .line 120
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 0 /* this */
            getfield org.hsqldb.RoutineSchema.routines:[Lorg/hsqldb/Routine;
            arraylength
            if_icmplt 3
        end local 2 // int i
         6: .line 124
            aload 1 /* list */
            invokevirtual org.hsqldb.lib.HsqlArrayList.size:()I
            anewarray java.lang.String
            astore 2 /* array */
        start local 2 // java.lang.String[] array
         7: .line 126
            aload 1 /* list */
            aload 2 /* array */
            invokevirtual org.hsqldb.lib.HsqlArrayList.toArray:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         8: .line 128
            aload 2 /* array */
            areturn
        end local 2 // java.lang.String[] array
        end local 1 // org.hsqldb.lib.HsqlArrayList list
        end local 0 // org.hsqldb.RoutineSchema this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   this  Lorg/hsqldb/RoutineSchema;
            1    9     1   list  Lorg/hsqldb/lib/HsqlArrayList;
            2    6     2      i  I
            7    9     2  array  [Ljava/lang/String;

  public void addSpecificRoutine(org.hsqldb.HsqlNameManager, org.hsqldb.Routine, boolean);
    descriptor: (Lorg/hsqldb/HsqlNameManager;Lorg/hsqldb/Routine;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=9, args_size=4
        start local 0 // org.hsqldb.RoutineSchema this
        start local 1 // org.hsqldb.HsqlNameManager nameManager
        start local 2 // org.hsqldb.Routine routine
        start local 3 // boolean replace
         0: .line 134
            aload 2 /* routine */
            invokevirtual org.hsqldb.Routine.getParameterSignature:()I
            pop
         1: .line 135
            aload 2 /* routine */
            invokevirtual org.hsqldb.Routine.getParameterTypes:()[Lorg/hsqldb/types/Type;
            astore 4 /* types */
        start local 4 // org.hsqldb.types.Type[] types
         2: .line 136
            aload 0 /* this */
            getfield org.hsqldb.RoutineSchema.routines:[Lorg/hsqldb/Routine;
            arraylength
            istore 5 /* matchPosition */
        start local 5 // int matchPosition
         3: .line 138
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         4: goto 26
         5: .line 139
      StackMap locals: org.hsqldb.types.Type[] int int
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.RoutineSchema.routines:[Lorg/hsqldb/Routine;
            iload 6 /* i */
            aaload
            getfield org.hsqldb.Routine.parameterTypes:[Lorg/hsqldb/types/Type;
            arraylength
            aload 4 /* types */
            arraylength
            if_icmpne 25
         6: .line 140
            aload 0 /* this */
            getfield org.hsqldb.RoutineSchema.routineType:I
            bipush 17
            if_icmpne 9
         7: .line 141
            iload 3 /* replace */
            ifne 9
         8: .line 142
            sipush 5605
            invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
            athrow
         9: .line 146
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.RoutineSchema.routines:[Lorg/hsqldb/Routine;
            iload 6 /* i */
            aaload
            invokevirtual org.hsqldb.Routine.isAggregate:()Z
            aload 2 /* routine */
            invokevirtual org.hsqldb.Routine.isAggregate:()Z
            if_icmpeq 11
        10: .line 147
            sipush 5605
            invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
            athrow
        11: .line 150
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 7 /* match */
        start local 7 // boolean match
        12: .line 152
            iconst_0
            istore 8 /* j */
        start local 8 // int j
        13: goto 18
        14: .line 153
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.RoutineSchema.routines:[Lorg/hsqldb/Routine;
            iload 6 /* i */
            aaload
            getfield org.hsqldb.Routine.parameterTypes:[Lorg/hsqldb/types/Type;
            iload 8 /* j */
            aaload
            aload 4 /* types */
            iload 8 /* j */
            aaload
            invokevirtual org.hsqldb.types.Type.equals:(Ljava/lang/Object;)Z
            ifne 17
        15: .line 154
            iconst_0
            istore 7 /* match */
        16: .line 156
            goto 19
        17: .line 152
      StackMap locals:
      StackMap stack:
            iinc 8 /* j */ 1
      StackMap locals:
      StackMap stack:
        18: iload 8 /* j */
            aload 4 /* types */
            arraylength
            if_icmplt 14
        end local 8 // int j
        19: .line 160
      StackMap locals:
      StackMap stack:
            iload 7 /* match */
            ifeq 25
        20: .line 161
            iload 3 /* replace */
            ifeq 24
        21: .line 162
            aload 2 /* routine */
            aload 0 /* this */
            getfield org.hsqldb.RoutineSchema.routines:[Lorg/hsqldb/Routine;
            iload 6 /* i */
            aaload
            invokevirtual org.hsqldb.Routine.getSpecificName:()Lorg/hsqldb/HsqlNameManager$HsqlName;
            invokevirtual org.hsqldb.Routine.setSpecificName:(Lorg/hsqldb/HsqlNameManager$HsqlName;)V
        22: .line 164
            iload 6 /* i */
            istore 5 /* matchPosition */
        23: .line 166
            goto 27
        24: .line 168
      StackMap locals:
      StackMap stack:
            sipush 5605
            invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
            athrow
        end local 7 // boolean match
        25: .line 138
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        26: iload 6 /* i */
            aload 0 /* this */
            getfield org.hsqldb.RoutineSchema.routines:[Lorg/hsqldb/Routine;
            arraylength
            if_icmplt 5
        end local 6 // int i
        27: .line 174
      StackMap locals:
      StackMap stack:
            aload 2 /* routine */
            invokevirtual org.hsqldb.Routine.getSpecificName:()Lorg/hsqldb/HsqlNameManager$HsqlName;
            ifnonnull 31
        28: .line 175
            aload 1 /* nameManager */
            aload 0 /* this */
            getfield org.hsqldb.RoutineSchema.name:Lorg/hsqldb/HsqlNameManager$HsqlName;
            invokevirtual org.hsqldb.HsqlNameManager.newSpecificRoutineName:(Lorg/hsqldb/HsqlNameManager$HsqlName;)Lorg/hsqldb/HsqlNameManager$HsqlName;
            astore 6 /* specificName */
        start local 6 // org.hsqldb.HsqlNameManager$HsqlName specificName
        29: .line 177
            aload 2 /* routine */
            aload 6 /* specificName */
            invokevirtual org.hsqldb.Routine.setSpecificName:(Lorg/hsqldb/HsqlNameManager$HsqlName;)V
        end local 6 // org.hsqldb.HsqlNameManager$HsqlName specificName
        30: .line 178
            goto 33
        31: .line 179
      StackMap locals:
      StackMap stack:
            aload 2 /* routine */
            invokevirtual org.hsqldb.Routine.getSpecificName:()Lorg/hsqldb/HsqlNameManager$HsqlName;
            aload 0 /* this */
            getfield org.hsqldb.RoutineSchema.name:Lorg/hsqldb/HsqlNameManager$HsqlName;
            putfield org.hsqldb.HsqlNameManager$HsqlName.parent:Lorg/hsqldb/HsqlNameManager$HsqlName;
        32: .line 180
            aload 2 /* routine */
            invokevirtual org.hsqldb.Routine.getSpecificName:()Lorg/hsqldb/HsqlNameManager$HsqlName;
            aload 0 /* this */
            getfield org.hsqldb.RoutineSchema.name:Lorg/hsqldb/HsqlNameManager$HsqlName;
            getfield org.hsqldb.HsqlNameManager$HsqlName.schema:Lorg/hsqldb/HsqlNameManager$HsqlName;
            putfield org.hsqldb.HsqlNameManager$HsqlName.schema:Lorg/hsqldb/HsqlNameManager$HsqlName;
        33: .line 183
      StackMap locals:
      StackMap stack:
            aload 2 /* routine */
            aload 0 /* this */
            getfield org.hsqldb.RoutineSchema.name:Lorg/hsqldb/HsqlNameManager$HsqlName;
            invokevirtual org.hsqldb.Routine.setName:(Lorg/hsqldb/HsqlNameManager$HsqlName;)V
        34: .line 185
            aload 2 /* routine */
            aload 0 /* this */
            putfield org.hsqldb.Routine.routineSchema:Lorg/hsqldb/RoutineSchema;
        35: .line 187
            iload 5 /* matchPosition */
            aload 0 /* this */
            getfield org.hsqldb.RoutineSchema.routines:[Lorg/hsqldb/Routine;
            arraylength
            if_icmpne 39
        36: .line 188
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hsqldb.RoutineSchema.routines:[Lorg/hsqldb/Routine;
        37: .line 189
            aload 0 /* this */
            getfield org.hsqldb.RoutineSchema.routines:[Lorg/hsqldb/Routine;
            arraylength
            iconst_1
            iadd
        38: .line 188
            invokestatic org.hsqldb.lib.ArrayUtil.resizeArray:(Ljava/lang/Object;I)Ljava/lang/Object;
            checkcast org.hsqldb.Routine[]
            putfield org.hsqldb.RoutineSchema.routines:[Lorg/hsqldb/Routine;
        39: .line 192
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.RoutineSchema.routines:[Lorg/hsqldb/Routine;
            iload 5 /* matchPosition */
            aload 2 /* routine */
            aastore
        40: .line 193
            return
        end local 5 // int matchPosition
        end local 4 // org.hsqldb.types.Type[] types
        end local 3 // boolean replace
        end local 2 // org.hsqldb.Routine routine
        end local 1 // org.hsqldb.HsqlNameManager nameManager
        end local 0 // org.hsqldb.RoutineSchema this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   41     0           this  Lorg/hsqldb/RoutineSchema;
            0   41     1    nameManager  Lorg/hsqldb/HsqlNameManager;
            0   41     2        routine  Lorg/hsqldb/Routine;
            0   41     3        replace  Z
            2   41     4          types  [Lorg/hsqldb/types/Type;
            3   41     5  matchPosition  I
            4   27     6              i  I
           12   25     7          match  Z
           13   19     8              j  I
           29   30     6   specificName  Lorg/hsqldb/HsqlNameManager$HsqlName;
    MethodParameters:
             Name  Flags
      nameManager  
      routine      
      replace      

  public void removeSpecificRoutine(org.hsqldb.Routine);
    descriptor: (Lorg/hsqldb/Routine;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.hsqldb.RoutineSchema this
        start local 1 // org.hsqldb.Routine routine
         0: .line 197
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: goto 8
         2: .line 198
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.RoutineSchema.routines:[Lorg/hsqldb/Routine;
            iload 2 /* i */
            aaload
            aload 1 /* routine */
            if_acmpne 7
         3: .line 199
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hsqldb.RoutineSchema.routines:[Lorg/hsqldb/Routine;
         4: .line 200
            aconst_null
            iload 2 /* i */
            iconst_m1
         5: .line 199
            invokestatic org.hsqldb.lib.ArrayUtil.toAdjustedArray:(Ljava/lang/Object;Ljava/lang/Object;II)Ljava/lang/Object;
            checkcast org.hsqldb.Routine[]
            putfield org.hsqldb.RoutineSchema.routines:[Lorg/hsqldb/Routine;
         6: .line 202
            goto 9
         7: .line 197
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 2 /* i */
            aload 0 /* this */
            getfield org.hsqldb.RoutineSchema.routines:[Lorg/hsqldb/Routine;
            arraylength
            if_icmplt 2
        end local 2 // int i
         9: .line 205
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.hsqldb.Routine routine
        end local 0 // org.hsqldb.RoutineSchema this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Lorg/hsqldb/RoutineSchema;
            0   10     1  routine  Lorg/hsqldb/Routine;
            1    9     2        i  I
    MethodParameters:
         Name  Flags
      routine  

  public org.hsqldb.Routine[] getSpecificRoutines();
    descriptor: ()[Lorg/hsqldb/Routine;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hsqldb.RoutineSchema this
         0: .line 208
            aload 0 /* this */
            getfield org.hsqldb.RoutineSchema.routines:[Lorg/hsqldb/Routine;
            areturn
        end local 0 // org.hsqldb.RoutineSchema this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/RoutineSchema;

  public org.hsqldb.Routine getSpecificRoutine(org.hsqldb.types.Type[]);
    descriptor: ([Lorg/hsqldb/types/Type;)Lorg/hsqldb/Routine;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // org.hsqldb.RoutineSchema this
        start local 1 // org.hsqldb.types.Type[] types
         0: .line 213
            aload 0 /* this */
            aload 1 /* types */
            invokevirtual org.hsqldb.RoutineSchema.findSpecificRoutine:([Lorg/hsqldb/types/Type;)Lorg/hsqldb/Routine;
            astore 2 /* routine */
        start local 2 // org.hsqldb.Routine routine
         1: .line 215
            aload 2 /* routine */
            ifnonnull 14
         2: .line 216
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 3 /* sb */
        start local 3 // java.lang.StringBuilder sb
         3: .line 218
            aload 3 /* sb */
            aload 0 /* this */
            getfield org.hsqldb.RoutineSchema.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
         4: .line 219
            aload 3 /* sb */
            ldc "("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         5: .line 221
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         6: goto 11
         7: .line 222
      StackMap locals: org.hsqldb.Routine java.lang.StringBuilder int
      StackMap stack:
            iload 4 /* i */
            ifeq 9
         8: .line 223
            aload 3 /* sb */
            ldc ","
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         9: .line 226
      StackMap locals:
      StackMap stack:
            aload 3 /* sb */
            aload 1 /* types */
            iload 4 /* i */
            aaload
            invokevirtual org.hsqldb.types.Type.getNameString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        10: .line 221
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 4 /* i */
            aload 1 /* types */
            arraylength
            if_icmplt 7
        end local 4 // int i
        12: .line 229
            aload 3 /* sb */
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        13: .line 231
            sipush 5609
            aload 3 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.hsqldb.error.Error.error:(ILjava/lang/String;)Lorg/hsqldb/HsqlException;
            athrow
        end local 3 // java.lang.StringBuilder sb
        14: .line 234
      StackMap locals:
      StackMap stack:
            aload 2 /* routine */
            areturn
        end local 2 // org.hsqldb.Routine routine
        end local 1 // org.hsqldb.types.Type[] types
        end local 0 // org.hsqldb.RoutineSchema this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   15     0     this  Lorg/hsqldb/RoutineSchema;
            0   15     1    types  [Lorg/hsqldb/types/Type;
            1   15     2  routine  Lorg/hsqldb/Routine;
            3   14     3       sb  Ljava/lang/StringBuilder;
            6   12     4        i  I
    MethodParameters:
       Name  Flags
      types  

  public org.hsqldb.Routine findSpecificRoutine(org.hsqldb.types.Type[]);
    descriptor: ([Lorg/hsqldb/types/Type;)Lorg/hsqldb/Routine;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=8, args_size=2
        start local 0 // org.hsqldb.RoutineSchema this
        start local 1 // org.hsqldb.types.Type[] types
         0: .line 239
            iconst_m1
            istore 2 /* matchIndex */
        start local 2 // int matchIndex
         1: .line 242
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 68
         3: .line 243
      StackMap locals: int int
      StackMap stack:
            iconst_0
            istore 4 /* matchCount */
        start local 4 // int matchCount
         4: .line 245
            aload 0 /* this */
            getfield org.hsqldb.RoutineSchema.routines:[Lorg/hsqldb/Routine;
            iload 3 /* i */
            aaload
            invokevirtual org.hsqldb.Routine.isAggregate:()Z
            ifeq 29
         5: .line 246
            aload 1 /* types */
            arraylength
            iconst_1
            if_icmpne 29
         6: .line 247
            aload 1 /* types */
            iconst_0
            aaload
            ifnonnull 8
         7: .line 248
            aload 0 /* this */
            getfield org.hsqldb.RoutineSchema.routines:[Lorg/hsqldb/Routine;
            iload 3 /* i */
            aaload
            areturn
         8: .line 251
      StackMap locals: int
      StackMap stack:
            aload 1 /* types */
            iconst_0
            aaload
         9: .line 252
            aload 0 /* this */
            getfield org.hsqldb.RoutineSchema.routines:[Lorg/hsqldb/Routine;
            iload 3 /* i */
            aaload
            getfield org.hsqldb.Routine.parameterTypes:[Lorg/hsqldb/types/Type;
            iconst_0
            aaload
        10: .line 251
            invokevirtual org.hsqldb.types.Type.precedenceDegree:(Lorg/hsqldb/types/Type;)I
            istore 5 /* typeDifference */
        start local 5 // int typeDifference
        11: .line 254
            iload 5 /* typeDifference */
            bipush -128
            if_icmpge 25
        12: .line 255
            iload 2 /* matchIndex */
            iconst_m1
            if_icmpne 14
        13: .line 256
            goto 67
        14: .line 259
      StackMap locals: int
      StackMap stack:
            aload 1 /* types */
            iconst_0
            aaload
        15: .line 260
            aload 0 /* this */
            getfield org.hsqldb.RoutineSchema.routines:[Lorg/hsqldb/Routine;
            iload 2 /* matchIndex */
            aaload
            getfield org.hsqldb.Routine.parameterTypes:[Lorg/hsqldb/types/Type;
            iconst_0
            aaload
        16: .line 259
            invokevirtual org.hsqldb.types.Type.precedenceDegree:(Lorg/hsqldb/types/Type;)I
            istore 6 /* oldDiff */
        start local 6 // int oldDiff
        17: .line 261
            aload 1 /* types */
            iconst_0
            aaload
        18: .line 262
            aload 0 /* this */
            getfield org.hsqldb.RoutineSchema.routines:[Lorg/hsqldb/Routine;
            iload 3 /* i */
            aaload
            getfield org.hsqldb.Routine.parameterTypes:[Lorg/hsqldb/types/Type;
            iconst_0
            aaload
        19: .line 261
            invokevirtual org.hsqldb.types.Type.precedenceDegree:(Lorg/hsqldb/types/Type;)I
            istore 7 /* newDiff */
        start local 7 // int newDiff
        20: .line 264
            iload 6 /* oldDiff */
            iload 7 /* newDiff */
            if_icmpne 22
        21: .line 265
            goto 67
        22: .line 268
      StackMap locals: int int
      StackMap stack:
            iload 7 /* newDiff */
            iload 6 /* oldDiff */
            if_icmpge 67
        23: .line 269
            iload 3 /* i */
            istore 2 /* matchIndex */
        24: .line 272
            goto 67
        end local 7 // int newDiff
        end local 6 // int oldDiff
        25: .line 273
      StackMap locals:
      StackMap stack:
            iload 5 /* typeDifference */
            ifne 27
        26: .line 274
            aload 0 /* this */
            getfield org.hsqldb.RoutineSchema.routines:[Lorg/hsqldb/Routine;
            iload 3 /* i */
            aaload
            areturn
        27: .line 276
      StackMap locals:
      StackMap stack:
            iload 3 /* i */
            istore 2 /* matchIndex */
        28: .line 278
            goto 67
        end local 5 // int typeDifference
        29: .line 285
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.RoutineSchema.routines:[Lorg/hsqldb/Routine;
            iload 3 /* i */
            aaload
            getfield org.hsqldb.Routine.parameterTypes:[Lorg/hsqldb/types/Type;
            arraylength
            aload 1 /* types */
            arraylength
            if_icmpeq 31
        30: .line 286
            goto 67
        31: .line 289
      StackMap locals:
      StackMap stack:
            aload 1 /* types */
            arraylength
            ifne 33
        32: .line 290
            aload 0 /* this */
            getfield org.hsqldb.RoutineSchema.routines:[Lorg/hsqldb/Routine;
            iload 3 /* i */
            aaload
            areturn
        33: .line 293
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* j */
        start local 5 // int j
        34: goto 45
        35: .line 297
      StackMap locals: int
      StackMap stack:
            aload 1 /* types */
            iload 5 /* j */
            aaload
            ifnonnull 37
        36: .line 298
            goto 44
        37: .line 302
      StackMap locals:
      StackMap stack:
            aload 1 /* types */
            iload 5 /* j */
            aaload
            aload 0 /* this */
            getfield org.hsqldb.RoutineSchema.routines:[Lorg/hsqldb/Routine;
            iload 3 /* i */
            aaload
            getfield org.hsqldb.Routine.parameterTypes:[Lorg/hsqldb/types/Type;
            iload 5 /* j */
            aaload
            invokevirtual org.hsqldb.types.Type.precedenceDegree:(Lorg/hsqldb/types/Type;)I
        38: .line 301
            istore 6 /* typeDifference */
        start local 6 // int typeDifference
        39: .line 304
            iload 6 /* typeDifference */
            bipush -128
            if_icmpge 41
        40: .line 307
            goto 67
        41: .line 308
      StackMap locals: int
      StackMap stack:
            iload 6 /* typeDifference */
            ifne 44
        42: .line 309
            iload 4 /* matchCount */
            iload 5 /* j */
            if_icmpne 44
        43: .line 310
            iload 5 /* j */
            iconst_1
            iadd
            istore 4 /* matchCount */
        end local 6 // int typeDifference
        44: .line 293
      StackMap locals:
      StackMap stack:
            iinc 5 /* j */ 1
      StackMap locals:
      StackMap stack:
        45: iload 5 /* j */
            aload 1 /* types */
            arraylength
            if_icmplt 35
        end local 5 // int j
        46: .line 315
            iload 4 /* matchCount */
            aload 1 /* types */
            arraylength
            if_icmpne 48
        47: .line 316
            aload 0 /* this */
            getfield org.hsqldb.RoutineSchema.routines:[Lorg/hsqldb/Routine;
            iload 3 /* i */
            aaload
            areturn
        48: .line 319
      StackMap locals:
      StackMap stack:
            iload 2 /* matchIndex */
            iconst_m1
            if_icmpne 51
        49: .line 320
            iload 3 /* i */
            istore 2 /* matchIndex */
        50: .line 322
            goto 67
        51: .line 325
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* j */
        start local 5 // int j
        52: goto 66
        53: .line 326
      StackMap locals: int
      StackMap stack:
            aload 1 /* types */
            iload 5 /* j */
            aaload
            ifnonnull 55
        54: .line 327
            goto 65
        55: .line 330
      StackMap locals:
      StackMap stack:
            aload 1 /* types */
            iload 5 /* j */
            aaload
        56: .line 331
            aload 0 /* this */
            getfield org.hsqldb.RoutineSchema.routines:[Lorg/hsqldb/Routine;
            iload 2 /* matchIndex */
            aaload
            getfield org.hsqldb.Routine.parameterTypes:[Lorg/hsqldb/types/Type;
            iload 5 /* j */
            aaload
        57: .line 330
            invokevirtual org.hsqldb.types.Type.precedenceDegree:(Lorg/hsqldb/types/Type;)I
            istore 6 /* oldDiff */
        start local 6 // int oldDiff
        58: .line 333
            aload 1 /* types */
            iload 5 /* j */
            aaload
            aload 0 /* this */
            getfield org.hsqldb.RoutineSchema.routines:[Lorg/hsqldb/Routine;
            iload 3 /* i */
            aaload
            getfield org.hsqldb.Routine.parameterTypes:[Lorg/hsqldb/types/Type;
            iload 5 /* j */
            aaload
            invokevirtual org.hsqldb.types.Type.precedenceDegree:(Lorg/hsqldb/types/Type;)I
        59: .line 332
            istore 7 /* newDiff */
        start local 7 // int newDiff
        60: .line 335
            iload 6 /* oldDiff */
            iload 7 /* newDiff */
            if_icmpne 62
        61: .line 336
            goto 65
        62: .line 339
      StackMap locals: int int
      StackMap stack:
            iload 7 /* newDiff */
            iload 6 /* oldDiff */
            if_icmpge 67
        63: .line 340
            iload 3 /* i */
            istore 2 /* matchIndex */
        64: .line 343
            goto 67
        end local 7 // int newDiff
        end local 6 // int oldDiff
        65: .line 325
      StackMap locals:
      StackMap stack:
            iinc 5 /* j */ 1
      StackMap locals:
      StackMap stack:
        66: iload 5 /* j */
            aload 1 /* types */
            arraylength
            if_icmplt 53
        end local 5 // int j
        end local 4 // int matchCount
        67: .line 242
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        68: iload 3 /* i */
            aload 0 /* this */
            getfield org.hsqldb.RoutineSchema.routines:[Lorg/hsqldb/Routine;
            arraylength
            if_icmplt 3
        end local 3 // int i
        69: .line 347
            iload 2 /* matchIndex */
            ifge 70
            aconst_null
            goto 71
        70: .line 348
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.RoutineSchema.routines:[Lorg/hsqldb/Routine;
            iload 2 /* matchIndex */
            aaload
        71: .line 347
      StackMap locals:
      StackMap stack: org.hsqldb.Routine
            areturn
        end local 2 // int matchIndex
        end local 1 // org.hsqldb.types.Type[] types
        end local 0 // org.hsqldb.RoutineSchema this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   72     0            this  Lorg/hsqldb/RoutineSchema;
            0   72     1           types  [Lorg/hsqldb/types/Type;
            1   72     2      matchIndex  I
            2   69     3               i  I
            4   67     4      matchCount  I
           11   29     5  typeDifference  I
           17   25     6         oldDiff  I
           20   25     7         newDiff  I
           34   46     5               j  I
           39   44     6  typeDifference  I
           52   67     5               j  I
           58   65     6         oldDiff  I
           60   65     7         newDiff  I
    MethodParameters:
       Name  Flags
      types  

  public org.hsqldb.Routine getSpecificRoutine(int);
    descriptor: (I)Lorg/hsqldb/Routine;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.hsqldb.RoutineSchema this
        start local 1 // int paramCount
         0: .line 353
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: goto 5
         2: .line 354
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.RoutineSchema.routines:[Lorg/hsqldb/Routine;
            iload 2 /* i */
            aaload
            getfield org.hsqldb.Routine.parameterTypes:[Lorg/hsqldb/types/Type;
            arraylength
            iload 1 /* paramCount */
            if_icmpne 4
         3: .line 355
            aload 0 /* this */
            getfield org.hsqldb.RoutineSchema.routines:[Lorg/hsqldb/Routine;
            iload 2 /* i */
            aaload
            areturn
         4: .line 353
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 2 /* i */
            aload 0 /* this */
            getfield org.hsqldb.RoutineSchema.routines:[Lorg/hsqldb/Routine;
            arraylength
            if_icmplt 2
        end local 2 // int i
         6: .line 359
            sipush 5501
            invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
            athrow
        end local 1 // int paramCount
        end local 0 // org.hsqldb.RoutineSchema this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lorg/hsqldb/RoutineSchema;
            0    7     1  paramCount  I
            1    6     2           i  I
    MethodParameters:
            Name  Flags
      paramCount  

  public boolean isAggregate();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hsqldb.RoutineSchema this
         0: .line 363
            aload 0 /* this */
            getfield org.hsqldb.RoutineSchema.routines:[Lorg/hsqldb/Routine;
            iconst_0
            aaload
            getfield org.hsqldb.Routine.isAggregate:Z
            ireturn
        end local 0 // org.hsqldb.RoutineSchema this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/RoutineSchema;
}
SourceFile: "RoutineSchema.java"
InnerClasses:
  public final HsqlName = org.hsqldb.HsqlNameManager$HsqlName of org.hsqldb.HsqlNameManager