public class org.hsqldb.Routine implements org.hsqldb.SchemaObject, org.hsqldb.RangeGroup, java.lang.Cloneable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.hsqldb.Routine
  super_class: java.lang.Object
{
  public static final int NO_SQL;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int CONTAINS_SQL;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  public static final int READS_SQL;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  public static final int MODIFIES_SQL;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  public static final int LANGUAGE_JAVA;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int LANGUAGE_SQL;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  public static final int PARAM_STYLE_JAVA;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int PARAM_STYLE_SQL;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  static final org.hsqldb.Routine[] emptyArray;
    descriptor: [Lorg/hsqldb/Routine;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  org.hsqldb.RoutineSchema routineSchema;
    descriptor: Lorg/hsqldb/RoutineSchema;
    flags: (0x0000) 

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

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

  org.hsqldb.types.Type[] parameterTypes;
    descriptor: [Lorg/hsqldb/types/Type;
    flags: (0x0000) 

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

  org.hsqldb.types.Type returnType;
    descriptor: Lorg/hsqldb/types/Type;
    flags: (0x0000) 

  org.hsqldb.Table returnTable;
    descriptor: Lorg/hsqldb/Table;
    flags: (0x0000) 

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

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

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

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

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

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

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

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

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

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

  org.hsqldb.Statement statement;
    descriptor: Lorg/hsqldb/Statement;
    flags: (0x0000) 

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

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

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

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

  java.lang.reflect.Method javaMethod;
    descriptor: Ljava/lang/reflect/Method;
    flags: (0x0000) 

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

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

  org.hsqldb.lib.HashMappedList parameterList;
    descriptor: Lorg/hsqldb/lib/HashMappedList;
    flags: (0x0000) 

  org.hsqldb.RangeVariable[] ranges;
    descriptor: [Lorg/hsqldb/RangeVariable;
    flags: (0x0000) 

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

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

  org.hsqldb.lib.OrderedHashSet references;
    descriptor: Lorg/hsqldb/lib/OrderedHashSet;
    flags: (0x0000) 

  org.hsqldb.Table triggerTable;
    descriptor: Lorg/hsqldb/Table;
    flags: (0x0000) 

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

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

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

  public void <init>(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=2, args_size=2
        start local 0 // org.hsqldb.Routine this
        start local 1 // int type
         0: .line 129
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 91
            aload 0 /* this */
            iconst_2
            putfield org.hsqldb.Routine.language:I
         2: .line 92
            aload 0 /* this */
            iconst_2
            putfield org.hsqldb.Routine.dataImpact:I
         3: .line 96
            aload 0 /* this */
            iconst_1
            putfield org.hsqldb.Routine.isNewSavepointLevel:Z
         4: .line 97
            aload 0 /* this */
            iconst_0
            putfield org.hsqldb.Routine.maxDynamicResults:I
         5: .line 114
            aload 0 /* this */
            new org.hsqldb.lib.HashMappedList
            dup
            invokespecial org.hsqldb.lib.HashMappedList.<init>:()V
            putfield org.hsqldb.Routine.parameterList:Lorg/hsqldb/lib/HashMappedList;
         6: .line 115
            aload 0 /* this */
            getstatic org.hsqldb.RangeVariable.emptyArray:[Lorg/hsqldb/RangeVariable;
            putfield org.hsqldb.Routine.ranges:[Lorg/hsqldb/RangeVariable;
         7: .line 131
            aload 0 /* this */
            iload 1 /* type */
            putfield org.hsqldb.Routine.routineType:I
         8: .line 132
            aload 0 /* this */
            getstatic org.hsqldb.types.Type.SQL_ALL_TYPES:Lorg/hsqldb/types/Type;
            putfield org.hsqldb.Routine.returnType:Lorg/hsqldb/types/Type;
         9: .line 133
            aload 0 /* this */
            iconst_1
            anewarray org.hsqldb.RangeVariable
            dup
            iconst_0
        10: .line 134
            new org.hsqldb.RangeVariable
            dup
            aload 0 /* this */
            getfield org.hsqldb.Routine.parameterList:Lorg/hsqldb/lib/HashMappedList;
            aconst_null
            iconst_0
        11: .line 135
            iconst_3
        12: .line 134
            invokespecial org.hsqldb.RangeVariable.<init>:(Lorg/hsqldb/lib/HashMappedList;Lorg/hsqldb/HsqlNameManager$SimpleName;ZI)V
            aastore
        13: .line 133
            putfield org.hsqldb.Routine.ranges:[Lorg/hsqldb/RangeVariable;
        14: .line 136
            return
        end local 1 // int type
        end local 0 // org.hsqldb.Routine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   15     0  this  Lorg/hsqldb/Routine;
            0   15     1  type  I
    MethodParameters:
      Name  Flags
      type  

  public void <init>(org.hsqldb.Table, org.hsqldb.RangeVariable[], int, int, int);
    descriptor: (Lorg/hsqldb/Table;[Lorg/hsqldb/RangeVariable;III)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=6
        start local 0 // org.hsqldb.Routine this
        start local 1 // org.hsqldb.Table table
        start local 2 // org.hsqldb.RangeVariable[] ranges
        start local 3 // int impact
        start local 4 // int triggerType
        start local 5 // int operationType
         0: .line 138
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 91
            aload 0 /* this */
            iconst_2
            putfield org.hsqldb.Routine.language:I
         2: .line 92
            aload 0 /* this */
            iconst_2
            putfield org.hsqldb.Routine.dataImpact:I
         3: .line 96
            aload 0 /* this */
            iconst_1
            putfield org.hsqldb.Routine.isNewSavepointLevel:Z
         4: .line 97
            aload 0 /* this */
            iconst_0
            putfield org.hsqldb.Routine.maxDynamicResults:I
         5: .line 114
            aload 0 /* this */
            new org.hsqldb.lib.HashMappedList
            dup
            invokespecial org.hsqldb.lib.HashMappedList.<init>:()V
            putfield org.hsqldb.Routine.parameterList:Lorg/hsqldb/lib/HashMappedList;
         6: .line 115
            aload 0 /* this */
            getstatic org.hsqldb.RangeVariable.emptyArray:[Lorg/hsqldb/RangeVariable;
            putfield org.hsqldb.Routine.ranges:[Lorg/hsqldb/RangeVariable;
         7: .line 141
            aload 0 /* this */
            bipush 8
            putfield org.hsqldb.Routine.routineType:I
         8: .line 142
            aload 0 /* this */
            getstatic org.hsqldb.types.Type.SQL_ALL_TYPES:Lorg/hsqldb/types/Type;
            putfield org.hsqldb.Routine.returnType:Lorg/hsqldb/types/Type;
         9: .line 143
            aload 0 /* this */
            iload 3 /* impact */
            putfield org.hsqldb.Routine.dataImpact:I
        10: .line 144
            aload 0 /* this */
            aload 2 /* ranges */
            putfield org.hsqldb.Routine.ranges:[Lorg/hsqldb/RangeVariable;
        11: .line 145
            aload 0 /* this */
            aload 1 /* table */
            putfield org.hsqldb.Routine.triggerTable:Lorg/hsqldb/Table;
        12: .line 146
            aload 0 /* this */
            iload 4 /* triggerType */
            putfield org.hsqldb.Routine.triggerType:I
        13: .line 147
            aload 0 /* this */
            iload 5 /* operationType */
            putfield org.hsqldb.Routine.triggerOperation:I
        14: .line 148
            return
        end local 5 // int operationType
        end local 4 // int triggerType
        end local 3 // int impact
        end local 2 // org.hsqldb.RangeVariable[] ranges
        end local 1 // org.hsqldb.Table table
        end local 0 // org.hsqldb.Routine this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   15     0           this  Lorg/hsqldb/Routine;
            0   15     1          table  Lorg/hsqldb/Table;
            0   15     2         ranges  [Lorg/hsqldb/RangeVariable;
            0   15     3         impact  I
            0   15     4    triggerType  I
            0   15     5  operationType  I
    MethodParameters:
               Name  Flags
      table          
      ranges         
      impact         
      triggerType    
      operationType  

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

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

  public org.hsqldb.HsqlNameManager$HsqlName getSchemaName();
    descriptor: ()Lorg/hsqldb/HsqlNameManager$HsqlName;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hsqldb.Routine this
         0: .line 160
            aload 0 /* this */
            getfield org.hsqldb.Routine.routineType:I
            bipush 8
            if_icmpne 2
         1: .line 161
            aload 0 /* this */
            getfield org.hsqldb.Routine.triggerTable:Lorg/hsqldb/Table;
            invokevirtual org.hsqldb.Table.getSchemaName:()Lorg/hsqldb/HsqlNameManager$HsqlName;
            areturn
         2: .line 164
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.Routine.name:Lorg/hsqldb/HsqlNameManager$HsqlName;
            getfield org.hsqldb.HsqlNameManager$HsqlName.schema:Lorg/hsqldb/HsqlNameManager$HsqlName;
            areturn
        end local 0 // org.hsqldb.Routine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/hsqldb/Routine;

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

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

  public org.hsqldb.lib.OrderedHashSet getReferences();
    descriptor: ()Lorg/hsqldb/lib/OrderedHashSet;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hsqldb.Routine this
         0: .line 176
            aload 0 /* this */
            getfield org.hsqldb.Routine.references:Lorg/hsqldb/lib/OrderedHashSet;
            areturn
        end local 0 // org.hsqldb.Routine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/Routine;

  public org.hsqldb.lib.OrderedHashSet getComponents();
    descriptor: ()Lorg/hsqldb/lib/OrderedHashSet;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hsqldb.Routine this
         0: .line 180
            aconst_null
            areturn
        end local 0 // org.hsqldb.Routine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/Routine;

  public void compile(org.hsqldb.Session, org.hsqldb.SchemaObject);
    descriptor: (Lorg/hsqldb/Session;Lorg/hsqldb/SchemaObject;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=8, args_size=3
        start local 0 // org.hsqldb.Routine this
        start local 1 // org.hsqldb.Session session
        start local 2 // org.hsqldb.SchemaObject parentObject
         0: .line 185
            new org.hsqldb.ParserRoutine
            dup
            aload 1 /* session */
         1: .line 186
            new org.hsqldb.Scanner
            dup
            aload 1 /* session */
         2: .line 187
            aload 0 /* this */
            getfield org.hsqldb.Routine.statement:Lorg/hsqldb/Statement;
            invokevirtual org.hsqldb.Statement.getSQL:()Ljava/lang/String;
         3: .line 186
            invokespecial org.hsqldb.Scanner.<init>:(Lorg/hsqldb/Session;Ljava/lang/String;)V
         4: .line 185
            invokespecial org.hsqldb.ParserRoutine.<init>:(Lorg/hsqldb/Session;Lorg/hsqldb/Scanner;)V
            astore 3 /* p */
        start local 3 // org.hsqldb.ParserRoutine p
         5: .line 189
            aload 1 /* session */
            getfield org.hsqldb.Session.sessionContext:Lorg/hsqldb/SessionContext;
            invokevirtual org.hsqldb.SessionContext.pushRoutineTables:()V
         6: .line 192
            aload 3 /* p */
            invokevirtual org.hsqldb.ParserRoutine.read:()V
         7: .line 193
            aload 3 /* p */
            invokevirtual org.hsqldb.ParserRoutine.startRecording:()V
         8: .line 195
            aload 3 /* p */
            aload 0 /* this */
         9: .line 196
            aconst_null
        10: .line 195
            invokevirtual org.hsqldb.ParserRoutine.compileSQLProcedureStatementOrNull:(Lorg/hsqldb/Routine;Lorg/hsqldb/StatementCompound;)Lorg/hsqldb/Statement;
            astore 4 /* newStatement */
        start local 4 // org.hsqldb.Statement newStatement
        11: .line 197
            aload 3 /* p */
            invokevirtual org.hsqldb.ParserRoutine.getRecordedStatement:()[Lorg/hsqldb/Token;
            astore 5 /* tokenisedStatement */
        start local 5 // org.hsqldb.Token[] tokenisedStatement
        12: .line 198
            aload 5 /* tokenisedStatement */
            invokestatic org.hsqldb.Token.getSQL:([Lorg/hsqldb/Token;)Ljava/lang/String;
            astore 6 /* sql */
        start local 6 // java.lang.String sql
        13: .line 200
            aload 4 /* newStatement */
            aload 6 /* sql */
            invokevirtual org.hsqldb.Statement.setSQL:(Ljava/lang/String;)V
        14: .line 201
            aload 0 /* this */
            aload 4 /* newStatement */
            invokevirtual org.hsqldb.Routine.setProcedure:(Lorg/hsqldb/Statement;)V
        15: .line 202
            aload 0 /* this */
            aload 1 /* session */
            invokevirtual org.hsqldb.Routine.resolve:(Lorg/hsqldb/Session;)V
        end local 6 // java.lang.String sql
        end local 5 // org.hsqldb.Token[] tokenisedStatement
        end local 4 // org.hsqldb.Statement newStatement
        16: .line 203
            goto 20
      StackMap locals: org.hsqldb.Routine org.hsqldb.Session org.hsqldb.SchemaObject org.hsqldb.ParserRoutine
      StackMap stack: java.lang.Throwable
        17: astore 7
        18: .line 204
            aload 1 /* session */
            getfield org.hsqldb.Session.sessionContext:Lorg/hsqldb/SessionContext;
            invokevirtual org.hsqldb.SessionContext.popRoutineTables:()V
        19: .line 205
            aload 7
            athrow
        20: .line 204
      StackMap locals:
      StackMap stack:
            aload 1 /* session */
            getfield org.hsqldb.Session.sessionContext:Lorg/hsqldb/SessionContext;
            invokevirtual org.hsqldb.SessionContext.popRoutineTables:()V
        21: .line 206
            return
        end local 3 // org.hsqldb.ParserRoutine p
        end local 2 // org.hsqldb.SchemaObject parentObject
        end local 1 // org.hsqldb.Session session
        end local 0 // org.hsqldb.Routine this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   22     0                this  Lorg/hsqldb/Routine;
            0   22     1             session  Lorg/hsqldb/Session;
            0   22     2        parentObject  Lorg/hsqldb/SchemaObject;
            5   22     3                   p  Lorg/hsqldb/ParserRoutine;
           11   16     4        newStatement  Lorg/hsqldb/Statement;
           12   16     5  tokenisedStatement  [Lorg/hsqldb/Token;
           13   16     6                 sql  Ljava/lang/String;
      Exception table:
        from    to  target  type
           6    17      17  any
    MethodParameters:
              Name  Flags
      session       
      parentObject  

  public java.lang.String getSQL();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hsqldb.Routine this
         0: .line 209
            aload 0 /* this */
            iconst_1
            invokevirtual org.hsqldb.Routine.getDefinitionSQL:(Z)Ljava/lang/String;
            areturn
        end local 0 // org.hsqldb.Routine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/Routine;

  public java.lang.String getSQLAlter();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.hsqldb.Routine this
         0: .line 214
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* sb */
        start local 1 // java.lang.StringBuilder sb
         1: .line 216
            aload 1 /* sb */
            ldc "ALTER"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            ldc "SPECIFIC"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         2: .line 217
            aload 1 /* sb */
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            ldc "ROUTINE"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         3: .line 218
            aload 1 /* sb */
            aload 0 /* this */
            getfield org.hsqldb.Routine.specificName: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 1 /* sb */
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            ldc "BODY"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         5: .line 220
            aload 1 /* sb */
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.hsqldb.Routine.statement:Lorg/hsqldb/Statement;
            invokevirtual org.hsqldb.Statement.getSQL:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 222
            aload 1 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder sb
        end local 0 // org.hsqldb.Routine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/hsqldb/Routine;
            1    7     1    sb  Ljava/lang/StringBuilder;

  public java.lang.String getSQLDeclaration();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hsqldb.Routine this
         0: .line 226
            aload 0 /* this */
            iconst_0
            invokevirtual org.hsqldb.Routine.getDefinitionSQL:(Z)Ljava/lang/String;
            areturn
        end local 0 // org.hsqldb.Routine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/Routine;

  private java.lang.String getDefinitionSQL(boolean);
    descriptor: (Z)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // org.hsqldb.Routine this
        start local 1 // boolean withBody
         0: .line 231
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* sb */
        start local 2 // java.lang.StringBuilder sb
         1: .line 233
            aload 2 /* 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;
            pop
         2: .line 235
            aload 0 /* this */
            getfield org.hsqldb.Routine.isAggregate:Z
            ifeq 4
         3: .line 236
            aload 2 /* sb */
            ldc "AGGREGATE"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         4: .line 239
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.Routine.routineType:I
            bipush 17
            if_icmpne 7
         5: .line 240
            aload 2 /* sb */
            ldc "PROCEDURE"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 241
            goto 8
         7: .line 242
      StackMap locals:
      StackMap stack:
            aload 2 /* sb */
            ldc "FUNCTION"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         8: .line 245
      StackMap locals:
      StackMap stack:
            aload 2 /* sb */
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         9: .line 246
            aload 2 /* sb */
            aload 0 /* this */
            getfield org.hsqldb.Routine.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
        10: .line 247
            aload 2 /* sb */
            bipush 40
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        11: .line 249
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        12: goto 18
        13: .line 250
      StackMap locals: int
      StackMap stack:
            iload 3 /* i */
            ifle 15
        14: .line 251
            aload 2 /* sb */
            bipush 44
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        15: .line 254
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.Routine.parameterList:Lorg/hsqldb/lib/HashMappedList;
            iload 3 /* i */
            invokevirtual org.hsqldb.lib.HashMappedList.get:(I)Ljava/lang/Object;
            checkcast org.hsqldb.ColumnSchema
            astore 4 /* param */
        start local 4 // org.hsqldb.ColumnSchema param
        16: .line 257
            aload 2 /* sb */
            aload 4 /* param */
            invokevirtual org.hsqldb.ColumnSchema.getSQL:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 4 // org.hsqldb.ColumnSchema param
        17: .line 249
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        18: iload 3 /* i */
            aload 0 /* this */
            getfield org.hsqldb.Routine.parameterList:Lorg/hsqldb/lib/HashMappedList;
            invokevirtual org.hsqldb.lib.HashMappedList.size:()I
            if_icmplt 13
        end local 3 // int i
        19: .line 260
            aload 2 /* sb */
            bipush 41
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        20: .line 261
            aload 2 /* sb */
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        21: .line 263
            aload 0 /* this */
            getfield org.hsqldb.Routine.routineType:I
            bipush 16
            if_icmpne 30
        22: .line 264
            aload 2 /* sb */
            ldc "RETURNS"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        23: .line 265
            aload 2 /* sb */
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        24: .line 267
            aload 0 /* this */
            getfield org.hsqldb.Routine.returnsTable:Z
            ifeq 28
        25: .line 268
            aload 2 /* sb */
            ldc "TABLE"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        26: .line 269
            aload 2 /* sb */
            aload 0 /* this */
            getfield org.hsqldb.Routine.returnTable:Lorg/hsqldb/Table;
            invokevirtual org.hsqldb.Table.getColumnListWithTypeSQL:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        27: .line 270
            goto 29
        28: .line 271
      StackMap locals:
      StackMap stack:
            aload 2 /* sb */
            aload 0 /* this */
            getfield org.hsqldb.Routine.returnType:Lorg/hsqldb/types/Type;
            invokevirtual org.hsqldb.types.Type.getTypeDefinition:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        29: .line 274
      StackMap locals:
      StackMap stack:
            aload 2 /* sb */
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        30: .line 278
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.Routine.specificName:Lorg/hsqldb/HsqlNameManager$HsqlName;
            ifnull 35
        31: .line 279
            aload 2 /* sb */
            ldc "SPECIFIC"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        32: .line 280
            aload 2 /* sb */
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        33: .line 281
            aload 2 /* sb */
            aload 0 /* this */
            getfield org.hsqldb.Routine.specificName:Lorg/hsqldb/HsqlNameManager$HsqlName;
            invokevirtual org.hsqldb.HsqlNameManager$HsqlName.getStatementName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        34: .line 282
            aload 2 /* sb */
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        35: .line 286
      StackMap locals:
      StackMap stack:
            aload 2 /* sb */
            ldc "LANGUAGE"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        36: .line 287
            aload 2 /* sb */
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        37: .line 289
            aload 0 /* this */
            getfield org.hsqldb.Routine.language:I
            iconst_1
            if_icmpne 40
        38: .line 290
            aload 2 /* sb */
            ldc "JAVA"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        39: .line 291
            goto 41
        40: .line 292
      StackMap locals:
      StackMap stack:
            aload 2 /* sb */
            ldc "SQL"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        41: .line 295
      StackMap locals:
      StackMap stack:
            aload 2 /* sb */
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        42: .line 298
            aload 0 /* this */
            getfield org.hsqldb.Routine.isDeterministic:Z
            ifne 45
        43: .line 299
            aload 2 /* sb */
            ldc "NOT"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        44: .line 300
            aload 2 /* sb */
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        45: .line 303
      StackMap locals:
      StackMap stack:
            aload 2 /* sb */
            ldc "DETERMINISTIC"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        46: .line 304
            aload 2 /* sb */
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        47: .line 307
            aload 2 /* sb */
            aload 0 /* this */
            invokevirtual org.hsqldb.Routine.getDataImpactString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        48: .line 308
            aload 2 /* sb */
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        49: .line 311
            aload 0 /* this */
            getfield org.hsqldb.Routine.routineType:I
            bipush 16
            if_icmpne 58
        50: .line 312
            aload 0 /* this */
            getfield org.hsqldb.Routine.isNullInputOutput:Z
            ifeq 53
        51: .line 313
            aload 2 /* sb */
            ldc "RETURNS"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            ldc "NULL"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        52: .line 314
            goto 54
        53: .line 315
      StackMap locals:
      StackMap stack:
            aload 2 /* sb */
            ldc "CALLED"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        54: .line 318
      StackMap locals:
      StackMap stack:
            aload 2 /* sb */
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            ldc "ON"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        55: .line 319
            aload 2 /* sb */
            ldc "NULL"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            ldc "INPUT"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        56: .line 320
            aload 2 /* sb */
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        57: .line 321
            goto 68
        58: .line 322
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.Routine.isNewSavepointLevel:Z
            ifeq 61
        59: .line 323
            aload 2 /* sb */
            ldc "NEW"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        60: .line 324
            goto 62
        61: .line 325
      StackMap locals:
      StackMap stack:
            aload 2 /* sb */
            ldc "OLD"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        62: .line 328
      StackMap locals:
      StackMap stack:
            aload 2 /* sb */
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            ldc "SAVEPOINT"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        63: .line 329
            aload 2 /* sb */
            ldc "LEVEL"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        64: .line 331
            aload 0 /* this */
            getfield org.hsqldb.Routine.maxDynamicResults:I
            ifeq 68
        65: .line 332
            aload 2 /* sb */
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            ldc "DYNAMIC"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        66: .line 333
            aload 2 /* sb */
            ldc "RESULT"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            ldc "SETS"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        67: .line 334
            aload 2 /* sb */
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.hsqldb.Routine.maxDynamicResults:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        68: .line 338
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.Routine.language:I
            iconst_1
            if_icmpne 72
        69: .line 339
            aload 2 /* sb */
            ldc "EXTERNAL"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            ldc "NAME"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        70: .line 340
            aload 2 /* sb */
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            bipush 39
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.hsqldb.Routine.methodName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 39
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        71: .line 341
            goto 78
        72: .line 342
      StackMap locals:
      StackMap stack:
            iload 1 /* withBody */
            ifeq 75
        73: .line 343
            aload 2 /* sb */
            aload 0 /* this */
            getfield org.hsqldb.Routine.statement:Lorg/hsqldb/Statement;
            invokevirtual org.hsqldb.Statement.getSQL:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        74: .line 344
            goto 78
        75: .line 345
      StackMap locals:
      StackMap stack:
            aload 2 /* sb */
            ldc "SIGNAL"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        76: .line 346
            aload 2 /* sb */
            ldc "SQLSTATE"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        77: .line 347
            aload 2 /* sb */
            bipush 39
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            ldc "45000"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 39
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        78: .line 351
      StackMap locals:
      StackMap stack:
            aload 2 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.StringBuilder sb
        end local 1 // boolean withBody
        end local 0 // org.hsqldb.Routine this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   79     0      this  Lorg/hsqldb/Routine;
            0   79     1  withBody  Z
            1   79     2        sb  Ljava/lang/StringBuilder;
           12   19     3         i  I
           16   17     4     param  Lorg/hsqldb/ColumnSchema;
    MethodParameters:
          Name  Flags
      withBody  

  public java.lang.String getSQLBodyDefinition();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.hsqldb.Routine this
         0: .line 356
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* sb */
        start local 1 // java.lang.StringBuilder sb
         1: .line 358
            aload 0 /* this */
            getfield org.hsqldb.Routine.language:I
            iconst_1
            if_icmpne 5
         2: .line 359
            aload 1 /* sb */
            ldc "EXTERNAL"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            ldc "NAME"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         3: .line 360
            aload 1 /* sb */
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            bipush 39
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield org.hsqldb.Routine.methodName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 39
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         4: .line 361
            goto 6
         5: .line 362
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 1 /* sb */
            aload 0 /* this */
            getfield org.hsqldb.Routine.statement:Lorg/hsqldb/Statement;
            invokevirtual org.hsqldb.Statement.getSQL:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 365
      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.Routine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/hsqldb/Routine;
            1    7     1    sb  Ljava/lang/StringBuilder;

  public java.lang.String getExternalName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hsqldb.Routine this
         0: .line 370
            aload 0 /* this */
            getfield org.hsqldb.Routine.language:I
            iconst_1
            if_icmpne 2
         1: .line 371
            aload 0 /* this */
            getfield org.hsqldb.Routine.methodName:Ljava/lang/String;
            areturn
         2: .line 373
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // org.hsqldb.Routine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/hsqldb/Routine;

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

  public void addParameter(org.hsqldb.ColumnSchema);
    descriptor: (Lorg/hsqldb/ColumnSchema;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.hsqldb.Routine this
        start local 1 // org.hsqldb.ColumnSchema param
         0: .line 383
            aload 1 /* param */
            invokevirtual org.hsqldb.ColumnSchema.getName:()Lorg/hsqldb/HsqlNameManager$HsqlName;
            astore 2 /* name */
        start local 2 // org.hsqldb.HsqlNameManager$HsqlName name
         1: .line 385
            aload 2 /* name */
            ifnonnull 3
         2: .line 386
            aload 0 /* this */
            getfield org.hsqldb.Routine.parameterList:Lorg/hsqldb/lib/HashMappedList;
            invokevirtual org.hsqldb.lib.HashMappedList.size:()I
            invokestatic org.hsqldb.HsqlNameManager.getAutoNoNameColumnString:(I)Ljava/lang/String;
            goto 4
         3: .line 387
      StackMap locals: org.hsqldb.HsqlNameManager$HsqlName
      StackMap stack:
            aload 2 /* name */
            getfield org.hsqldb.HsqlNameManager$HsqlName.name:Ljava/lang/String;
         4: .line 384
      StackMap locals:
      StackMap stack: java.lang.String
            astore 3 /* paramName */
        start local 3 // java.lang.String paramName
         5: .line 389
            aload 0 /* this */
            getfield org.hsqldb.Routine.parameterList:Lorg/hsqldb/lib/HashMappedList;
            aload 3 /* paramName */
            aload 1 /* param */
            invokevirtual org.hsqldb.lib.HashMappedList.add:(Ljava/lang/Object;Ljava/lang/Object;)Z
            pop
         6: .line 390
            return
        end local 3 // java.lang.String paramName
        end local 2 // org.hsqldb.HsqlNameManager$HsqlName name
        end local 1 // org.hsqldb.ColumnSchema param
        end local 0 // org.hsqldb.Routine this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Lorg/hsqldb/Routine;
            0    7     1      param  Lorg/hsqldb/ColumnSchema;
            1    7     2       name  Lorg/hsqldb/HsqlNameManager$HsqlName;
            5    7     3  paramName  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      param  

  public void setLanguage(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hsqldb.Routine this
        start local 1 // int lang
         0: .line 393
            aload 0 /* this */
            iload 1 /* lang */
            putfield org.hsqldb.Routine.language:I
         1: .line 394
            return
        end local 1 // int lang
        end local 0 // org.hsqldb.Routine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hsqldb/Routine;
            0    2     1  lang  I
    MethodParameters:
      Name  Flags
      lang  

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

  boolean isPSM();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hsqldb.Routine this
         0: .line 401
            aload 0 /* this */
            getfield org.hsqldb.Routine.language:I
            iconst_2
            if_icmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.hsqldb.Routine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hsqldb/Routine;

  public void setDataImpact(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hsqldb.Routine this
        start local 1 // int impact
         0: .line 405
            aload 0 /* this */
            iload 1 /* impact */
            putfield org.hsqldb.Routine.dataImpact:I
         1: .line 406
            return
        end local 1 // int impact
        end local 0 // org.hsqldb.Routine this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/hsqldb/Routine;
            0    2     1  impact  I
    MethodParameters:
        Name  Flags
      impact  

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

  public java.lang.String getDataImpactString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.hsqldb.Routine this
         0: .line 414
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* sb */
        start local 1 // java.lang.StringBuilder sb
         1: .line 416
            aload 0 /* this */
            getfield org.hsqldb.Routine.dataImpact:I
            tableswitch { // 1 - 4
                    1: 2
                    2: 4
                    3: 6
                    4: 11
              default: 15
          }
         2: .line 419
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 1 /* sb */
            ldc "NO"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            ldc "SQL"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         3: .line 420
            goto 15
         4: .line 423
      StackMap locals:
      StackMap stack:
            aload 1 /* sb */
            ldc "CONTAINS"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            ldc "SQL"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         5: .line 424
            goto 15
         6: .line 427
      StackMap locals:
      StackMap stack:
            aload 1 /* sb */
            ldc "READS"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
         7: .line 428
            ldc "SQL"
         8: .line 427
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         9: .line 428
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            ldc "DATA"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        10: .line 429
            goto 15
        11: .line 432
      StackMap locals:
      StackMap stack:
            aload 1 /* sb */
            ldc "MODIFIES"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
        12: .line 433
            ldc "SQL"
        13: .line 432
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        14: .line 433
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            ldc "DATA"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        15: .line 437
      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.Routine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   16     0  this  Lorg/hsqldb/Routine;
            1   16     1    sb  Ljava/lang/StringBuilder;

  public void setReturnType(org.hsqldb.types.Type);
    descriptor: (Lorg/hsqldb/types/Type;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hsqldb.Routine this
        start local 1 // org.hsqldb.types.Type type
         0: .line 441
            aload 0 /* this */
            aload 1 /* type */
            putfield org.hsqldb.Routine.returnType:Lorg/hsqldb/types/Type;
         1: .line 442
            return
        end local 1 // org.hsqldb.types.Type type
        end local 0 // org.hsqldb.Routine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hsqldb/Routine;
            0    2     1  type  Lorg/hsqldb/types/Type;
    MethodParameters:
      Name  Flags
      type  

  public org.hsqldb.types.Type getReturnType();
    descriptor: ()Lorg/hsqldb/types/Type;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hsqldb.Routine this
         0: .line 445
            aload 0 /* this */
            getfield org.hsqldb.Routine.returnType:Lorg/hsqldb/types/Type;
            areturn
        end local 0 // org.hsqldb.Routine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/Routine;

  public org.hsqldb.Table getTable();
    descriptor: ()Lorg/hsqldb/Table;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hsqldb.Routine this
         0: .line 449
            aload 0 /* this */
            getfield org.hsqldb.Routine.returnTable:Lorg/hsqldb/Table;
            areturn
        end local 0 // org.hsqldb.Routine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/Routine;

  public void setProcedure(org.hsqldb.Statement);
    descriptor: (Lorg/hsqldb/Statement;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hsqldb.Routine this
        start local 1 // org.hsqldb.Statement statement
         0: .line 453
            aload 0 /* this */
            aload 1 /* statement */
            putfield org.hsqldb.Routine.statement:Lorg/hsqldb/Statement;
         1: .line 454
            return
        end local 1 // org.hsqldb.Statement statement
        end local 0 // org.hsqldb.Routine this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lorg/hsqldb/Routine;
            0    2     1  statement  Lorg/hsqldb/Statement;
    MethodParameters:
           Name  Flags
      statement  

  public org.hsqldb.Statement getProcedure();
    descriptor: ()Lorg/hsqldb/Statement;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hsqldb.Routine this
         0: .line 457
            aload 0 /* this */
            getfield org.hsqldb.Routine.statement:Lorg/hsqldb/Statement;
            areturn
        end local 0 // org.hsqldb.Routine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/Routine;

  public void setSpecificName(org.hsqldb.HsqlNameManager$HsqlName);
    descriptor: (Lorg/hsqldb/HsqlNameManager$HsqlName;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hsqldb.Routine this
        start local 1 // org.hsqldb.HsqlNameManager$HsqlName name
         0: .line 461
            aload 0 /* this */
            aload 1 /* name */
            putfield org.hsqldb.Routine.specificName:Lorg/hsqldb/HsqlNameManager$HsqlName;
         1: .line 462
            return
        end local 1 // org.hsqldb.HsqlNameManager$HsqlName name
        end local 0 // org.hsqldb.Routine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hsqldb/Routine;
            0    2     1  name  Lorg/hsqldb/HsqlNameManager$HsqlName;
    MethodParameters:
      Name  Flags
      name  

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

  public void setName(org.hsqldb.HsqlNameManager$HsqlName);
    descriptor: (Lorg/hsqldb/HsqlNameManager$HsqlName;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hsqldb.Routine this
        start local 1 // org.hsqldb.HsqlNameManager$HsqlName name
         0: .line 469
            aload 0 /* this */
            aload 1 /* name */
            putfield org.hsqldb.Routine.name:Lorg/hsqldb/HsqlNameManager$HsqlName;
         1: .line 470
            return
        end local 1 // org.hsqldb.HsqlNameManager$HsqlName name
        end local 0 // org.hsqldb.Routine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hsqldb/Routine;
            0    2     1  name  Lorg/hsqldb/HsqlNameManager$HsqlName;
    MethodParameters:
      Name  Flags
      name  

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

  public void setDeterministic(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hsqldb.Routine this
        start local 1 // boolean value
         0: .line 477
            aload 0 /* this */
            iload 1 /* value */
            putfield org.hsqldb.Routine.isDeterministic:Z
         1: .line 478
            return
        end local 1 // boolean value
        end local 0 // org.hsqldb.Routine this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/hsqldb/Routine;
            0    2     1  value  Z
    MethodParameters:
       Name  Flags
      value  

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

  public void setNullInputOutput(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hsqldb.Routine this
        start local 1 // boolean value
         0: .line 485
            aload 0 /* this */
            iload 1 /* value */
            putfield org.hsqldb.Routine.isNullInputOutput:Z
         1: .line 486
            return
        end local 1 // boolean value
        end local 0 // org.hsqldb.Routine this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/hsqldb/Routine;
            0    2     1  value  Z
    MethodParameters:
       Name  Flags
      value  

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

  public void setNewSavepointLevel(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hsqldb.Routine this
        start local 1 // boolean value
         0: .line 493
            aload 0 /* this */
            iload 1 /* value */
            putfield org.hsqldb.Routine.isNewSavepointLevel:Z
         1: .line 494
            return
        end local 1 // boolean value
        end local 0 // org.hsqldb.Routine this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/hsqldb/Routine;
            0    2     1  value  Z
    MethodParameters:
       Name  Flags
      value  

  public void setMaxDynamicResults(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hsqldb.Routine this
        start local 1 // int value
         0: .line 497
            aload 0 /* this */
            iload 1 /* value */
            putfield org.hsqldb.Routine.maxDynamicResults:I
         1: .line 498
            return
        end local 1 // int value
        end local 0 // org.hsqldb.Routine this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/hsqldb/Routine;
            0    2     1  value  I
    MethodParameters:
       Name  Flags
      value  

  public void setParameterStyle(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hsqldb.Routine this
        start local 1 // int style
         0: .line 501
            aload 0 /* this */
            iload 1 /* style */
            putfield org.hsqldb.Routine.parameterStyle:I
         1: .line 502
            return
        end local 1 // int style
        end local 0 // org.hsqldb.Routine this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lorg/hsqldb/Routine;
            0    2     1  style  I
    MethodParameters:
       Name  Flags
      style  

  public void setMethodURL(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hsqldb.Routine this
        start local 1 // java.lang.String url
         0: .line 505
            aload 0 /* this */
            aload 1 /* url */
            putfield org.hsqldb.Routine.methodName:Ljava/lang/String;
         1: .line 506
            return
        end local 1 // java.lang.String url
        end local 0 // org.hsqldb.Routine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hsqldb/Routine;
            0    2     1   url  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      url   

  public java.lang.reflect.Method getMethod();
    descriptor: ()Ljava/lang/reflect/Method;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hsqldb.Routine this
         0: .line 509
            aload 0 /* this */
            getfield org.hsqldb.Routine.javaMethod:Ljava/lang/reflect/Method;
            areturn
        end local 0 // org.hsqldb.Routine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/Routine;

  public void setMethod(java.lang.reflect.Method);
    descriptor: (Ljava/lang/reflect/Method;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hsqldb.Routine this
        start local 1 // java.lang.reflect.Method method
         0: .line 513
            aload 0 /* this */
            aload 1 /* method */
            putfield org.hsqldb.Routine.javaMethod:Ljava/lang/reflect/Method;
         1: .line 514
            return
        end local 1 // java.lang.reflect.Method method
        end local 0 // org.hsqldb.Routine this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/hsqldb/Routine;
            0    2     1  method  Ljava/lang/reflect/Method;
    MethodParameters:
        Name  Flags
      method  

  public void setReturnTable(org.hsqldb.TableDerived);
    descriptor: (Lorg/hsqldb/TableDerived;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // org.hsqldb.Routine this
        start local 1 // org.hsqldb.TableDerived table
         0: .line 518
            aload 0 /* this */
            aload 1 /* table */
            putfield org.hsqldb.Routine.returnTable:Lorg/hsqldb/Table;
         1: .line 519
            aload 0 /* this */
            iconst_1
            putfield org.hsqldb.Routine.returnsTable:Z
         2: .line 521
            aload 1 /* table */
            invokevirtual org.hsqldb.TableDerived.getColumnCount:()I
            anewarray org.hsqldb.HsqlNameManager$SimpleName
            pop
         3: .line 522
            aload 1 /* table */
            invokevirtual org.hsqldb.TableDerived.getColumnTypes:()[Lorg/hsqldb/types/Type;
            astore 2 /* types */
        start local 2 // org.hsqldb.types.Type[] types
         4: .line 524
            aload 0 /* this */
            new org.hsqldb.types.RowType
            dup
            aload 2 /* types */
            invokespecial org.hsqldb.types.RowType.<init>:([Lorg/hsqldb/types/Type;)V
            putfield org.hsqldb.Routine.returnType:Lorg/hsqldb/types/Type;
         5: .line 525
            return
        end local 2 // org.hsqldb.types.Type[] types
        end local 1 // org.hsqldb.TableDerived table
        end local 0 // org.hsqldb.Routine this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lorg/hsqldb/Routine;
            0    6     1  table  Lorg/hsqldb/TableDerived;
            4    6     2  types  [Lorg/hsqldb/types/Type;
    MethodParameters:
       Name  Flags
      table  

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

  public void setAggregate(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hsqldb.Routine this
        start local 1 // boolean isAggregate
         0: .line 532
            aload 0 /* this */
            iload 1 /* isAggregate */
            putfield org.hsqldb.Routine.isAggregate:Z
         1: .line 533
            return
        end local 1 // boolean isAggregate
        end local 0 // org.hsqldb.Routine this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lorg/hsqldb/Routine;
            0    2     1  isAggregate  Z
    MethodParameters:
             Name  Flags
      isAggregate  

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

  public void resolve(org.hsqldb.Session);
    descriptor: (Lorg/hsqldb/Session;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // org.hsqldb.Routine this
        start local 1 // org.hsqldb.Session session
         0: .line 541
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hsqldb.Routine.language:I
            invokevirtual org.hsqldb.Routine.setLanguage:(I)V
         1: .line 543
            aload 0 /* this */
            getfield org.hsqldb.Routine.language:I
            iconst_2
            if_icmpne 6
         2: .line 544
            aload 0 /* this */
            getfield org.hsqldb.Routine.dataImpact:I
            iconst_1
            if_icmpne 4
         3: .line 545
            sipush 5604
            ldc "CONTAINS SQL"
            invokestatic org.hsqldb.error.Error.error:(ILjava/lang/String;)Lorg/hsqldb/HsqlException;
            athrow
         4: .line 548
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.Routine.parameterStyle:I
            iconst_1
            if_icmpne 6
         5: .line 549
            sipush 5604
            ldc "PARAMETER STYLE"
            invokestatic org.hsqldb.error.Error.error:(ILjava/lang/String;)Lorg/hsqldb/HsqlException;
            athrow
         6: .line 553
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.Routine.language:I
            iconst_2
            if_icmpne 9
         7: .line 554
            aload 0 /* this */
            getfield org.hsqldb.Routine.parameterStyle:I
            ifeq 9
            aload 0 /* this */
            getfield org.hsqldb.Routine.parameterStyle:I
            iconst_2
            if_icmpeq 9
         8: .line 555
            sipush 5604
            ldc "PARAMETER STYLE"
            invokestatic org.hsqldb.error.Error.error:(ILjava/lang/String;)Lorg/hsqldb/HsqlException;
            athrow
         9: .line 559
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hsqldb.Routine.parameterList:Lorg/hsqldb/lib/HashMappedList;
            invokevirtual org.hsqldb.lib.HashMappedList.size:()I
            anewarray org.hsqldb.types.Type
            putfield org.hsqldb.Routine.parameterTypes:[Lorg/hsqldb/types/Type;
        10: .line 560
            aload 0 /* this */
            iconst_0
            putfield org.hsqldb.Routine.typeGroups:I
        11: .line 562
            iconst_0
            istore 2 /* i */
        start local 2 // int i
        12: goto 23
        13: .line 563
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.Routine.parameterList:Lorg/hsqldb/lib/HashMappedList;
            iload 2 /* i */
            invokevirtual org.hsqldb.lib.HashMappedList.get:(I)Ljava/lang/Object;
            checkcast org.hsqldb.ColumnSchema
            astore 3 /* param */
        start local 3 // org.hsqldb.ColumnSchema param
        14: .line 565
            aload 0 /* this */
            getfield org.hsqldb.Routine.parameterTypes:[Lorg/hsqldb/types/Type;
            iload 2 /* i */
            aload 3 /* param */
            getfield org.hsqldb.ColumnSchema.dataType:Lorg/hsqldb/types/Type;
            aastore
        15: .line 567
            iload 2 /* i */
            iconst_4
            if_icmpge 22
        16: .line 568
            aload 0 /* this */
        17: .line 569
            aload 0 /* this */
            getfield org.hsqldb.Routine.typeGroups:I
        18: .line 570
            aload 3 /* param */
            getfield org.hsqldb.ColumnSchema.dataType:Lorg/hsqldb/types/Type;
            getfield org.hsqldb.types.Type.typeComparisonGroup:I
            i2b
        19: .line 571
            iload 2 /* i */
            bipush 8
            imul
        20: .line 569
            invokestatic org.hsqldb.map.BitMap.setByte:(IBI)I
        21: .line 568
            putfield org.hsqldb.Routine.typeGroups:I
        end local 3 // org.hsqldb.ColumnSchema param
        22: .line 562
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        23: iload 2 /* i */
            aload 0 /* this */
            getfield org.hsqldb.Routine.parameterTypes:[Lorg/hsqldb/types/Type;
            arraylength
            if_icmplt 13
        end local 2 // int i
        24: .line 575
            aload 0 /* this */
            getfield org.hsqldb.Routine.isAggregate:Z
            ifeq 56
        25: .line 576
            aload 0 /* this */
            getfield org.hsqldb.Routine.parameterTypes:[Lorg/hsqldb/types/Type;
            arraylength
            iconst_4
            if_icmpeq 27
        26: .line 577
            sipush 5610
            invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
            athrow
        27: .line 580
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.Routine.parameterTypes:[Lorg/hsqldb/types/Type;
            iconst_1
            aaload
            getfield org.hsqldb.types.Type.typeCode:I
            bipush 16
            if_icmpne 28
            iconst_1
            goto 29
      StackMap locals:
      StackMap stack:
        28: iconst_0
      StackMap locals:
      StackMap stack: int
        29: istore 2 /* check */
        start local 2 // boolean check
        30: .line 583
            aload 0 /* this */
            getfield org.hsqldb.Routine.parameterList:Lorg/hsqldb/lib/HashMappedList;
            iconst_0
            invokevirtual org.hsqldb.lib.HashMappedList.get:(I)Ljava/lang/Object;
            checkcast org.hsqldb.ColumnSchema
            astore 3 /* param */
        start local 3 // org.hsqldb.ColumnSchema param
        31: .line 585
            iload 2 /* check */
            aload 3 /* param */
            invokevirtual org.hsqldb.ColumnSchema.getParameterMode:()B
        32: .line 586
            iconst_1
        33: .line 585
            if_icmpne 34
            iconst_1
            goto 35
      StackMap locals: org.hsqldb.Routine org.hsqldb.Session int org.hsqldb.ColumnSchema
      StackMap stack: int
        34: iconst_0
      StackMap locals: org.hsqldb.Routine org.hsqldb.Session int org.hsqldb.ColumnSchema
      StackMap stack: int int
        35: iand
            istore 2 /* check */
        36: .line 587
            aload 0 /* this */
            getfield org.hsqldb.Routine.parameterList:Lorg/hsqldb/lib/HashMappedList;
            iconst_1
            invokevirtual org.hsqldb.lib.HashMappedList.get:(I)Ljava/lang/Object;
            checkcast org.hsqldb.ColumnSchema
            astore 3 /* param */
        37: .line 588
            iload 2 /* check */
            aload 3 /* param */
            invokevirtual org.hsqldb.ColumnSchema.getParameterMode:()B
        38: .line 589
            iconst_1
        39: .line 588
            if_icmpne 40
            iconst_1
            goto 41
      StackMap locals:
      StackMap stack: int
        40: iconst_0
      StackMap locals: org.hsqldb.Routine org.hsqldb.Session int org.hsqldb.ColumnSchema
      StackMap stack: int int
        41: iand
            istore 2 /* check */
        42: .line 590
            aload 0 /* this */
            getfield org.hsqldb.Routine.parameterList:Lorg/hsqldb/lib/HashMappedList;
            iconst_2
            invokevirtual org.hsqldb.lib.HashMappedList.get:(I)Ljava/lang/Object;
            checkcast org.hsqldb.ColumnSchema
            astore 3 /* param */
        43: .line 591
            iload 2 /* check */
            aload 3 /* param */
            invokevirtual org.hsqldb.ColumnSchema.getParameterMode:()B
        44: .line 592
            iconst_2
        45: .line 591
            if_icmpne 46
            iconst_1
            goto 47
      StackMap locals:
      StackMap stack: int
        46: iconst_0
      StackMap locals: org.hsqldb.Routine org.hsqldb.Session int org.hsqldb.ColumnSchema
      StackMap stack: int int
        47: iand
            istore 2 /* check */
        48: .line 593
            aload 0 /* this */
            getfield org.hsqldb.Routine.parameterList:Lorg/hsqldb/lib/HashMappedList;
            iconst_3
            invokevirtual org.hsqldb.lib.HashMappedList.get:(I)Ljava/lang/Object;
            checkcast org.hsqldb.ColumnSchema
            astore 3 /* param */
        49: .line 594
            iload 2 /* check */
            aload 3 /* param */
            invokevirtual org.hsqldb.ColumnSchema.getParameterMode:()B
        50: .line 595
            iconst_2
        51: .line 594
            if_icmpne 52
            iconst_1
            goto 53
      StackMap locals:
      StackMap stack: int
        52: iconst_0
      StackMap locals: org.hsqldb.Routine org.hsqldb.Session int org.hsqldb.ColumnSchema
      StackMap stack: int int
        53: iand
            istore 2 /* check */
        54: .line 597
            iload 2 /* check */
            ifne 56
        55: .line 598
            sipush 5610
            invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
            athrow
        end local 3 // org.hsqldb.ColumnSchema param
        end local 2 // boolean check
        56: .line 602
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* session */
            invokevirtual org.hsqldb.Routine.resolveReferences:(Lorg/hsqldb/Session;)V
        57: .line 603
            return
        end local 1 // org.hsqldb.Session session
        end local 0 // org.hsqldb.Routine this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   58     0     this  Lorg/hsqldb/Routine;
            0   58     1  session  Lorg/hsqldb/Session;
           12   24     2        i  I
           14   22     3    param  Lorg/hsqldb/ColumnSchema;
           30   56     2    check  Z
           31   56     3    param  Lorg/hsqldb/ColumnSchema;
    MethodParameters:
         Name  Flags
      session  

  void resolveReferences(org.hsqldb.Session);
    descriptor: (Lorg/hsqldb/Session;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // org.hsqldb.Routine this
        start local 1 // org.hsqldb.Session session
         0: .line 607
            aload 0 /* this */
            getfield org.hsqldb.Routine.statement:Lorg/hsqldb/Statement;
            ifnull 3
         1: .line 608
            aload 0 /* this */
            getfield org.hsqldb.Routine.statement:Lorg/hsqldb/Statement;
            aload 1 /* session */
            invokevirtual org.hsqldb.Statement.resolve:(Lorg/hsqldb/Session;)V
         2: .line 609
            aload 0 /* this */
            aload 1 /* session */
            invokevirtual org.hsqldb.Routine.checkSQLData:(Lorg/hsqldb/Session;)V
         3: .line 612
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.Routine.methodName:Ljava/lang/String;
            ifnull 14
            aload 0 /* this */
            getfield org.hsqldb.Routine.javaMethod:Ljava/lang/reflect/Method;
            ifnonnull 14
         4: .line 613
            iconst_1
            newarray 4
            astore 2 /* hasConnection */
        start local 2 // boolean[] hasConnection
         5: .line 615
            aload 0 /* this */
            aload 0 /* this */
            getfield org.hsqldb.Routine.methodName:Ljava/lang/String;
            aload 0 /* this */
            aload 2 /* hasConnection */
         6: .line 616
            aload 0 /* this */
            getfield org.hsqldb.Routine.returnsTable:Z
         7: .line 615
            invokestatic org.hsqldb.Routine.getMethod:(Ljava/lang/String;Lorg/hsqldb/Routine;[ZZ)Ljava/lang/reflect/Method;
            putfield org.hsqldb.Routine.javaMethod:Ljava/lang/reflect/Method;
         8: .line 618
            aload 0 /* this */
            getfield org.hsqldb.Routine.javaMethod:Ljava/lang/reflect/Method;
            ifnonnull 10
         9: .line 619
            sipush 6013
            invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
            athrow
        10: .line 622
      StackMap locals: boolean[]
      StackMap stack:
            aload 0 /* this */
            aload 2 /* hasConnection */
            iconst_0
            baload
            putfield org.hsqldb.Routine.javaMethodWithConnection:Z
        11: .line 624
            aload 0 /* this */
            getfield org.hsqldb.Routine.javaMethod:Ljava/lang/reflect/Method;
            invokevirtual java.lang.reflect.Method.getDeclaringClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            astore 3 /* className */
        start local 3 // java.lang.String className
        12: .line 626
            aload 3 /* className */
            ldc "java.lang.Math"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 14
        13: .line 627
            aload 0 /* this */
            iconst_1
            putfield org.hsqldb.Routine.isLibraryRoutine:Z
        end local 3 // java.lang.String className
        end local 2 // boolean[] hasConnection
        14: .line 631
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.hsqldb.Routine.setReferences:()V
        15: .line 632
            return
        end local 1 // org.hsqldb.Session session
        end local 0 // org.hsqldb.Routine this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   16     0           this  Lorg/hsqldb/Routine;
            0   16     1        session  Lorg/hsqldb/Session;
            5   14     2  hasConnection  [Z
           12   14     3      className  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      session  

  private void setReferences();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // org.hsqldb.Routine this
         0: .line 636
            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 638
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 8
         3: .line 639
      StackMap locals: org.hsqldb.lib.OrderedHashSet int
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.Routine.parameterList:Lorg/hsqldb/lib/HashMappedList;
            iload 2 /* i */
            invokevirtual org.hsqldb.lib.HashMappedList.get:(I)Ljava/lang/Object;
            checkcast org.hsqldb.ColumnSchema
            astore 3 /* param */
        start local 3 // org.hsqldb.ColumnSchema param
         4: .line 640
            aload 3 /* param */
            invokevirtual org.hsqldb.ColumnSchema.getReferences:()Lorg/hsqldb/lib/OrderedHashSet;
            astore 4 /* refs */
        start local 4 // org.hsqldb.lib.OrderedHashSet refs
         5: .line 642
            aload 4 /* refs */
            ifnull 7
         6: .line 643
            aload 1 /* set */
            aload 4 /* refs */
            invokevirtual org.hsqldb.lib.OrderedHashSet.addAll:(Lorg/hsqldb/lib/OrderedHashSet;)V
        end local 4 // org.hsqldb.lib.OrderedHashSet refs
        end local 3 // org.hsqldb.ColumnSchema param
         7: .line 638
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 2 /* i */
            aload 0 /* this */
            getfield org.hsqldb.Routine.parameterTypes:[Lorg/hsqldb/types/Type;
            arraylength
            if_icmplt 3
        end local 2 // int i
         9: .line 647
            aload 0 /* this */
            getfield org.hsqldb.Routine.statement:Lorg/hsqldb/Statement;
            ifnull 11
        10: .line 648
            aload 1 /* set */
            aload 0 /* this */
            getfield org.hsqldb.Routine.statement:Lorg/hsqldb/Statement;
            invokevirtual org.hsqldb.Statement.getReferences:()Lorg/hsqldb/lib/OrderedHashSet;
            invokevirtual org.hsqldb.lib.OrderedHashSet.addAll:(Lorg/hsqldb/lib/OrderedHashSet;)V
        11: .line 651
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield org.hsqldb.Routine.isRecursive:Z
        12: .line 653
            aload 1 /* set */
            aload 0 /* this */
            invokevirtual org.hsqldb.Routine.getSpecificName:()Lorg/hsqldb/HsqlNameManager$HsqlName;
            invokevirtual org.hsqldb.lib.OrderedHashSet.contains:(Ljava/lang/Object;)Z
            ifeq 15
        13: .line 654
            aload 1 /* set */
            aload 0 /* this */
            invokevirtual org.hsqldb.Routine.getSpecificName:()Lorg/hsqldb/HsqlNameManager$HsqlName;
            invokevirtual org.hsqldb.lib.OrderedHashSet.remove:(Ljava/lang/Object;)Z
            pop
        14: .line 656
            aload 0 /* this */
            iconst_1
            putfield org.hsqldb.Routine.isRecursive:Z
        15: .line 659
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* set */
            putfield org.hsqldb.Routine.references:Lorg/hsqldb/lib/OrderedHashSet;
        16: .line 660
            return
        end local 1 // org.hsqldb.lib.OrderedHashSet set
        end local 0 // org.hsqldb.Routine this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   17     0   this  Lorg/hsqldb/Routine;
            1   17     1    set  Lorg/hsqldb/lib/OrderedHashSet;
            2    9     2      i  I
            4    7     3  param  Lorg/hsqldb/ColumnSchema;
            5    7     4   refs  Lorg/hsqldb/lib/OrderedHashSet;

  void checkSQLData(org.hsqldb.Session);
    descriptor: (Lorg/hsqldb/Session;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // org.hsqldb.Routine this
        start local 1 // org.hsqldb.Session session
         0: .line 664
            aload 0 /* this */
            getfield org.hsqldb.Routine.statement:Lorg/hsqldb/Statement;
            invokevirtual org.hsqldb.Statement.getReferences:()Lorg/hsqldb/lib/OrderedHashSet;
            astore 2 /* set */
        start local 2 // org.hsqldb.lib.OrderedHashSet set
         1: .line 666
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 21
         3: .line 667
      StackMap locals: org.hsqldb.lib.OrderedHashSet int
      StackMap stack:
            aload 2 /* set */
            iload 3 /* i */
            invokevirtual org.hsqldb.lib.OrderedHashSet.get:(I)Ljava/lang/Object;
            checkcast org.hsqldb.HsqlNameManager$HsqlName
            astore 4 /* name */
        start local 4 // org.hsqldb.HsqlNameManager$HsqlName name
         4: .line 669
            aload 4 /* name */
            getfield org.hsqldb.HsqlNameManager$HsqlName.type:I
            bipush 24
            if_icmpne 20
         5: .line 671
            aload 1 /* session */
            getfield org.hsqldb.Session.database:Lorg/hsqldb/Database;
            getfield org.hsqldb.Database.schemaManager:Lorg/hsqldb/SchemaManager;
         6: .line 672
            aload 4 /* name */
         7: .line 671
            invokevirtual org.hsqldb.SchemaManager.getSchemaObject:(Lorg/hsqldb/HsqlNameManager$HsqlName;)Lorg/hsqldb/SchemaObject;
            checkcast org.hsqldb.Routine
         8: .line 670
            astore 5 /* routine */
        start local 5 // org.hsqldb.Routine routine
         9: .line 674
            aload 5 /* routine */
            getfield org.hsqldb.Routine.dataImpact:I
            iconst_3
            if_icmpne 14
        10: .line 675
            aload 0 /* this */
            getfield org.hsqldb.Routine.dataImpact:I
            iconst_2
            if_icmpne 20
        11: .line 676
            sipush 5608
        12: .line 677
            ldc "READS SQL DATA"
        13: .line 676
            invokestatic org.hsqldb.error.Error.error:(ILjava/lang/String;)Lorg/hsqldb/HsqlException;
            athrow
        14: .line 680
      StackMap locals: org.hsqldb.HsqlNameManager$HsqlName org.hsqldb.Routine
      StackMap stack:
            aload 5 /* routine */
            getfield org.hsqldb.Routine.dataImpact:I
            iconst_4
            if_icmpne 20
        15: .line 681
            aload 0 /* this */
            getfield org.hsqldb.Routine.dataImpact:I
            iconst_2
            if_icmpeq 17
        16: .line 682
            aload 0 /* this */
            getfield org.hsqldb.Routine.dataImpact:I
            iconst_3
            if_icmpne 20
        17: .line 683
      StackMap locals:
      StackMap stack:
            sipush 5608
        18: .line 684
            ldc "MODIFIES SQL DATA"
        19: .line 683
            invokestatic org.hsqldb.error.Error.error:(ILjava/lang/String;)Lorg/hsqldb/HsqlException;
            athrow
        end local 5 // org.hsqldb.Routine routine
        end local 4 // org.hsqldb.HsqlNameManager$HsqlName name
        20: .line 666
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        21: iload 3 /* i */
            aload 2 /* set */
            invokevirtual org.hsqldb.lib.OrderedHashSet.size:()I
            if_icmplt 3
        end local 3 // int i
        22: .line 692
            aload 0 /* this */
            getfield org.hsqldb.Routine.dataImpact:I
            iconst_2
            if_icmpeq 24
        23: .line 693
            aload 0 /* this */
            getfield org.hsqldb.Routine.dataImpact:I
            iconst_3
            if_icmpne 33
        24: .line 694
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.Routine.statement:Lorg/hsqldb/Statement;
            invokevirtual org.hsqldb.Statement.getTableNamesForWrite:()[Lorg/hsqldb/HsqlNameManager$HsqlName;
            astore 3 /* names */
        start local 3 // org.hsqldb.HsqlNameManager$HsqlName[] names
        25: .line 696
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        26: goto 32
        27: .line 697
      StackMap locals: org.hsqldb.HsqlNameManager$HsqlName[] int
      StackMap stack:
            aload 3 /* names */
            iload 4 /* i */
            aaload
            getfield org.hsqldb.HsqlNameManager$HsqlName.schema:Lorg/hsqldb/HsqlNameManager$HsqlName;
            getstatic org.hsqldb.SqlInvariants.MODULE_HSQLNAME:Lorg/hsqldb/HsqlNameManager$HsqlName;
            if_acmpeq 31
        28: .line 698
            sipush 5608
        29: .line 699
            ldc "MODIFIES SQL DATA"
        30: .line 698
            invokestatic org.hsqldb.error.Error.error:(ILjava/lang/String;)Lorg/hsqldb/HsqlException;
            athrow
        31: .line 696
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        32: iload 4 /* i */
            aload 3 /* names */
            arraylength
            if_icmplt 27
        end local 4 // int i
        end local 3 // org.hsqldb.HsqlNameManager$HsqlName[] names
        33: .line 705
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.Routine.dataImpact:I
            iconst_2
            if_icmpne 43
        34: .line 706
            aload 0 /* this */
            getfield org.hsqldb.Routine.statement:Lorg/hsqldb/Statement;
            invokevirtual org.hsqldb.Statement.getTableNamesForRead:()[Lorg/hsqldb/HsqlNameManager$HsqlName;
            astore 3 /* names */
        start local 3 // org.hsqldb.HsqlNameManager$HsqlName[] names
        35: .line 708
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        36: goto 42
        37: .line 709
      StackMap locals: org.hsqldb.HsqlNameManager$HsqlName[] int
      StackMap stack:
            aload 3 /* names */
            iload 4 /* i */
            aaload
            getfield org.hsqldb.HsqlNameManager$HsqlName.schema:Lorg/hsqldb/HsqlNameManager$HsqlName;
            getstatic org.hsqldb.SqlInvariants.MODULE_HSQLNAME:Lorg/hsqldb/HsqlNameManager$HsqlName;
            if_acmpeq 41
        38: .line 710
            sipush 5608
        39: .line 711
            ldc "READS SQL DATA"
        40: .line 710
            invokestatic org.hsqldb.error.Error.error:(ILjava/lang/String;)Lorg/hsqldb/HsqlException;
            athrow
        41: .line 708
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        42: iload 4 /* i */
            aload 3 /* names */
            arraylength
            if_icmplt 37
        end local 4 // int i
        end local 3 // org.hsqldb.HsqlNameManager$HsqlName[] names
        43: .line 716
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.hsqldb.lib.OrderedHashSet set
        end local 1 // org.hsqldb.Session session
        end local 0 // org.hsqldb.Routine this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   44     0     this  Lorg/hsqldb/Routine;
            0   44     1  session  Lorg/hsqldb/Session;
            1   44     2      set  Lorg/hsqldb/lib/OrderedHashSet;
            2   22     3        i  I
            4   20     4     name  Lorg/hsqldb/HsqlNameManager$HsqlName;
            9   20     5  routine  Lorg/hsqldb/Routine;
           25   33     3    names  [Lorg/hsqldb/HsqlNameManager$HsqlName;
           26   33     4        i  I
           35   43     3    names  [Lorg/hsqldb/HsqlNameManager$HsqlName;
           36   43     4        i  I
    MethodParameters:
         Name  Flags
      session  

  public boolean isTrigger();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hsqldb.Routine this
         0: .line 719
            aload 0 /* this */
            getfield org.hsqldb.Routine.routineType:I
            bipush 8
            if_icmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.hsqldb.Routine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hsqldb/Routine;

  public boolean isProcedure();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hsqldb.Routine this
         0: .line 723
            aload 0 /* this */
            getfield org.hsqldb.Routine.routineType:I
            bipush 17
            if_icmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.hsqldb.Routine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hsqldb/Routine;

  public boolean isFunction();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hsqldb.Routine this
         0: .line 727
            aload 0 /* this */
            getfield org.hsqldb.Routine.routineType:I
            bipush 16
            if_icmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.hsqldb.Routine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/hsqldb/Routine;

  public org.hsqldb.ColumnSchema getParameter(int);
    descriptor: (I)Lorg/hsqldb/ColumnSchema;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hsqldb.Routine this
        start local 1 // int i
         0: .line 731
            aload 0 /* this */
            getfield org.hsqldb.Routine.parameterList:Lorg/hsqldb/lib/HashMappedList;
            iload 1 /* i */
            invokevirtual org.hsqldb.lib.HashMappedList.get:(I)Ljava/lang/Object;
            checkcast org.hsqldb.ColumnSchema
            areturn
        end local 1 // int i
        end local 0 // org.hsqldb.Routine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/Routine;
            0    1     1     i  I
    MethodParameters:
      Name  Flags
      i     

  org.hsqldb.types.Type[] getParameterTypes();
    descriptor: ()[Lorg/hsqldb/types/Type;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hsqldb.Routine this
         0: .line 735
            aload 0 /* this */
            getfield org.hsqldb.Routine.parameterTypes:[Lorg/hsqldb/types/Type;
            areturn
        end local 0 // org.hsqldb.Routine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/Routine;

  int getParameterSignature();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hsqldb.Routine this
         0: .line 739
            aload 0 /* this */
            getfield org.hsqldb.Routine.typeGroups:I
            ireturn
        end local 0 // org.hsqldb.Routine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/Routine;

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

  public int getParameterCount(int);
    descriptor: (I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // org.hsqldb.Routine this
        start local 1 // int type
         0: .line 748
            iconst_0
            istore 2 /* count */
        start local 2 // int count
         1: .line 750
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 7
         3: .line 751
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.Routine.parameterList:Lorg/hsqldb/lib/HashMappedList;
            iload 3 /* i */
            invokevirtual org.hsqldb.lib.HashMappedList.get:(I)Ljava/lang/Object;
            checkcast org.hsqldb.ColumnSchema
            astore 4 /* col */
        start local 4 // org.hsqldb.ColumnSchema col
         4: .line 753
            aload 4 /* col */
            invokevirtual org.hsqldb.ColumnSchema.getParameterMode:()B
            iload 1 /* type */
            if_icmpne 6
         5: .line 754
            iinc 2 /* count */ 1
        end local 4 // org.hsqldb.ColumnSchema col
         6: .line 750
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 3 /* i */
            aload 0 /* this */
            getfield org.hsqldb.Routine.parameterList:Lorg/hsqldb/lib/HashMappedList;
            invokevirtual org.hsqldb.lib.HashMappedList.size:()I
            if_icmplt 3
        end local 3 // int i
         8: .line 758
            iload 2 /* count */
            ireturn
        end local 2 // int count
        end local 1 // int type
        end local 0 // org.hsqldb.Routine this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   this  Lorg/hsqldb/Routine;
            0    9     1   type  I
            1    9     2  count  I
            2    8     3      i  I
            4    6     4    col  Lorg/hsqldb/ColumnSchema;
    MethodParameters:
      Name  Flags
      type  

  public int getParameterIndex(java.lang.String);
    descriptor: (Ljava/lang/String;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hsqldb.Routine this
        start local 1 // java.lang.String name
         0: .line 762
            aload 0 /* this */
            getfield org.hsqldb.Routine.parameterList:Lorg/hsqldb/lib/HashMappedList;
            aload 1 /* name */
            invokevirtual org.hsqldb.lib.HashMappedList.getIndex:(Ljava/lang/Object;)I
            ireturn
        end local 1 // java.lang.String name
        end local 0 // org.hsqldb.Routine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/Routine;
            0    1     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

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

  public void setCorrelated();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // org.hsqldb.Routine this
         0: .line 772
            return
        end local 0 // org.hsqldb.Routine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/Routine;

  public boolean isVariable();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hsqldb.Routine this
         0: .line 775
            iconst_1
            ireturn
        end local 0 // org.hsqldb.Routine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/hsqldb/Routine;

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

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

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

  public org.hsqldb.HsqlNameManager$HsqlName[] getTableNamesForRead();
    descriptor: ()[Lorg/hsqldb/HsqlNameManager$HsqlName;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hsqldb.Routine this
         0: .line 792
            aload 0 /* this */
            getfield org.hsqldb.Routine.statement:Lorg/hsqldb/Statement;
            ifnonnull 2
         1: .line 793
            getstatic org.hsqldb.HsqlNameManager$HsqlName.emptyArray:[Lorg/hsqldb/HsqlNameManager$HsqlName;
            areturn
         2: .line 796
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.Routine.statement:Lorg/hsqldb/Statement;
            invokevirtual org.hsqldb.Statement.getTableNamesForRead:()[Lorg/hsqldb/HsqlNameManager$HsqlName;
            areturn
        end local 0 // org.hsqldb.Routine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/hsqldb/Routine;

  public org.hsqldb.HsqlNameManager$HsqlName[] getTableNamesForWrite();
    descriptor: ()[Lorg/hsqldb/HsqlNameManager$HsqlName;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.hsqldb.Routine this
         0: .line 801
            aload 0 /* this */
            getfield org.hsqldb.Routine.statement:Lorg/hsqldb/Statement;
            ifnonnull 2
         1: .line 802
            getstatic org.hsqldb.HsqlNameManager$HsqlName.emptyArray:[Lorg/hsqldb/HsqlNameManager$HsqlName;
            areturn
         2: .line 805
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.Routine.statement:Lorg/hsqldb/Statement;
            invokevirtual org.hsqldb.Statement.getTableNamesForWrite:()[Lorg/hsqldb/HsqlNameManager$HsqlName;
            areturn
        end local 0 // org.hsqldb.Routine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/hsqldb/Routine;

  public void resetAlteredRoutineSettings();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hsqldb.Routine this
         0: .line 810
            aload 0 /* this */
            invokevirtual org.hsqldb.Routine.isPSM:()Z
            ifeq 8
         1: .line 811
            aload 0 /* this */
            aconst_null
            putfield org.hsqldb.Routine.methodName:Ljava/lang/String;
         2: .line 812
            aload 0 /* this */
            aconst_null
            putfield org.hsqldb.Routine.javaMethod:Ljava/lang/reflect/Method;
         3: .line 813
            aload 0 /* this */
            iconst_0
            putfield org.hsqldb.Routine.javaMethodWithConnection:Z
         4: .line 814
            aload 0 /* this */
            iconst_2
            putfield org.hsqldb.Routine.parameterStyle:I
         5: .line 816
            aload 0 /* this */
            getfield org.hsqldb.Routine.dataImpact:I
            iconst_1
            if_icmpne 13
         6: .line 817
            aload 0 /* this */
            iconst_2
            putfield org.hsqldb.Routine.dataImpact:I
         7: .line 819
            goto 13
         8: .line 820
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield org.hsqldb.Routine.statement:Lorg/hsqldb/Statement;
         9: .line 821
            aload 0 /* this */
            aconst_null
            putfield org.hsqldb.Routine.references:Lorg/hsqldb/lib/OrderedHashSet;
        10: .line 822
            aload 0 /* this */
            iconst_0
            putfield org.hsqldb.Routine.variableCount:I
        11: .line 823
            aload 0 /* this */
            iconst_0
            putfield org.hsqldb.Routine.cursorCount:I
        12: .line 824
            aload 0 /* this */
            getstatic org.hsqldb.RangeVariable.emptyArray:[Lorg/hsqldb/RangeVariable;
            putfield org.hsqldb.Routine.ranges:[Lorg/hsqldb/RangeVariable;
        13: .line 826
      StackMap locals:
      StackMap stack:
            return
        end local 0 // org.hsqldb.Routine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Lorg/hsqldb/Routine;

  public void setAsAlteredRoutine(org.hsqldb.Routine);
    descriptor: (Lorg/hsqldb/Routine;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.hsqldb.Routine this
        start local 1 // org.hsqldb.Routine routine
         0: .line 830
            aload 0 /* this */
            aload 1 /* routine */
            getfield org.hsqldb.Routine.language:I
            putfield org.hsqldb.Routine.language:I
         1: .line 831
            aload 0 /* this */
            aload 1 /* routine */
            getfield org.hsqldb.Routine.dataImpact:I
            putfield org.hsqldb.Routine.dataImpact:I
         2: .line 832
            aload 0 /* this */
            aload 1 /* routine */
            getfield org.hsqldb.Routine.parameterStyle:I
            putfield org.hsqldb.Routine.parameterStyle:I
         3: .line 833
            aload 0 /* this */
            aload 1 /* routine */
            getfield org.hsqldb.Routine.isDeterministic:Z
            putfield org.hsqldb.Routine.isDeterministic:Z
         4: .line 834
            aload 0 /* this */
            aload 1 /* routine */
            getfield org.hsqldb.Routine.isNullInputOutput:Z
            putfield org.hsqldb.Routine.isNullInputOutput:Z
         5: .line 835
            aload 0 /* this */
            aload 1 /* routine */
            getfield org.hsqldb.Routine.maxDynamicResults:I
            putfield org.hsqldb.Routine.maxDynamicResults:I
         6: .line 836
            aload 0 /* this */
            aload 1 /* routine */
            getfield org.hsqldb.Routine.isRecursive:Z
            putfield org.hsqldb.Routine.isRecursive:Z
         7: .line 837
            aload 0 /* this */
            aload 1 /* routine */
            getfield org.hsqldb.Routine.javaMethod:Ljava/lang/reflect/Method;
            putfield org.hsqldb.Routine.javaMethod:Ljava/lang/reflect/Method;
         8: .line 840
            aload 0 /* this */
            aload 1 /* routine */
            getfield org.hsqldb.Routine.isRecursive:Z
            putfield org.hsqldb.Routine.isRecursive:Z
         9: .line 841
            aload 0 /* this */
            aload 1 /* routine */
            getfield org.hsqldb.Routine.javaMethodWithConnection:Z
            putfield org.hsqldb.Routine.javaMethodWithConnection:Z
        10: .line 842
            aload 0 /* this */
            aload 1 /* routine */
            getfield org.hsqldb.Routine.methodName:Ljava/lang/String;
            putfield org.hsqldb.Routine.methodName:Ljava/lang/String;
        11: .line 843
            aload 0 /* this */
            aload 1 /* routine */
            getfield org.hsqldb.Routine.statement:Lorg/hsqldb/Statement;
            putfield org.hsqldb.Routine.statement:Lorg/hsqldb/Statement;
        12: .line 844
            aload 0 /* this */
            aload 1 /* routine */
            getfield org.hsqldb.Routine.references:Lorg/hsqldb/lib/OrderedHashSet;
            putfield org.hsqldb.Routine.references:Lorg/hsqldb/lib/OrderedHashSet;
        13: .line 845
            aload 0 /* this */
            aload 1 /* routine */
            getfield org.hsqldb.Routine.variableCount:I
            putfield org.hsqldb.Routine.variableCount:I
        14: .line 846
            aload 0 /* this */
            aload 1 /* routine */
            getfield org.hsqldb.Routine.cursorCount:I
            putfield org.hsqldb.Routine.cursorCount:I
        15: .line 847
            aload 0 /* this */
            aload 1 /* routine */
            getfield org.hsqldb.Routine.ranges:[Lorg/hsqldb/RangeVariable;
            putfield org.hsqldb.Routine.ranges:[Lorg/hsqldb/RangeVariable;
        16: .line 848
            return
        end local 1 // org.hsqldb.Routine routine
        end local 0 // org.hsqldb.Routine this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   17     0     this  Lorg/hsqldb/Routine;
            0   17     1  routine  Lorg/hsqldb/Routine;
    MethodParameters:
         Name  Flags
      routine  

  java.lang.Object[] convertArgsToJava(org.hsqldb.Session, java.lang.Object[]);
    descriptor: (Lorg/hsqldb/Session;[Ljava/lang/Object;)[Ljava/lang/Object;
    flags: (0x0000) 
    Code:
      stack=5, locals=12, args_size=3
        start local 0 // org.hsqldb.Routine this
        start local 1 // org.hsqldb.Session session
        start local 2 // java.lang.Object[] callArguments
         0: .line 852
            aload 0 /* this */
            getfield org.hsqldb.Routine.javaMethodWithConnection:Z
            ifeq 1
            iconst_1
            goto 2
         1: .line 853
      StackMap locals:
      StackMap stack:
            iconst_0
         2: .line 852
      StackMap locals:
      StackMap stack: int
            istore 3 /* extraArg */
        start local 3 // int extraArg
         3: .line 854
            aload 0 /* this */
            getfield org.hsqldb.Routine.javaMethod:Ljava/lang/reflect/Method;
            invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
            arraylength
            anewarray java.lang.Object
            astore 4 /* data */
        start local 4 // java.lang.Object[] data
         4: .line 855
            aload 0 /* this */
            invokevirtual org.hsqldb.Routine.getParameterTypes:()[Lorg/hsqldb/types/Type;
            astore 5 /* types */
        start local 5 // org.hsqldb.types.Type[] types
         5: .line 856
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         6: .line 858
            goto 18
         7: .line 859
      StackMap locals: org.hsqldb.Routine org.hsqldb.Session java.lang.Object[] int java.lang.Object[] org.hsqldb.types.Type[] int
      StackMap stack:
            aload 2 /* callArguments */
            iload 6 /* i */
            aaload
            astore 7 /* value */
        start local 7 // java.lang.Object value
         8: .line 860
            aload 0 /* this */
            iload 6 /* i */
            invokevirtual org.hsqldb.Routine.getParameter:(I)Lorg/hsqldb/ColumnSchema;
            astore 8 /* param */
        start local 8 // org.hsqldb.ColumnSchema param
         9: .line 862
            aload 8 /* param */
            getfield org.hsqldb.ColumnSchema.parameterMode:B
            iconst_1
            if_icmpne 12
        10: .line 863
            aload 4 /* data */
            iload 6 /* i */
            iload 3 /* extraArg */
            iadd
            aload 5 /* types */
            iload 6 /* i */
            aaload
            aload 1 /* session */
            aload 7 /* value */
            invokevirtual org.hsqldb.types.Type.convertSQLToJava:(Lorg/hsqldb/SessionInterface;Ljava/lang/Object;)Ljava/lang/Object;
            aastore
        11: .line 864
            goto 17
        12: .line 865
      StackMap locals: java.lang.Object org.hsqldb.ColumnSchema
      StackMap stack:
            aload 5 /* types */
            iload 6 /* i */
            aaload
            aload 1 /* session */
            aload 7 /* value */
            invokevirtual org.hsqldb.types.Type.convertSQLToJava:(Lorg/hsqldb/SessionInterface;Ljava/lang/Object;)Ljava/lang/Object;
            astore 9 /* jdbcValue */
        start local 9 // java.lang.Object jdbcValue
        13: .line 866
            aload 5 /* types */
            iload 6 /* i */
            aaload
            invokevirtual org.hsqldb.types.Type.getJDBCClass:()Ljava/lang/Class;
            astore 10 /* cl */
        start local 10 // java.lang.Class cl
        14: .line 867
            aload 10 /* cl */
            iconst_1
            invokestatic java.lang.reflect.Array.newInstance:(Ljava/lang/Class;I)Ljava/lang/Object;
            astore 11 /* array */
        start local 11 // java.lang.Object array
        15: .line 869
            aload 11 /* array */
            iconst_0
            aload 9 /* jdbcValue */
            invokestatic java.lang.reflect.Array.set:(Ljava/lang/Object;ILjava/lang/Object;)V
        16: .line 871
            aload 4 /* data */
            iload 6 /* i */
            iload 3 /* extraArg */
            iadd
            aload 11 /* array */
            aastore
        end local 11 // java.lang.Object array
        end local 10 // java.lang.Class cl
        end local 9 // java.lang.Object jdbcValue
        end local 8 // org.hsqldb.ColumnSchema param
        end local 7 // java.lang.Object value
        17: .line 858
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        18: iload 6 /* i */
            aload 5 /* types */
            arraylength
            if_icmplt 7
        19: .line 875
            goto 22
        20: .line 876
      StackMap locals:
      StackMap stack:
            aload 4 /* data */
            iload 6 /* i */
            iload 3 /* extraArg */
            iadd
            iconst_1
            anewarray java.sql.ResultSet
            aastore
        21: .line 875
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        22: iload 6 /* i */
            iload 3 /* extraArg */
            iadd
            aload 4 /* data */
            arraylength
            if_icmplt 20
        23: .line 879
            aload 4 /* data */
            areturn
        end local 6 // int i
        end local 5 // org.hsqldb.types.Type[] types
        end local 4 // java.lang.Object[] data
        end local 3 // int extraArg
        end local 2 // java.lang.Object[] callArguments
        end local 1 // org.hsqldb.Session session
        end local 0 // org.hsqldb.Routine this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   24     0           this  Lorg/hsqldb/Routine;
            0   24     1        session  Lorg/hsqldb/Session;
            0   24     2  callArguments  [Ljava/lang/Object;
            3   24     3       extraArg  I
            4   24     4           data  [Ljava/lang/Object;
            5   24     5          types  [Lorg/hsqldb/types/Type;
            6   24     6              i  I
            8   17     7          value  Ljava/lang/Object;
            9   17     8          param  Lorg/hsqldb/ColumnSchema;
           13   17     9      jdbcValue  Ljava/lang/Object;
           14   17    10             cl  Ljava/lang/Class;
           15   17    11          array  Ljava/lang/Object;
    MethodParameters:
               Name  Flags
      session        
      callArguments  

  void convertArgsToSQL(org.hsqldb.Session, java.lang.Object[], java.lang.Object[]);
    descriptor: (Lorg/hsqldb/Session;[Ljava/lang/Object;[Ljava/lang/Object;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=10, args_size=4
        start local 0 // org.hsqldb.Routine this
        start local 1 // org.hsqldb.Session session
        start local 2 // java.lang.Object[] callArguments
        start local 3 // java.lang.Object[] data
         0: .line 885
            aload 0 /* this */
            getfield org.hsqldb.Routine.javaMethodWithConnection:Z
            ifeq 1
            iconst_1
            goto 2
         1: .line 886
      StackMap locals:
      StackMap stack:
            iconst_0
         2: .line 885
      StackMap locals:
      StackMap stack: int
            istore 4 /* extraArg */
        start local 4 // int extraArg
         3: .line 887
            aload 0 /* this */
            invokevirtual org.hsqldb.Routine.getParameterTypes:()[Lorg/hsqldb/types/Type;
            astore 5 /* types */
        start local 5 // org.hsqldb.types.Type[] types
         4: .line 888
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         5: .line 890
            goto 12
         6: .line 891
      StackMap locals: int org.hsqldb.types.Type[] int
      StackMap stack:
            aload 3 /* data */
            iload 6 /* i */
            iload 4 /* extraArg */
            iadd
            aaload
            astore 7 /* value */
        start local 7 // java.lang.Object value
         7: .line 892
            aload 0 /* this */
            iload 6 /* i */
            invokevirtual org.hsqldb.Routine.getParameter:(I)Lorg/hsqldb/ColumnSchema;
            astore 8 /* param */
        start local 8 // org.hsqldb.ColumnSchema param
         8: .line 894
            aload 8 /* param */
            getfield org.hsqldb.ColumnSchema.parameterMode:B
            iconst_1
            if_icmpeq 10
         9: .line 895
            aload 7 /* value */
            iconst_0
            invokestatic java.lang.reflect.Array.get:(Ljava/lang/Object;I)Ljava/lang/Object;
            astore 7 /* value */
        10: .line 898
      StackMap locals: java.lang.Object org.hsqldb.ColumnSchema
      StackMap stack:
            aload 2 /* callArguments */
            iload 6 /* i */
            aload 5 /* types */
            iload 6 /* i */
            aaload
            aload 1 /* session */
            aload 7 /* value */
            invokevirtual org.hsqldb.types.Type.convertJavaToSQL:(Lorg/hsqldb/SessionInterface;Ljava/lang/Object;)Ljava/lang/Object;
            aastore
        end local 8 // org.hsqldb.ColumnSchema param
        end local 7 // java.lang.Object value
        11: .line 890
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 6 /* i */
            aload 5 /* types */
            arraylength
            if_icmplt 6
        13: .line 901
            aconst_null
            astore 7 /* head */
        start local 7 // org.hsqldb.result.Result head
        14: .line 903
            goto 29
        15: .line 904
      StackMap locals: org.hsqldb.result.Result
      StackMap stack:
            aload 3 /* data */
            iload 6 /* i */
            iload 4 /* extraArg */
            iadd
            aaload
            checkcast java.sql.ResultSet[]
            iconst_0
            aaload
            astore 8 /* rs */
        start local 8 // java.sql.ResultSet rs
        16: .line 906
            aload 8 /* rs */
            ifnull 28
        17: .line 907
            aload 8 /* rs */
            instanceof org.hsqldb.jdbc.JDBCResultSet
            ifeq 25
        18: .line 908
            aload 8 /* rs */
            checkcast org.hsqldb.jdbc.JDBCResultSet
            getfield org.hsqldb.jdbc.JDBCResultSet.result:Lorg/hsqldb/result/Result;
            astore 9 /* r */
        start local 9 // org.hsqldb.result.Result r
        19: .line 910
            aload 7 /* head */
            ifnonnull 23
        20: .line 911
            aload 2 /* callArguments */
            iload 6 /* i */
            aload 9 /* r */
            aastore
        21: .line 912
            aload 9 /* r */
            astore 7 /* head */
        22: .line 913
            goto 28
        23: .line 914
      StackMap locals: java.sql.ResultSet org.hsqldb.result.Result
      StackMap stack:
            aload 7 /* head */
            aload 9 /* r */
            invokevirtual org.hsqldb.result.Result.addChainedResult:(Lorg/hsqldb/result/Result;)V
        end local 9 // org.hsqldb.result.Result r
        24: .line 916
            goto 28
        25: .line 917
      StackMap locals:
      StackMap stack:
            sipush 6000
        26: .line 918
            ldc "ResultSet not native"
        27: .line 917
            invokestatic org.hsqldb.error.Error.error:(ILjava/lang/String;)Lorg/hsqldb/HsqlException;
            athrow
        end local 8 // java.sql.ResultSet rs
        28: .line 903
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        29: iload 6 /* i */
            iload 4 /* extraArg */
            iadd
            aload 3 /* data */
            arraylength
            if_icmplt 15
        30: .line 922
            return
        end local 7 // org.hsqldb.result.Result head
        end local 6 // int i
        end local 5 // org.hsqldb.types.Type[] types
        end local 4 // int extraArg
        end local 3 // java.lang.Object[] data
        end local 2 // java.lang.Object[] callArguments
        end local 1 // org.hsqldb.Session session
        end local 0 // org.hsqldb.Routine this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   31     0           this  Lorg/hsqldb/Routine;
            0   31     1        session  Lorg/hsqldb/Session;
            0   31     2  callArguments  [Ljava/lang/Object;
            0   31     3           data  [Ljava/lang/Object;
            3   31     4       extraArg  I
            4   31     5          types  [Lorg/hsqldb/types/Type;
            5   31     6              i  I
            7   11     7          value  Ljava/lang/Object;
            8   11     8          param  Lorg/hsqldb/ColumnSchema;
           14   31     7           head  Lorg/hsqldb/result/Result;
           16   28     8             rs  Ljava/sql/ResultSet;
           19   24     9              r  Lorg/hsqldb/result/Result;
    MethodParameters:
               Name  Flags
      session        
      callArguments  
      data           

  public org.hsqldb.result.Result invokeJavaMethodDirect(java.lang.Object[]);
    descriptor: ([Ljava/lang/Object;)Lorg/hsqldb/result/Result;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // org.hsqldb.Routine this
        start local 1 // java.lang.Object[] data
         0: .line 929
            aload 0 /* this */
            getfield org.hsqldb.Routine.javaMethod:Ljava/lang/reflect/Method;
            aconst_null
            aload 1 /* data */
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* returnValue */
        start local 3 // java.lang.Object returnValue
         1: .line 931
            aload 0 /* this */
            getfield org.hsqldb.Routine.returnType:Lorg/hsqldb/types/Type;
            aconst_null
            aload 3 /* returnValue */
            invokevirtual org.hsqldb.types.Type.convertJavaToSQL:(Lorg/hsqldb/SessionInterface;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* returnValue */
         2: .line 932
            aload 3 /* returnValue */
            invokestatic org.hsqldb.result.Result.newPSMResult:(Ljava/lang/Object;)Lorg/hsqldb/result/Result;
            astore 2 /* result */
        end local 3 // java.lang.Object returnValue
        start local 2 // org.hsqldb.result.Result result
         3: .line 933
            goto 8
        end local 2 // org.hsqldb.result.Result result
      StackMap locals:
      StackMap stack: java.lang.Throwable
         4: astore 3 /* t */
        start local 3 // java.lang.Throwable t
         5: .line 934
            aload 3 /* t */
            sipush 6000
         6: .line 935
            aload 0 /* this */
            invokevirtual org.hsqldb.Routine.getName:()Lorg/hsqldb/HsqlNameManager$HsqlName;
            getfield org.hsqldb.HsqlNameManager$HsqlName.name:Ljava/lang/String;
         7: .line 934
            invokestatic org.hsqldb.error.Error.error:(Ljava/lang/Throwable;ILjava/lang/String;)Lorg/hsqldb/HsqlException;
            invokestatic org.hsqldb.result.Result.newErrorResult:(Ljava/lang/Throwable;)Lorg/hsqldb/result/Result;
            astore 2 /* result */
        end local 3 // java.lang.Throwable t
        start local 2 // org.hsqldb.result.Result result
         8: .line 938
      StackMap locals: org.hsqldb.result.Result
      StackMap stack:
            aload 2 /* result */
            areturn
        end local 2 // org.hsqldb.result.Result result
        end local 1 // java.lang.Object[] data
        end local 0 // org.hsqldb.Routine this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0         this  Lorg/hsqldb/Routine;
            0    9     1         data  [Ljava/lang/Object;
            3    4     2       result  Lorg/hsqldb/result/Result;
            8    9     2       result  Lorg/hsqldb/result/Result;
            1    3     3  returnValue  Ljava/lang/Object;
            5    8     3            t  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           0     3       4  Class java.lang.Throwable
    MethodParameters:
      Name  Flags
      data  

  org.hsqldb.result.Result invokeJavaMethod(org.hsqldb.Session, java.lang.Object[]);
    descriptor: (Lorg/hsqldb/Session;[Ljava/lang/Object;)Lorg/hsqldb/result/Result;
    flags: (0x0000) 
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // org.hsqldb.Routine this
        start local 1 // org.hsqldb.Session session
        start local 2 // java.lang.Object[] data
         0: .line 944
            aload 1 /* session */
            invokevirtual org.hsqldb.Session.getCurrentSchemaHsqlName:()Lorg/hsqldb/HsqlNameManager$HsqlName;
            astore 4 /* oldSessionSchema */
        start local 4 // org.hsqldb.HsqlNameManager$HsqlName oldSessionSchema
         1: .line 947
            aload 0 /* this */
            getfield org.hsqldb.Routine.dataImpact:I
            iconst_1
            if_icmpne 5
         2: .line 948
            aload 1 /* session */
            getfield org.hsqldb.Session.sessionContext:Lorg/hsqldb/SessionContext;
            getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
            putfield org.hsqldb.SessionContext.isReadOnly:Ljava/lang/Boolean;
         3: .line 950
            aload 1 /* session */
            invokevirtual org.hsqldb.Session.setNoSQL:()V
         4: .line 951
            goto 10
      StackMap locals: org.hsqldb.Routine org.hsqldb.Session java.lang.Object[] top org.hsqldb.HsqlNameManager$HsqlName
      StackMap stack:
         5: aload 0 /* this */
            getfield org.hsqldb.Routine.dataImpact:I
            iconst_2
            if_icmpne 8
         6: .line 952
            aload 1 /* session */
            getfield org.hsqldb.Session.sessionContext:Lorg/hsqldb/SessionContext;
            getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
            putfield org.hsqldb.SessionContext.isReadOnly:Ljava/lang/Boolean;
         7: .line 953
            goto 10
      StackMap locals:
      StackMap stack:
         8: aload 0 /* this */
            getfield org.hsqldb.Routine.dataImpact:I
            iconst_3
            if_icmpne 10
         9: .line 954
            aload 1 /* session */
            getfield org.hsqldb.Session.sessionContext:Lorg/hsqldb/SessionContext;
            getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
            putfield org.hsqldb.SessionContext.isReadOnly:Ljava/lang/Boolean;
        10: .line 957
      StackMap locals:
      StackMap stack:
            aload 1 /* session */
            aload 0 /* this */
            invokevirtual org.hsqldb.Routine.getSchemaName:()Lorg/hsqldb/HsqlNameManager$HsqlName;
            invokevirtual org.hsqldb.Session.setCurrentSchemaHsqlName:(Lorg/hsqldb/HsqlNameManager$HsqlName;)V
        11: .line 959
            aload 0 /* this */
            getfield org.hsqldb.Routine.javaMethod:Ljava/lang/reflect/Method;
            aconst_null
            aload 2 /* data */
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            astore 5 /* returnValue */
        start local 5 // java.lang.Object returnValue
        12: .line 961
            aload 0 /* this */
            invokevirtual org.hsqldb.Routine.returnsTable:()Z
            ifeq 19
        13: .line 962
            aload 5 /* returnValue */
            instanceof org.hsqldb.jdbc.JDBCResultSet
            ifeq 16
        14: .line 963
            aload 5 /* returnValue */
            checkcast org.hsqldb.jdbc.JDBCResultSet
            getfield org.hsqldb.jdbc.JDBCResultSet.result:Lorg/hsqldb/result/Result;
            astore 3 /* result */
        start local 3 // org.hsqldb.result.Result result
        15: .line 964
            goto 38
        end local 3 // org.hsqldb.result.Result result
        16: .line 967
      StackMap locals: java.lang.Object
      StackMap stack:
            sipush 201
        17: .line 968
            ldc "FunctionSQLInvoked"
        18: .line 967
            invokestatic org.hsqldb.error.Error.runtimeError:(ILjava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        19: .line 971
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.Routine.returnType:Lorg/hsqldb/types/Type;
            aload 1 /* session */
        20: .line 972
            aload 5 /* returnValue */
        21: .line 971
            invokevirtual org.hsqldb.types.Type.convertJavaToSQL:(Lorg/hsqldb/SessionInterface;Ljava/lang/Object;)Ljava/lang/Object;
            astore 5 /* returnValue */
        22: .line 973
            aload 5 /* returnValue */
            invokestatic org.hsqldb.result.Result.newPSMResult:(Ljava/lang/Object;)Lorg/hsqldb/result/Result;
            astore 3 /* result */
        end local 5 // java.lang.Object returnValue
        start local 3 // org.hsqldb.result.Result result
        23: .line 975
            goto 38
        end local 3 // org.hsqldb.result.Result result
      StackMap locals: org.hsqldb.Routine org.hsqldb.Session java.lang.Object[] top org.hsqldb.HsqlNameManager$HsqlName
      StackMap stack: java.lang.reflect.InvocationTargetException
        24: astore 5 /* e */
        start local 5 // java.lang.reflect.InvocationTargetException e
        25: .line 976
            aload 5 /* e */
            sipush 6000
        26: .line 977
            aload 0 /* this */
            invokevirtual org.hsqldb.Routine.getName:()Lorg/hsqldb/HsqlNameManager$HsqlName;
            getfield org.hsqldb.HsqlNameManager$HsqlName.name:Ljava/lang/String;
        27: .line 976
            invokestatic org.hsqldb.error.Error.error:(Ljava/lang/Throwable;ILjava/lang/String;)Lorg/hsqldb/HsqlException;
            invokestatic org.hsqldb.result.Result.newErrorResult:(Ljava/lang/Throwable;)Lorg/hsqldb/result/Result;
            astore 3 /* result */
        end local 5 // java.lang.reflect.InvocationTargetException e
        start local 3 // org.hsqldb.result.Result result
        28: goto 38
        end local 3 // org.hsqldb.result.Result result
        29: .line 978
      StackMap locals:
      StackMap stack: java.lang.IllegalAccessException
            astore 5 /* e */
        start local 5 // java.lang.IllegalAccessException e
        30: .line 979
            aload 5 /* e */
            sipush 6000
        31: .line 980
            aload 0 /* this */
            invokevirtual org.hsqldb.Routine.getName:()Lorg/hsqldb/HsqlNameManager$HsqlName;
            getfield org.hsqldb.HsqlNameManager$HsqlName.name:Ljava/lang/String;
        32: .line 979
            invokestatic org.hsqldb.error.Error.error:(Ljava/lang/Throwable;ILjava/lang/String;)Lorg/hsqldb/HsqlException;
            invokestatic org.hsqldb.result.Result.newErrorResult:(Ljava/lang/Throwable;)Lorg/hsqldb/result/Result;
            astore 3 /* result */
        end local 5 // java.lang.IllegalAccessException e
        start local 3 // org.hsqldb.result.Result result
        33: goto 38
        end local 3 // org.hsqldb.result.Result result
        34: .line 981
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 5 /* e */
        start local 5 // java.lang.Throwable e
        35: .line 982
            aload 5 /* e */
            sipush 6000
        36: .line 983
            aload 0 /* this */
            invokevirtual org.hsqldb.Routine.getName:()Lorg/hsqldb/HsqlNameManager$HsqlName;
            getfield org.hsqldb.HsqlNameManager$HsqlName.name:Ljava/lang/String;
        37: .line 982
            invokestatic org.hsqldb.error.Error.error:(Ljava/lang/Throwable;ILjava/lang/String;)Lorg/hsqldb/HsqlException;
            invokestatic org.hsqldb.result.Result.newErrorResult:(Ljava/lang/Throwable;)Lorg/hsqldb/result/Result;
            astore 3 /* result */
        end local 5 // java.lang.Throwable e
        start local 3 // org.hsqldb.result.Result result
        38: .line 986
      StackMap locals: org.hsqldb.Routine org.hsqldb.Session java.lang.Object[] org.hsqldb.result.Result org.hsqldb.HsqlNameManager$HsqlName
      StackMap stack:
            aload 1 /* session */
            aload 4 /* oldSessionSchema */
            invokevirtual org.hsqldb.Session.setCurrentSchemaHsqlName:(Lorg/hsqldb/HsqlNameManager$HsqlName;)V
        39: .line 988
            aload 3 /* result */
            areturn
        end local 4 // org.hsqldb.HsqlNameManager$HsqlName oldSessionSchema
        end local 3 // org.hsqldb.result.Result result
        end local 2 // java.lang.Object[] data
        end local 1 // org.hsqldb.Session session
        end local 0 // org.hsqldb.Routine this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   40     0              this  Lorg/hsqldb/Routine;
            0   40     1           session  Lorg/hsqldb/Session;
            0   40     2              data  [Ljava/lang/Object;
           15   16     3            result  Lorg/hsqldb/result/Result;
           23   24     3            result  Lorg/hsqldb/result/Result;
           28   29     3            result  Lorg/hsqldb/result/Result;
           33   34     3            result  Lorg/hsqldb/result/Result;
           38   40     3            result  Lorg/hsqldb/result/Result;
            1   40     4  oldSessionSchema  Lorg/hsqldb/HsqlNameManager$HsqlName;
           12   23     5       returnValue  Ljava/lang/Object;
           25   28     5                 e  Ljava/lang/reflect/InvocationTargetException;
           30   33     5                 e  Ljava/lang/IllegalAccessException;
           35   38     5                 e  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1    23      24  Class java.lang.reflect.InvocationTargetException
           1    23      29  Class java.lang.IllegalAccessException
           1    23      34  Class java.lang.Throwable
    MethodParameters:
         Name  Flags
      session  
      data     

  public org.hsqldb.result.Result invoke(org.hsqldb.Session, java.lang.Object[], java.lang.Object[], boolean);
    descriptor: (Lorg/hsqldb/Session;[Ljava/lang/Object;[Ljava/lang/Object;Z)Lorg/hsqldb/result/Result;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=8, args_size=5
        start local 0 // org.hsqldb.Routine this
        start local 1 // org.hsqldb.Session session
        start local 2 // java.lang.Object[] data
        start local 3 // java.lang.Object[] aggregateData
        start local 4 // boolean push
         0: .line 996
            iload 4 /* push */
            ifeq 2
         1: .line 997
            aload 1 /* session */
            getfield org.hsqldb.Session.sessionContext:Lorg/hsqldb/SessionContext;
            invokevirtual org.hsqldb.SessionContext.pushRoutineInvocation:()V
         2: .line 1000
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual org.hsqldb.Routine.isPSM:()Z
            ifeq 27
         3: .line 1002
            aload 1 /* session */
            getfield org.hsqldb.Session.sessionContext:Lorg/hsqldb/SessionContext;
            aload 2 /* data */
            putfield org.hsqldb.SessionContext.routineArguments:[Ljava/lang/Object;
         4: .line 1003
            aload 1 /* session */
            getfield org.hsqldb.Session.sessionContext:Lorg/hsqldb/SessionContext;
         5: .line 1004
            getstatic org.hsqldb.map.ValuePool.emptyObjectArray:[Ljava/lang/Object;
         6: .line 1003
            putfield org.hsqldb.SessionContext.routineVariables:[Ljava/lang/Object;
         7: .line 1006
            aload 0 /* this */
            getfield org.hsqldb.Routine.variableCount:I
            ifle 11
         8: .line 1007
            aload 1 /* session */
            getfield org.hsqldb.Session.sessionContext:Lorg/hsqldb/SessionContext;
         9: .line 1008
            aload 0 /* this */
            getfield org.hsqldb.Routine.variableCount:I
            anewarray java.lang.Object
        10: .line 1007
            putfield org.hsqldb.SessionContext.routineVariables:[Ljava/lang/Object;
        11: .line 1011
      StackMap locals:
      StackMap stack:
            aload 1 /* session */
            getfield org.hsqldb.Session.sessionContext:Lorg/hsqldb/SessionContext;
            getstatic org.hsqldb.result.Result.emptyArray:[Lorg/hsqldb/result/Result;
            putfield org.hsqldb.SessionContext.routineCursors:[Lorg/hsqldb/result/Result;
        12: .line 1013
            aload 0 /* this */
            getfield org.hsqldb.Routine.cursorCount:I
            ifle 16
        13: .line 1014
            aload 1 /* session */
            getfield org.hsqldb.Session.sessionContext:Lorg/hsqldb/SessionContext;
        14: .line 1015
            aload 0 /* this */
            getfield org.hsqldb.Routine.cursorCount:I
            anewarray org.hsqldb.result.Result
        15: .line 1014
            putfield org.hsqldb.SessionContext.routineCursors:[Lorg/hsqldb/result/Result;
        16: .line 1018
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.Routine.statement:Lorg/hsqldb/Statement;
            aload 1 /* session */
            invokevirtual org.hsqldb.Statement.execute:(Lorg/hsqldb/Session;)Lorg/hsqldb/result/Result;
            astore 5 /* result */
        start local 5 // org.hsqldb.result.Result result
        17: .line 1020
            aload 3 /* aggregateData */
            ifnull 38
        18: .line 1021
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        19: goto 22
        20: .line 1022
      StackMap locals: org.hsqldb.result.Result int
      StackMap stack:
            aload 3 /* aggregateData */
            iload 6 /* i */
            aload 2 /* data */
            iload 6 /* i */
            iconst_1
            iadd
            aaload
            aastore
        21: .line 1021
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        22: iload 6 /* i */
            aload 3 /* aggregateData */
            arraylength
            if_icmplt 20
        end local 6 // int i
        23: .line 1025
            goto 38
        end local 5 // org.hsqldb.result.Result result
      StackMap locals: org.hsqldb.Routine org.hsqldb.Session java.lang.Object[] java.lang.Object[] int
      StackMap stack: java.lang.Throwable
        24: astore 6 /* e */
        start local 6 // java.lang.Throwable e
        25: .line 1026
            aload 6 /* e */
            invokestatic org.hsqldb.result.Result.newErrorResult:(Ljava/lang/Throwable;)Lorg/hsqldb/result/Result;
            astore 5 /* result */
        end local 6 // java.lang.Throwable e
        start local 5 // org.hsqldb.result.Result result
        26: .line 1028
            goto 38
        end local 5 // org.hsqldb.result.Result result
        27: .line 1029
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.hsqldb.Routine.isAggregate:Z
            ifeq 29
        28: .line 1030
            aload 0 /* this */
            aload 1 /* session */
            aload 2 /* data */
            invokevirtual org.hsqldb.Routine.convertArgsToJava:(Lorg/hsqldb/Session;[Ljava/lang/Object;)[Ljava/lang/Object;
            astore 2 /* data */
        29: .line 1033
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* session */
            aload 2 /* data */
            invokevirtual org.hsqldb.Routine.invokeJavaMethod:(Lorg/hsqldb/Session;[Ljava/lang/Object;)Lorg/hsqldb/result/Result;
            astore 5 /* result */
        start local 5 // org.hsqldb.result.Result result
        30: .line 1035
            aload 0 /* this */
            getfield org.hsqldb.Routine.isAggregate:Z
            ifeq 38
        31: .line 1036
            aload 2 /* data */
            arraylength
            anewarray java.lang.Object
            astore 6 /* callResult */
        start local 6 // java.lang.Object[] callResult
        32: .line 1038
            aload 0 /* this */
            aload 1 /* session */
            aload 6 /* callResult */
            aload 2 /* data */
            invokevirtual org.hsqldb.Routine.convertArgsToSQL:(Lorg/hsqldb/Session;[Ljava/lang/Object;[Ljava/lang/Object;)V
        33: .line 1040
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        34: goto 37
        35: .line 1041
      StackMap locals: org.hsqldb.result.Result java.lang.Object[] int
      StackMap stack:
            aload 3 /* aggregateData */
            iload 7 /* i */
            aload 6 /* callResult */
            iload 7 /* i */
            iconst_1
            iadd
            aaload
            aastore
        36: .line 1040
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        37: iload 7 /* i */
            aload 3 /* aggregateData */
            arraylength
            if_icmplt 35
        end local 7 // int i
        end local 6 // java.lang.Object[] callResult
        38: .line 1046
      StackMap locals:
      StackMap stack:
            iload 4 /* push */
            ifeq 40
        39: .line 1047
            aload 1 /* session */
            getfield org.hsqldb.Session.sessionContext:Lorg/hsqldb/SessionContext;
            invokevirtual org.hsqldb.SessionContext.popRoutineInvocation:()V
        40: .line 1050
      StackMap locals:
      StackMap stack:
            aload 5 /* result */
            areturn
        end local 5 // org.hsqldb.result.Result result
        end local 4 // boolean push
        end local 3 // java.lang.Object[] aggregateData
        end local 2 // java.lang.Object[] data
        end local 1 // org.hsqldb.Session session
        end local 0 // org.hsqldb.Routine this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   41     0           this  Lorg/hsqldb/Routine;
            0   41     1        session  Lorg/hsqldb/Session;
            0   41     2           data  [Ljava/lang/Object;
            0   41     3  aggregateData  [Ljava/lang/Object;
            0   41     4           push  Z
           17   24     5         result  Lorg/hsqldb/result/Result;
           26   27     5         result  Lorg/hsqldb/result/Result;
           30   41     5         result  Lorg/hsqldb/result/Result;
           19   23     6              i  I
           25   26     6              e  Ljava/lang/Throwable;
           32   38     6     callResult  [Ljava/lang/Object;
           34   38     7              i  I
      Exception table:
        from    to  target  type
           3    23      24  Class java.lang.Throwable
    MethodParameters:
               Name  Flags
      session        
      data           
      aggregateData  
      push           

  public org.hsqldb.Routine duplicate();
    descriptor: ()Lorg/hsqldb/Routine;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.hsqldb.Routine this
         0: .line 1056
            aload 0 /* this */
            invokespecial java.lang.Object.clone:()Ljava/lang/Object;
            checkcast org.hsqldb.Routine
         1: areturn
         2: .line 1057
      StackMap locals:
      StackMap stack: java.lang.CloneNotSupportedException
            pop
         3: .line 1058
            sipush 201
            ldc "Type"
            invokestatic org.hsqldb.error.Error.runtimeError:(ILjava/lang/String;)Ljava/lang/RuntimeException;
            athrow
        end local 0 // org.hsqldb.Routine this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/hsqldb/Routine;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.CloneNotSupportedException

  static java.lang.reflect.Method getMethod(java.lang.String, org.hsqldb.Routine, boolean[], boolean);
    descriptor: (Ljava/lang/String;Lorg/hsqldb/Routine;[ZZ)Ljava/lang/reflect/Method;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=17, args_size=4
        start local 0 // java.lang.String name
        start local 1 // org.hsqldb.Routine routine
        start local 2 // boolean[] hasConnection
        start local 3 // boolean returnsTable
         0: .line 1065
            aload 0 /* name */
            bipush 58
            invokevirtual java.lang.String.indexOf:(I)I
            istore 4 /* i */
        start local 4 // int i
         1: .line 1067
            iload 4 /* i */
            iconst_m1
            if_icmpeq 5
         2: .line 1068
            aload 0 /* name */
            iconst_0
            iload 4 /* i */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            ldc "CLASSPATH"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 4
         3: .line 1069
            sipush 6012
            aload 0 /* name */
            invokestatic org.hsqldb.error.Error.error:(ILjava/lang/String;)Lorg/hsqldb/HsqlException;
            athrow
         4: .line 1072
      StackMap locals: int
      StackMap stack:
            aload 0 /* name */
            iload 4 /* i */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 0 /* name */
         5: .line 1075
      StackMap locals:
      StackMap stack:
            aload 0 /* name */
            invokestatic org.hsqldb.Routine.getMethods:(Ljava/lang/String;)[Ljava/lang/reflect/Method;
            astore 5 /* methods */
        start local 5 // java.lang.reflect.Method[] methods
         6: .line 1076
            iconst_m1
            istore 6 /* firstMismatch */
        start local 6 // int firstMismatch
         7: .line 1078
            iconst_0
            istore 4 /* i */
            goto 101
         8: .line 1079
      StackMap locals: java.lang.reflect.Method[] int
      StackMap stack:
            iconst_0
            istore 7 /* offset */
        start local 7 // int offset
         9: .line 1081
            aload 2 /* hasConnection */
            iconst_0
            iconst_0
            bastore
        10: .line 1083
            aload 5 /* methods */
            iload 4 /* i */
            aaload
            astore 8 /* method */
        start local 8 // java.lang.reflect.Method method
        11: .line 1084
            aload 8 /* method */
            invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
            astore 9 /* params */
        start local 9 // java.lang.Class[] params
        12: .line 1087
            aload 9 /* params */
            arraylength
            ifle 16
        13: .line 1088
            aload 9 /* params */
            iconst_0
            aaload
            ldc Ljava/sql/Connection;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 16
        14: .line 1089
            iconst_1
            istore 7 /* offset */
        15: .line 1090
            aload 2 /* hasConnection */
            iconst_0
            iconst_1
            bastore
        16: .line 1093
      StackMap locals: int java.lang.reflect.Method java.lang.Class[]
      StackMap stack:
            aload 9 /* params */
            arraylength
            iload 7 /* offset */
            isub
            istore 10 /* matchedParamCount */
        start local 10 // int matchedParamCount
        17: .line 1095
            aload 1 /* routine */
            invokevirtual org.hsqldb.Routine.isProcedure:()Z
            ifeq 29
        18: .line 1096
            iload 7 /* offset */
            istore 11 /* j */
        start local 11 // int j
        19: goto 28
        20: .line 1097
      StackMap locals: int int
      StackMap stack:
            aload 9 /* params */
            iload 11 /* j */
            aaload
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 27
        21: .line 1098
            ldc Ljava/sql/ResultSet;
        22: .line 1099
            aload 9 /* params */
            iload 11 /* j */
            aaload
            invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
        23: .line 1098
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
        24: .line 1099
            ifeq 27
        25: .line 1100
            iload 11 /* j */
            iload 7 /* offset */
            isub
            istore 10 /* matchedParamCount */
        26: .line 1102
            goto 29
        27: .line 1096
      StackMap locals:
      StackMap stack:
            iinc 11 /* j */ 1
      StackMap locals:
      StackMap stack:
        28: iload 11 /* j */
            aload 9 /* params */
            arraylength
            if_icmplt 20
        end local 11 // int j
        29: .line 1107
      StackMap locals:
      StackMap stack:
            iload 10 /* matchedParamCount */
            aload 1 /* routine */
            getfield org.hsqldb.Routine.parameterTypes:[Lorg/hsqldb/types/Type;
            arraylength
            if_icmpeq 31
        30: .line 1108
            goto 100
        31: .line 1111
      StackMap locals:
      StackMap stack:
            iload 3 /* returnsTable */
            ifeq 37
        32: .line 1112
            ldc Ljava/sql/ResultSet;
        33: .line 1113
            aload 8 /* method */
            invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
        34: .line 1112
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
        35: .line 1113
            ifne 51
        36: .line 1114
            goto 100
        37: .line 1118
      StackMap locals:
      StackMap stack:
            aload 8 /* method */
            invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
            invokestatic org.hsqldb.types.Types.getParameterSQLType:(Ljava/lang/Class;)Lorg/hsqldb/types/Type;
        38: .line 1117
            astore 11 /* methodReturnType */
        start local 11 // org.hsqldb.types.Type methodReturnType
        39: .line 1120
            aload 11 /* methodReturnType */
            ifnonnull 41
        40: .line 1121
            goto 100
        41: .line 1124
      StackMap locals: org.hsqldb.types.Type
      StackMap stack:
            aload 1 /* routine */
            getfield org.hsqldb.Routine.returnType:Lorg/hsqldb/types/Type;
            aload 11 /* methodReturnType */
            invokevirtual org.hsqldb.types.Type.canBeAssignedFrom:(Lorg/hsqldb/types/Type;)Z
            ifne 43
        42: .line 1125
            goto 100
        43: .line 1128
      StackMap locals:
      StackMap stack:
            aload 11 /* methodReturnType */
            invokevirtual org.hsqldb.types.Type.isLobType:()Z
            ifne 46
        44: .line 1129
            aload 11 /* methodReturnType */
            invokevirtual org.hsqldb.types.Type.isBinaryType:()Z
            ifne 51
        45: .line 1130
            aload 11 /* methodReturnType */
            invokevirtual org.hsqldb.types.Type.isCharacterType:()Z
            ifne 51
        46: .line 1134
      StackMap locals:
      StackMap stack:
            aload 1 /* routine */
            getfield org.hsqldb.Routine.returnType:Lorg/hsqldb/types/Type;
            getfield org.hsqldb.types.Type.typeCode:I
            istore 12 /* routineRetType */
        start local 12 // int routineRetType
        47: .line 1136
            iload 12 /* routineRetType */
            iconst_2
            if_icmpne 49
        48: .line 1137
            iconst_3
            istore 12 /* routineRetType */
        49: .line 1140
      StackMap locals: int
      StackMap stack:
            aload 11 /* methodReturnType */
            getfield org.hsqldb.types.Type.typeCode:I
            iload 12 /* routineRetType */
            if_icmpeq 51
        50: .line 1141
            goto 100
        end local 12 // int routineRetType
        end local 11 // org.hsqldb.types.Type methodReturnType
        51: .line 1146
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 11 /* j */
        start local 11 // int j
        52: goto 89
        53: .line 1147
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 12 /* isInOut */
        start local 12 // boolean isInOut
        54: .line 1148
            aload 9 /* params */
            iload 11 /* j */
            iload 7 /* offset */
            iadd
            aaload
            astore 13 /* param */
        start local 13 // java.lang.Class param
        55: .line 1150
            aload 13 /* param */
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 62
        56: .line 1151
            ldc [B
            aload 13 /* param */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 62
        57: .line 1152
            aload 13 /* param */
            invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
            astore 13 /* param */
        58: .line 1154
            aload 13 /* param */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifeq 61
        59: .line 1155
            aconst_null
            astore 8 /* method */
        60: .line 1157
            goto 90
        61: .line 1160
      StackMap locals: int java.lang.Class
      StackMap stack:
            iconst_1
            istore 12 /* isInOut */
        62: .line 1164
      StackMap locals:
      StackMap stack:
            aload 13 /* param */
            invokestatic org.hsqldb.types.Types.getParameterSQLType:(Ljava/lang/Class;)Lorg/hsqldb/types/Type;
            astore 14 /* methodParamType */
        start local 14 // org.hsqldb.types.Type methodParamType
        63: .line 1166
            aload 14 /* methodParamType */
            ifnonnull 66
        64: .line 1167
            aconst_null
            astore 8 /* method */
        65: .line 1169
            goto 90
        66: .line 1172
      StackMap locals: org.hsqldb.types.Type
      StackMap stack:
            aload 1 /* routine */
            getfield org.hsqldb.Routine.parameterTypes:[Lorg/hsqldb/types/Type;
            iload 11 /* j */
            aaload
            getfield org.hsqldb.types.Type.typeComparisonGroup:I
        67: .line 1173
            aload 14 /* methodParamType */
            getfield org.hsqldb.types.Type.typeComparisonGroup:I
        68: .line 1172
            if_icmpne 69
            iconst_1
            goto 70
      StackMap locals:
      StackMap stack:
        69: iconst_0
      StackMap locals:
      StackMap stack: int
        70: istore 15 /* result */
        start local 15 // boolean result
        71: .line 1176
            iload 15 /* result */
            ifeq 78
            aload 1 /* routine */
            getfield org.hsqldb.Routine.parameterTypes:[Lorg/hsqldb/types/Type;
            iload 11 /* j */
            aaload
            invokevirtual org.hsqldb.types.Type.isNumberType:()Z
            ifeq 78
        72: .line 1177
            aload 1 /* routine */
            getfield org.hsqldb.Routine.parameterTypes:[Lorg/hsqldb/types/Type;
            iload 11 /* j */
            aaload
            getfield org.hsqldb.types.Type.typeCode:I
            istore 16 /* routineParamType */
        start local 16 // int routineParamType
        73: .line 1179
            iload 16 /* routineParamType */
            iconst_2
            if_icmpne 75
        74: .line 1180
            iconst_3
            istore 16 /* routineParamType */
        75: .line 1183
      StackMap locals: int int
      StackMap stack:
            iload 16 /* routineParamType */
            aload 14 /* methodParamType */
            getfield org.hsqldb.types.Type.typeCode:I
            if_icmpne 76
            iconst_1
            goto 77
      StackMap locals:
      StackMap stack:
        76: iconst_0
      StackMap locals:
      StackMap stack: int
        77: istore 15 /* result */
        end local 16 // int routineParamType
        78: .line 1186
      StackMap locals:
      StackMap stack:
            iload 12 /* isInOut */
            ifeq 83
        79: .line 1187
            aload 1 /* routine */
            iload 11 /* j */
            invokevirtual org.hsqldb.Routine.getParameter:(I)Lorg/hsqldb/ColumnSchema;
            getfield org.hsqldb.ColumnSchema.parameterMode:B
        80: .line 1188
            iconst_1
        81: .line 1187
            if_icmpne 83
        82: .line 1189
            iconst_0
            istore 15 /* result */
        83: .line 1192
      StackMap locals:
      StackMap stack:
            iload 15 /* result */
            ifne 88
        84: .line 1193
            aconst_null
            astore 8 /* method */
        85: .line 1195
            iload 11 /* j */
            iload 7 /* offset */
            iadd
            iload 6 /* firstMismatch */
            if_icmple 90
        86: .line 1196
            iload 11 /* j */
            iload 7 /* offset */
            iadd
            istore 6 /* firstMismatch */
        87: .line 1199
            goto 90
        end local 15 // boolean result
        end local 14 // org.hsqldb.types.Type methodParamType
        end local 13 // java.lang.Class param
        end local 12 // boolean isInOut
        88: .line 1146
      StackMap locals: java.lang.String org.hsqldb.Routine boolean[] int int java.lang.reflect.Method[] int int java.lang.reflect.Method java.lang.Class[] int int
      StackMap stack:
            iinc 11 /* j */ 1
      StackMap locals:
      StackMap stack:
        89: iload 11 /* j */
            aload 1 /* routine */
            getfield org.hsqldb.Routine.parameterTypes:[Lorg/hsqldb/types/Type;
            arraylength
            if_icmplt 53
        end local 11 // int j
        90: .line 1203
      StackMap locals:
      StackMap stack:
            aload 8 /* method */
            ifnull 100
        91: .line 1204
            iconst_0
            istore 11 /* j */
        start local 11 // int j
        92: goto 98
        93: .line 1205
      StackMap locals: int
      StackMap stack:
            aload 1 /* routine */
            iload 11 /* j */
            invokevirtual org.hsqldb.Routine.getParameter:(I)Lorg/hsqldb/ColumnSchema;
        94: .line 1206
            aload 9 /* params */
            iload 11 /* j */
            iload 7 /* offset */
            iadd
            aaload
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifeq 95
            iconst_0
            goto 96
      StackMap locals:
      StackMap stack: org.hsqldb.ColumnSchema
        95: iconst_1
        96: .line 1205
      StackMap locals: java.lang.String org.hsqldb.Routine boolean[] int int java.lang.reflect.Method[] int int java.lang.reflect.Method java.lang.Class[] int int
      StackMap stack: org.hsqldb.ColumnSchema int
            invokevirtual org.hsqldb.ColumnSchema.setNullable:(Z)V
        97: .line 1204
            iinc 11 /* j */ 1
      StackMap locals:
      StackMap stack:
        98: iload 11 /* j */
            aload 1 /* routine */
            getfield org.hsqldb.Routine.parameterTypes:[Lorg/hsqldb/types/Type;
            arraylength
            if_icmplt 93
        end local 11 // int j
        99: .line 1209
            aload 8 /* method */
            areturn
        end local 10 // int matchedParamCount
        end local 9 // java.lang.Class[] params
        end local 8 // java.lang.reflect.Method method
        end local 7 // int offset
       100: .line 1078
      StackMap locals: java.lang.String org.hsqldb.Routine boolean[] int int java.lang.reflect.Method[] int
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
       101: iload 4 /* i */
            aload 5 /* methods */
            arraylength
            if_icmplt 8
       102: .line 1213
            iload 6 /* firstMismatch */
            iflt 105
       103: .line 1214
            aload 1 /* routine */
            iload 6 /* firstMismatch */
            invokevirtual org.hsqldb.Routine.getParameter:(I)Lorg/hsqldb/ColumnSchema;
            astore 7 /* param */
        start local 7 // org.hsqldb.ColumnSchema param
       104: .line 1216
            sipush 6021
            aload 7 /* param */
            invokevirtual org.hsqldb.ColumnSchema.getNameString:()Ljava/lang/String;
            invokestatic org.hsqldb.error.Error.error:(ILjava/lang/String;)Lorg/hsqldb/HsqlException;
            athrow
        end local 7 // org.hsqldb.ColumnSchema param
       105: .line 1219
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 6 // int firstMismatch
        end local 5 // java.lang.reflect.Method[] methods
        end local 4 // int i
        end local 3 // boolean returnsTable
        end local 2 // boolean[] hasConnection
        end local 1 // org.hsqldb.Routine routine
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0  106     0               name  Ljava/lang/String;
            0  106     1            routine  Lorg/hsqldb/Routine;
            0  106     2      hasConnection  [Z
            0  106     3       returnsTable  Z
            1  106     4                  i  I
            6  106     5            methods  [Ljava/lang/reflect/Method;
            7  106     6      firstMismatch  I
            9  100     7             offset  I
           11  100     8             method  Ljava/lang/reflect/Method;
           12  100     9             params  [Ljava/lang/Class;
           17  100    10  matchedParamCount  I
           19   29    11                  j  I
           39   51    11   methodReturnType  Lorg/hsqldb/types/Type;
           47   51    12     routineRetType  I
           52   90    11                  j  I
           54   88    12            isInOut  Z
           55   88    13              param  Ljava/lang/Class;
           63   88    14    methodParamType  Lorg/hsqldb/types/Type;
           71   88    15             result  Z
           73   78    16   routineParamType  I
           92   99    11                  j  I
          104  105     7              param  Lorg/hsqldb/ColumnSchema;
    MethodParameters:
               Name  Flags
      name           
      routine        
      hasConnection  
      returnsTable   

  static java.lang.reflect.Method[] getMethods(java.lang.String);
    descriptor: (Ljava/lang/String;)[Ljava/lang/reflect/Method;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=7, locals=15, args_size=1
        start local 0 // java.lang.String name
         0: .line 1224
            aload 0 /* name */
            bipush 46
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 1 /* i */
        start local 1 // int i
         1: .line 1226
            iload 1 /* i */
            iconst_m1
            if_icmpne 3
         2: .line 1227
            sipush 5501
            aload 0 /* name */
            invokestatic org.hsqldb.error.Error.error:(ILjava/lang/String;)Lorg/hsqldb/HsqlException;
            athrow
         3: .line 1230
      StackMap locals: int
      StackMap stack:
            aload 0 /* name */
            iconst_0
            iload 1 /* i */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 2 /* className */
        start local 2 // java.lang.String className
         4: .line 1231
            aload 0 /* name */
            iload 1 /* i */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 3 /* methodname */
        start local 3 // java.lang.String methodname
         5: .line 1233
            aconst_null
            astore 5 /* methods */
        start local 5 // java.lang.reflect.Method[] methods
         6: .line 1235
            aload 0 /* name */
            invokestatic org.hsqldb.persist.HsqlDatabaseProperties.supportsJavaMethod:(Ljava/lang/String;)Z
            ifne 8
         7: .line 1236
            sipush 5501
            aload 2 /* className */
            invokestatic org.hsqldb.error.Error.error:(ILjava/lang/String;)Lorg/hsqldb/HsqlException;
            athrow
         8: .line 1240
      StackMap locals: java.lang.String int java.lang.String java.lang.String top java.lang.reflect.Method[]
      StackMap stack:
            aload 2 /* className */
            iconst_1
         9: .line 1241
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
        10: .line 1240
            invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
            astore 4 /* cl */
        start local 4 // java.lang.Class cl
        11: .line 1242
            goto 20
        end local 4 // java.lang.Class cl
      StackMap locals:
      StackMap stack: java.lang.Throwable
        12: pop
        13: .line 1244
            aload 2 /* className */
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 4 /* cl */
        start local 4 // java.lang.Class cl
        14: .line 1245
            goto 20
        end local 4 // java.lang.Class cl
      StackMap locals:
      StackMap stack: java.lang.Throwable
        15: astore 6 /* t */
        start local 6 // java.lang.Throwable t
        16: .line 1246
            aload 6 /* t */
            sipush 5501
        17: .line 1247
            bipush 26
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
        18: .line 1248
            aload 6 /* t */
            invokevirtual java.lang.Throwable.toString:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 2 /* className */
            aastore
        19: .line 1246
            invokestatic org.hsqldb.error.Error.error:(Ljava/lang/Throwable;II[Ljava/lang/Object;)Lorg/hsqldb/HsqlException;
            athrow
        end local 6 // java.lang.Throwable t
        start local 4 // java.lang.Class cl
        20: .line 1254
      StackMap locals: java.lang.String int java.lang.String java.lang.String java.lang.Class java.lang.reflect.Method[]
      StackMap stack:
            aload 4 /* cl */
            invokevirtual java.lang.Class.getMethods:()[Ljava/lang/reflect/Method;
            astore 5 /* methods */
        21: .line 1255
            goto 27
      StackMap locals:
      StackMap stack: java.lang.Throwable
        22: astore 6 /* t */
        start local 6 // java.lang.Throwable t
        23: .line 1256
            aload 6 /* t */
            sipush 5501
            bipush 26
        24: .line 1257
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
        25: .line 1258
            aload 6 /* t */
            invokevirtual java.lang.Throwable.toString:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 2 /* className */
            aastore
        26: .line 1256
            invokestatic org.hsqldb.error.Error.error:(Ljava/lang/Throwable;II[Ljava/lang/Object;)Lorg/hsqldb/HsqlException;
            athrow
        end local 6 // java.lang.Throwable t
        27: .line 1262
      StackMap locals:
      StackMap stack:
            new org.hsqldb.lib.HsqlArrayList
            dup
            invokespecial org.hsqldb.lib.HsqlArrayList.<init>:()V
            astore 6 /* list */
        start local 6 // org.hsqldb.lib.HsqlArrayList list
        28: .line 1264
            iconst_0
            istore 1 /* i */
            goto 80
        29: .line 1265
      StackMap locals: org.hsqldb.lib.HsqlArrayList
      StackMap stack:
            iconst_0
            istore 7 /* offset */
        start local 7 // int offset
        30: .line 1266
            ldc 2147483647
            istore 8 /* endIndex */
        start local 8 // int endIndex
        31: .line 1267
            aload 5 /* methods */
            iload 1 /* i */
            aaload
            astore 9 /* method */
        start local 9 // java.lang.reflect.Method method
        32: .line 1268
            aload 9 /* method */
            invokevirtual java.lang.reflect.Method.getModifiers:()I
            istore 10 /* modifiers */
        start local 10 // int modifiers
        33: .line 1270
            aload 9 /* method */
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
            aload 3 /* methodname */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 79
        34: .line 1271
            iload 10 /* modifiers */
            invokestatic java.lang.reflect.Modifier.isStatic:(I)Z
            ifeq 79
        35: .line 1272
            iload 10 /* modifiers */
            invokestatic java.lang.reflect.Modifier.isPublic:(I)Z
            ifne 37
        36: .line 1273
            goto 79
        37: .line 1276
      StackMap locals: java.lang.String int java.lang.String java.lang.String java.lang.Class java.lang.reflect.Method[] org.hsqldb.lib.HsqlArrayList int int java.lang.reflect.Method int
      StackMap stack:
            aload 5 /* methods */
            iload 1 /* i */
            aaload
            invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
            astore 11 /* params */
        start local 11 // java.lang.Class[] params
        38: .line 1278
            aload 11 /* params */
            arraylength
            ifle 41
        39: .line 1279
            aload 11 /* params */
            iconst_0
            aaload
            ldc Ljava/sql/Connection;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 41
        40: .line 1280
            iconst_1
            istore 7 /* offset */
        41: .line 1283
      StackMap locals: java.lang.Class[]
      StackMap stack:
            iload 7 /* offset */
            istore 12 /* j */
        start local 12 // int j
        42: goto 66
        43: .line 1284
      StackMap locals: int
      StackMap stack:
            aload 11 /* params */
            iload 12 /* j */
            aaload
            astore 13 /* param */
        start local 13 // java.lang.Class param
        44: .line 1286
            aload 13 /* param */
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 58
        45: .line 1287
            ldc [B
            aload 13 /* param */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 53
        46: .line 1288
            aload 13 /* param */
            invokevirtual java.lang.Class.getComponentType:()Ljava/lang/Class;
            astore 13 /* param */
        47: .line 1290
            aload 13 /* param */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifeq 50
        48: .line 1291
            aconst_null
            astore 9 /* method */
        49: .line 1293
            goto 67
        50: .line 1296
      StackMap locals: java.lang.Class
      StackMap stack:
            ldc Ljava/sql/ResultSet;
            aload 13 /* param */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 53
        51: .line 1297
            iload 8 /* endIndex */
            iload 12 /* j */
            if_icmple 53
        52: .line 1298
            iload 12 /* j */
            istore 8 /* endIndex */
        53: .line 1303
      StackMap locals:
      StackMap stack:
            iload 12 /* j */
            iload 8 /* endIndex */
            if_icmplt 61
        54: .line 1304
            ldc Ljava/sql/ResultSet;
            aload 13 /* param */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 56
        55: .line 1305
            goto 65
        56: .line 1307
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 9 /* method */
        57: .line 1309
            goto 67
        58: .line 1313
      StackMap locals:
      StackMap stack:
            iload 12 /* j */
            iload 8 /* endIndex */
            if_icmple 61
        59: .line 1314
            aconst_null
            astore 9 /* method */
        60: .line 1316
            goto 67
        61: .line 1320
      StackMap locals:
      StackMap stack:
            aload 13 /* param */
            invokestatic org.hsqldb.types.Types.getParameterSQLType:(Ljava/lang/Class;)Lorg/hsqldb/types/Type;
            astore 14 /* methodParamType */
        start local 14 // org.hsqldb.types.Type methodParamType
        62: .line 1322
            aload 14 /* methodParamType */
            ifnonnull 65
        63: .line 1323
            aconst_null
            astore 9 /* method */
        64: .line 1325
            goto 67
        end local 14 // org.hsqldb.types.Type methodParamType
        end local 13 // java.lang.Class param
        65: .line 1283
      StackMap locals:
      StackMap stack:
            iinc 12 /* j */ 1
      StackMap locals:
      StackMap stack:
        66: iload 12 /* j */
            aload 11 /* params */
            arraylength
            if_icmplt 43
        end local 12 // int j
        67: .line 1329
      StackMap locals:
      StackMap stack:
            aload 9 /* method */
            ifnonnull 69
        68: .line 1330
            goto 79
        69: .line 1333
      StackMap locals:
      StackMap stack:
            ldc Ljava/sql/ResultSet;
        70: .line 1334
            aload 9 /* method */
            invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
        71: .line 1333
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
        72: .line 1334
            ifeq 75
        73: .line 1335
            aload 6 /* list */
            aload 5 /* methods */
            iload 1 /* i */
            aaload
            invokevirtual org.hsqldb.lib.HsqlArrayList.add:(Ljava/lang/Object;)Z
            pop
        74: .line 1336
            goto 79
        75: .line 1338
      StackMap locals:
      StackMap stack:
            aload 9 /* method */
            invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
            invokestatic org.hsqldb.types.Types.getParameterSQLType:(Ljava/lang/Class;)Lorg/hsqldb/types/Type;
        76: .line 1337
            astore 12 /* methodReturnType */
        start local 12 // org.hsqldb.types.Type methodReturnType
        77: .line 1340
            aload 12 /* methodReturnType */
            ifnull 79
        78: .line 1341
            aload 6 /* list */
            aload 5 /* methods */
            iload 1 /* i */
            aaload
            invokevirtual org.hsqldb.lib.HsqlArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 12 // org.hsqldb.types.Type methodReturnType
        end local 11 // java.lang.Class[] params
        end local 10 // int modifiers
        end local 9 // java.lang.reflect.Method method
        end local 8 // int endIndex
        end local 7 // int offset
        79: .line 1264
      StackMap locals: java.lang.String int java.lang.String java.lang.String java.lang.Class java.lang.reflect.Method[] org.hsqldb.lib.HsqlArrayList
      StackMap stack:
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
        80: iload 1 /* i */
            aload 5 /* methods */
            arraylength
            if_icmplt 29
        81: .line 1346
            aload 6 /* list */
            invokevirtual org.hsqldb.lib.HsqlArrayList.size:()I
            anewarray java.lang.reflect.Method
            astore 5 /* methods */
        82: .line 1348
            aload 6 /* list */
            aload 5 /* methods */
            invokevirtual org.hsqldb.lib.HsqlArrayList.toArray:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        83: .line 1350
            aload 5 /* methods */
            areturn
        end local 6 // org.hsqldb.lib.HsqlArrayList list
        end local 5 // java.lang.reflect.Method[] methods
        end local 4 // java.lang.Class cl
        end local 3 // java.lang.String methodname
        end local 2 // java.lang.String className
        end local 1 // int i
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   84     0              name  Ljava/lang/String;
            1   84     1                 i  I
            4   84     2         className  Ljava/lang/String;
            5   84     3        methodname  Ljava/lang/String;
           11   12     4                cl  Ljava/lang/Class;
           14   15     4                cl  Ljava/lang/Class;
           20   84     4                cl  Ljava/lang/Class;
            6   84     5           methods  [Ljava/lang/reflect/Method;
           16   20     6                 t  Ljava/lang/Throwable;
           23   27     6                 t  Ljava/lang/Throwable;
           28   84     6              list  Lorg/hsqldb/lib/HsqlArrayList;
           30   79     7            offset  I
           31   79     8          endIndex  I
           32   79     9            method  Ljava/lang/reflect/Method;
           33   79    10         modifiers  I
           38   79    11            params  [Ljava/lang/Class;
           42   67    12                 j  I
           44   65    13             param  Ljava/lang/Class;
           62   65    14   methodParamType  Lorg/hsqldb/types/Type;
           77   79    12  methodReturnType  Lorg/hsqldb/types/Type;
      Exception table:
        from    to  target  type
           8    11      12  Class java.lang.Throwable
          13    14      15  Class java.lang.Throwable
          20    21      22  Class java.lang.Throwable
    MethodParameters:
      Name  Flags
      name  

  public static org.hsqldb.Routine[] newRoutines(org.hsqldb.Session, java.lang.reflect.Method[]);
    descriptor: (Lorg/hsqldb/Session;[Ljava/lang/reflect/Method;)[Lorg/hsqldb/Routine;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // org.hsqldb.Session session
        start local 1 // java.lang.reflect.Method[] methods
         0: .line 1355
            aload 1 /* methods */
            arraylength
            anewarray org.hsqldb.Routine
            astore 2 /* routines */
        start local 2 // org.hsqldb.Routine[] routines
         1: .line 1357
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 6
         3: .line 1358
      StackMap locals: org.hsqldb.Routine[] int
      StackMap stack:
            aload 1 /* methods */
            iload 3 /* i */
            aaload
            astore 4 /* method */
        start local 4 // java.lang.reflect.Method method
         4: .line 1360
            aload 2 /* routines */
            iload 3 /* i */
            aload 0 /* session */
            aload 4 /* method */
            invokestatic org.hsqldb.Routine.newRoutine:(Lorg/hsqldb/Session;Ljava/lang/reflect/Method;)Lorg/hsqldb/Routine;
            aastore
        end local 4 // java.lang.reflect.Method method
         5: .line 1357
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            aload 1 /* methods */
            arraylength
            if_icmplt 3
        end local 3 // int i
         7: .line 1363
            aload 2 /* routines */
            areturn
        end local 2 // org.hsqldb.Routine[] routines
        end local 1 // java.lang.reflect.Method[] methods
        end local 0 // org.hsqldb.Session session
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    8     0   session  Lorg/hsqldb/Session;
            0    8     1   methods  [Ljava/lang/reflect/Method;
            1    8     2  routines  [Lorg/hsqldb/Routine;
            2    7     3         i  I
            4    5     4    method  Ljava/lang/reflect/Method;
    MethodParameters:
         Name  Flags
      session  
      methods  

  public static org.hsqldb.Routine newRoutine(org.hsqldb.Session, java.lang.reflect.Method);
    descriptor: (Lorg/hsqldb/Session;Ljava/lang/reflect/Method;)Lorg/hsqldb/Routine;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=12, args_size=2
        start local 0 // org.hsqldb.Session session
        start local 1 // java.lang.reflect.Method method
         0: .line 1371
            new org.hsqldb.Routine
            dup
            bipush 16
            invokespecial org.hsqldb.Routine.<init>:(I)V
            astore 2 /* routine */
        start local 2 // org.hsqldb.Routine routine
         1: .line 1372
            iconst_0
            istore 3 /* offset */
        start local 3 // int offset
         2: .line 1373
            aload 1 /* method */
            invokevirtual java.lang.reflect.Method.getParameterTypes:()[Ljava/lang/Class;
            astore 4 /* params */
        start local 4 // java.lang.Class[] params
         3: .line 1374
            aload 1 /* method */
            invokevirtual java.lang.reflect.Method.getDeclaringClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            astore 5 /* className */
        start local 5 // java.lang.String className
         4: .line 1375
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 6 /* sb */
        start local 6 // java.lang.StringBuilder sb
         5: .line 1377
            aload 6 /* sb */
            ldc "CLASSPATH:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         6: .line 1378
            aload 6 /* sb */
            aload 1 /* method */
            invokevirtual java.lang.reflect.Method.getDeclaringClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 46
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         7: .line 1379
            aload 6 /* sb */
            aload 1 /* method */
            invokevirtual java.lang.reflect.Method.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         8: .line 1381
            aload 4 /* params */
            arraylength
            ifle 10
            aload 4 /* params */
            iconst_0
            aaload
            ldc Ljava/sql/Connection;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 10
         9: .line 1382
            iconst_1
            istore 3 /* offset */
        10: .line 1385
      StackMap locals: org.hsqldb.Session java.lang.reflect.Method org.hsqldb.Routine int java.lang.Class[] java.lang.String java.lang.StringBuilder
      StackMap stack:
            aload 6 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 7 /* name */
        start local 7 // java.lang.String name
        11: .line 1387
            aload 5 /* className */
            ldc "java.lang.Math"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 13
        12: .line 1388
            aload 2 /* routine */
            iconst_1
            putfield org.hsqldb.Routine.isLibraryRoutine:Z
        13: .line 1391
      StackMap locals: java.lang.String
      StackMap stack:
            iload 3 /* offset */
            istore 8 /* j */
        start local 8 // int j
        14: goto 26
        15: .line 1392
      StackMap locals: int
      StackMap stack:
            aload 4 /* params */
            iload 8 /* j */
            aaload
            invokestatic org.hsqldb.types.Types.getParameterSQLType:(Ljava/lang/Class;)Lorg/hsqldb/types/Type;
            astore 9 /* methodParamType */
        start local 9 // org.hsqldb.types.Type methodParamType
        16: .line 1393
            aload 0 /* session */
            getfield org.hsqldb.Session.database:Lorg/hsqldb/Database;
            getfield org.hsqldb.Database.nameManager:Lorg/hsqldb/HsqlNameManager;
            new java.lang.StringBuilder
            dup
            ldc "C"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        17: .line 1394
            iload 8 /* j */
            iload 3 /* offset */
            isub
            iconst_1
            iadd
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_0
            bipush 23
        18: .line 1393
            invokevirtual org.hsqldb.HsqlNameManager.newHsqlName:(Ljava/lang/String;ZI)Lorg/hsqldb/HsqlNameManager$HsqlName;
            astore 10 /* colName */
        start local 10 // org.hsqldb.HsqlNameManager$HsqlName colName
        19: .line 1395
            new org.hsqldb.ColumnSchema
            dup
            aload 10 /* colName */
            aload 9 /* methodParamType */
        20: .line 1396
            aload 4 /* params */
            iload 8 /* j */
            aaload
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifeq 21
            iconst_0
            goto 22
      StackMap locals: org.hsqldb.Session java.lang.reflect.Method org.hsqldb.Routine int java.lang.Class[] java.lang.String java.lang.StringBuilder java.lang.String int org.hsqldb.types.Type org.hsqldb.HsqlNameManager$HsqlName
      StackMap stack: new 19 new 19 org.hsqldb.HsqlNameManager$HsqlName org.hsqldb.types.Type
        21: iconst_1
        22: .line 1397
      StackMap locals: org.hsqldb.Session java.lang.reflect.Method org.hsqldb.Routine int java.lang.Class[] java.lang.String java.lang.StringBuilder java.lang.String int org.hsqldb.types.Type org.hsqldb.HsqlNameManager$HsqlName
      StackMap stack: new 19 new 19 org.hsqldb.HsqlNameManager$HsqlName org.hsqldb.types.Type int
            iconst_0
            aconst_null
        23: .line 1395
            invokespecial org.hsqldb.ColumnSchema.<init>:(Lorg/hsqldb/HsqlNameManager$HsqlName;Lorg/hsqldb/types/Type;ZZLorg/hsqldb/Expression;)V
            astore 11 /* param */
        start local 11 // org.hsqldb.ColumnSchema param
        24: .line 1399
            aload 2 /* routine */
            aload 11 /* param */
            invokevirtual org.hsqldb.Routine.addParameter:(Lorg/hsqldb/ColumnSchema;)V
        end local 11 // org.hsqldb.ColumnSchema param
        end local 10 // org.hsqldb.HsqlNameManager$HsqlName colName
        end local 9 // org.hsqldb.types.Type methodParamType
        25: .line 1391
            iinc 8 /* j */ 1
      StackMap locals:
      StackMap stack:
        26: iload 8 /* j */
            aload 4 /* params */
            arraylength
            if_icmplt 15
        end local 8 // int j
        27: .line 1402
            aload 2 /* routine */
            iconst_1
            invokevirtual org.hsqldb.Routine.setLanguage:(I)V
        28: .line 1403
            aload 2 /* routine */
            aload 1 /* method */
            invokevirtual org.hsqldb.Routine.setMethod:(Ljava/lang/reflect/Method;)V
        29: .line 1404
            aload 2 /* routine */
            aload 7 /* name */
            invokevirtual org.hsqldb.Routine.setMethodURL:(Ljava/lang/String;)V
        30: .line 1405
            aload 2 /* routine */
            iconst_1
            invokevirtual org.hsqldb.Routine.setDataImpact:(I)V
        31: .line 1408
            aload 1 /* method */
            invokevirtual java.lang.reflect.Method.getReturnType:()Ljava/lang/Class;
            invokestatic org.hsqldb.types.Types.getParameterSQLType:(Ljava/lang/Class;)Lorg/hsqldb/types/Type;
        32: .line 1407
            astore 8 /* methodReturnType */
        start local 8 // org.hsqldb.types.Type methodReturnType
        33: .line 1410
            aload 2 /* routine */
            iload 3 /* offset */
            iconst_1
            if_icmpne 34
            iconst_1
            goto 35
      StackMap locals: org.hsqldb.Session java.lang.reflect.Method org.hsqldb.Routine int java.lang.Class[] java.lang.String java.lang.StringBuilder java.lang.String org.hsqldb.types.Type
      StackMap stack: org.hsqldb.Routine
        34: iconst_0
      StackMap locals: org.hsqldb.Session java.lang.reflect.Method org.hsqldb.Routine int java.lang.Class[] java.lang.String java.lang.StringBuilder java.lang.String org.hsqldb.types.Type
      StackMap stack: org.hsqldb.Routine int
        35: putfield org.hsqldb.Routine.javaMethodWithConnection:Z
        36: .line 1412
            aload 2 /* routine */
            aload 8 /* methodReturnType */
            invokevirtual org.hsqldb.Routine.setReturnType:(Lorg/hsqldb/types/Type;)V
        37: .line 1413
            aload 2 /* routine */
            aload 0 /* session */
            invokevirtual org.hsqldb.Routine.resolve:(Lorg/hsqldb/Session;)V
        38: .line 1415
            aload 2 /* routine */
            areturn
        end local 8 // org.hsqldb.types.Type methodReturnType
        end local 7 // java.lang.String name
        end local 6 // java.lang.StringBuilder sb
        end local 5 // java.lang.String className
        end local 4 // java.lang.Class[] params
        end local 3 // int offset
        end local 2 // org.hsqldb.Routine routine
        end local 1 // java.lang.reflect.Method method
        end local 0 // org.hsqldb.Session session
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   39     0           session  Lorg/hsqldb/Session;
            0   39     1            method  Ljava/lang/reflect/Method;
            1   39     2           routine  Lorg/hsqldb/Routine;
            2   39     3            offset  I
            3   39     4            params  [Ljava/lang/Class;
            4   39     5         className  Ljava/lang/String;
            5   39     6                sb  Ljava/lang/StringBuilder;
           11   39     7              name  Ljava/lang/String;
           14   27     8                 j  I
           16   25     9   methodParamType  Lorg/hsqldb/types/Type;
           19   25    10           colName  Lorg/hsqldb/HsqlNameManager$HsqlName;
           24   25    11             param  Lorg/hsqldb/ColumnSchema;
           33   39     8  methodReturnType  Lorg/hsqldb/types/Type;
    MethodParameters:
         Name  Flags
      session  
      method   

  public static void createRoutines(org.hsqldb.Session, org.hsqldb.HsqlNameManager$HsqlName, java.lang.String);
    descriptor: (Lorg/hsqldb/Session;Lorg/hsqldb/HsqlNameManager$HsqlName;Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // org.hsqldb.Session session
        start local 1 // org.hsqldb.HsqlNameManager$HsqlName schema
        start local 2 // java.lang.String name
         0: .line 1421
            aload 2 /* name */
            invokestatic org.hsqldb.Routine.getMethods:(Ljava/lang/String;)[Ljava/lang/reflect/Method;
            astore 3 /* methods */
        start local 3 // java.lang.reflect.Method[] methods
         1: .line 1422
            aload 0 /* session */
            aload 3 /* methods */
            invokestatic org.hsqldb.Routine.newRoutines:(Lorg/hsqldb/Session;[Ljava/lang/reflect/Method;)[Lorg/hsqldb/Routine;
            astore 4 /* routines */
        start local 4 // org.hsqldb.Routine[] routines
         2: .line 1423
            aload 0 /* session */
            getfield org.hsqldb.Session.database:Lorg/hsqldb/Database;
            getfield org.hsqldb.Database.nameManager:Lorg/hsqldb/HsqlNameManager;
            aload 1 /* schema */
         3: .line 1424
            aload 2 /* name */
            iconst_1
            bipush 16
         4: .line 1423
            invokevirtual org.hsqldb.HsqlNameManager.newHsqlName:(Lorg/hsqldb/HsqlNameManager$HsqlName;Ljava/lang/String;ZI)Lorg/hsqldb/HsqlNameManager$HsqlName;
            astore 5 /* routineName */
        start local 5 // org.hsqldb.HsqlNameManager$HsqlName routineName
         5: .line 1426
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         6: goto 10
         7: .line 1427
      StackMap locals: org.hsqldb.Session org.hsqldb.HsqlNameManager$HsqlName java.lang.String java.lang.reflect.Method[] org.hsqldb.Routine[] org.hsqldb.HsqlNameManager$HsqlName int
      StackMap stack:
            aload 4 /* routines */
            iload 6 /* i */
            aaload
            aload 5 /* routineName */
            invokevirtual org.hsqldb.Routine.setName:(Lorg/hsqldb/HsqlNameManager$HsqlName;)V
         8: .line 1428
            aload 0 /* session */
            getfield org.hsqldb.Session.database:Lorg/hsqldb/Database;
            getfield org.hsqldb.Database.schemaManager:Lorg/hsqldb/SchemaManager;
            aload 4 /* routines */
            iload 6 /* i */
            aaload
            invokevirtual org.hsqldb.SchemaManager.addSchemaObject:(Lorg/hsqldb/SchemaObject;)V
         9: .line 1426
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 6 /* i */
            aload 4 /* routines */
            arraylength
            if_icmplt 7
        end local 6 // int i
        11: .line 1430
            return
        end local 5 // org.hsqldb.HsqlNameManager$HsqlName routineName
        end local 4 // org.hsqldb.Routine[] routines
        end local 3 // java.lang.reflect.Method[] methods
        end local 2 // java.lang.String name
        end local 1 // org.hsqldb.HsqlNameManager$HsqlName schema
        end local 0 // org.hsqldb.Session session
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   12     0      session  Lorg/hsqldb/Session;
            0   12     1       schema  Lorg/hsqldb/HsqlNameManager$HsqlName;
            0   12     2         name  Ljava/lang/String;
            1   12     3      methods  [Ljava/lang/reflect/Method;
            2   12     4     routines  [Lorg/hsqldb/Routine;
            5   12     5  routineName  Lorg/hsqldb/HsqlNameManager$HsqlName;
            6   11     6            i  I
    MethodParameters:
         Name  Flags
      session  
      schema   
      name     
}
SourceFile: "Routine.java"
InnerClasses:
  public final HsqlName = org.hsqldb.HsqlNameManager$HsqlName of org.hsqldb.HsqlNameManager
  public SimpleName = org.hsqldb.HsqlNameManager$SimpleName of org.hsqldb.HsqlNameManager