final class com.microsoft.sqlserver.jdbc.ParameterUtils
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: com.microsoft.sqlserver.jdbc.ParameterUtils
  super_class: java.lang.Object
{
  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.microsoft.sqlserver.jdbc.ParameterUtils this
         0: .line 12
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.microsoft.sqlserver.jdbc.ParameterUtils this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/microsoft/sqlserver/jdbc/ParameterUtils;

  static byte[] HexToBin(java.lang.String);
    descriptor: (Ljava/lang/String;)[B
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=5, args_size=1
        start local 0 // java.lang.String hexV
         0: .line 14
            aload 0 /* hexV */
            invokevirtual java.lang.String.length:()I
            istore 1 /* len */
        start local 1 // int len
         1: .line 15
            aload 0 /* hexV */
            invokevirtual java.lang.String.toCharArray:()[C
            astore 2 /* orig */
        start local 2 // char[] orig
         2: .line 16
            iload 1 /* len */
            iconst_2
            irem
            ifeq 6
         3: .line 17
            aconst_null
            aconst_null
            ldc "R_stringNotInHex"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
         4: .line 18
            aconst_null
            iconst_0
         5: .line 17
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Z)V
         6: .line 19
      StackMap locals: int char[]
      StackMap stack:
            iload 1 /* len */
            iconst_2
            idiv
            newarray 8
            astore 3 /* bin */
        start local 3 // byte[] bin
         7: .line 20
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         8: goto 11
         9: .line 21
      StackMap locals: byte[] int
      StackMap stack:
            aload 3 /* bin */
            iload 4 /* i */
            aload 2 /* orig */
            iconst_2
            iload 4 /* i */
            imul
            caload
            invokestatic com.microsoft.sqlserver.jdbc.ParameterUtils.CharToHex:(C)B
            iconst_4
            ishl
            aload 2 /* orig */
            iconst_2
            iload 4 /* i */
            imul
            iconst_1
            iadd
            caload
            invokestatic com.microsoft.sqlserver.jdbc.ParameterUtils.CharToHex:(C)B
            sipush 255
            iand
            iadd
            i2b
            bastore
        10: .line 20
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 4 /* i */
            iload 1 /* len */
            iconst_2
            idiv
            if_icmplt 9
        end local 4 // int i
        12: .line 23
            aload 3 /* bin */
            areturn
        end local 3 // byte[] bin
        end local 2 // char[] orig
        end local 1 // int len
        end local 0 // java.lang.String hexV
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  hexV  Ljava/lang/String;
            1   13     1   len  I
            2   13     2  orig  [C
            7   13     3   bin  [B
            8   12     4     i  I
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
      Name  Flags
      hexV  

  static byte CharToHex(char);
    descriptor: (C)B
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // char CTX
         0: .line 30
            iconst_0
            istore 1 /* ret */
        start local 1 // byte ret
         1: .line 31
            iload 0 /* CTX */
            bipush 65
            if_icmplt 4
            iload 0 /* CTX */
            bipush 70
            if_icmpgt 4
         2: .line 32
            iload 0 /* CTX */
            bipush 65
            isub
            bipush 10
            iadd
            i2b
            istore 1 /* ret */
         3: .line 33
            goto 13
      StackMap locals: int
      StackMap stack:
         4: iload 0 /* CTX */
            bipush 97
            if_icmplt 7
            iload 0 /* CTX */
            bipush 102
            if_icmpgt 7
         5: .line 34
            iload 0 /* CTX */
            bipush 97
            isub
            bipush 10
            iadd
            i2b
            istore 1 /* ret */
         6: .line 35
            goto 13
      StackMap locals:
      StackMap stack:
         7: iload 0 /* CTX */
            bipush 48
            if_icmplt 10
            iload 0 /* CTX */
            bipush 57
            if_icmpgt 10
         8: .line 36
            iload 0 /* CTX */
            bipush 48
            isub
            i2b
            istore 1 /* ret */
         9: .line 37
            goto 13
        10: .line 38
      StackMap locals:
      StackMap stack:
            aconst_null
            aconst_null
            ldc "R_stringNotInHex"
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.getErrString:(Ljava/lang/String;)Ljava/lang/String;
        11: .line 39
            aconst_null
            iconst_0
        12: .line 38
            invokestatic com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDriverError:(Lcom/microsoft/sqlserver/jdbc/SQLServerConnection;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Z)V
        13: .line 41
      StackMap locals:
      StackMap stack:
            iload 1 /* ret */
            ireturn
        end local 1 // byte ret
        end local 0 // char CTX
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0   CTX  C
            1   14     1   ret  B
    Exceptions:
      throws com.microsoft.sqlserver.jdbc.SQLServerException
    MethodParameters:
      Name  Flags
      CTX   

  static int scanSQLForChar(char, java.lang.String, int);
    descriptor: (CLjava/lang/String;I)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // char ch
        start local 1 // java.lang.String sql
        start local 2 // int offset
         0: .line 68
            aload 1 /* sql */
            invokevirtual java.lang.String.length:()I
            istore 5 /* len */
        start local 5 // int len
         1: .line 70
            goto 32
         2: .line 71
      StackMap locals: int java.lang.String int top top int
      StackMap stack:
            aload 1 /* sql */
            iload 2 /* offset */
            iinc 2 /* offset */ 1
            invokevirtual java.lang.String.charAt:(I)C
            dup
            istore 4 /* chTmp */
        start local 4 // char chTmp
         3: lookupswitch { // 5
                   34: 25
                   39: 25
                   45: 15
                   47: 4
                   91: 24
              default: 22
          }
         4: .line 73
      StackMap locals: int java.lang.String int top int int
      StackMap stack:
            iload 2 /* offset */
            iload 5 /* len */
            if_icmpne 6
         5: .line 74
            goto 32
         6: .line 76
      StackMap locals:
      StackMap stack:
            aload 1 /* sql */
            iload 2 /* offset */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 42
            if_icmpne 13
         7: .line 77
            goto 11
         8: .line 78
      StackMap locals:
      StackMap stack:
            aload 1 /* sql */
            iload 2 /* offset */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 42
            if_icmpne 11
            iload 2 /* offset */
            iconst_1
            iadd
            iload 5 /* len */
            if_icmpge 11
            aload 1 /* sql */
            iload 2 /* offset */
            iconst_1
            iadd
            invokevirtual java.lang.String.charAt:(I)C
            bipush 47
            if_icmpne 11
         9: .line 80
            iinc 2 /* offset */ 2
        10: .line 81
            goto 32
        11: .line 77
      StackMap locals:
      StackMap stack:
            iinc 2 /* offset */ 1
            iload 2 /* offset */
            iload 5 /* len */
            if_icmplt 8
        12: .line 84
            goto 32
        13: .line 85
      StackMap locals:
      StackMap stack:
            aload 1 /* sql */
            iload 2 /* offset */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 45
            if_icmpne 15
        14: .line 86
            goto 32
        15: .line 90
      StackMap locals:
      StackMap stack:
            iload 2 /* offset */
            iflt 22
            iload 2 /* offset */
            aload 1 /* sql */
            invokevirtual java.lang.String.length:()I
            if_icmpge 22
            aload 1 /* sql */
            iload 2 /* offset */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 45
            if_icmpne 22
        16: .line 91
            goto 20
        17: .line 92
      StackMap locals:
      StackMap stack:
            aload 1 /* sql */
            iload 2 /* offset */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 10
            if_icmpeq 18
            aload 1 /* sql */
            iload 2 /* offset */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 13
            if_icmpne 20
        18: .line 94
      StackMap locals:
      StackMap stack:
            iinc 2 /* offset */ 1
        19: .line 95
            goto 32
        20: .line 91
      StackMap locals:
      StackMap stack:
            iinc 2 /* offset */ 1
            iload 2 /* offset */
            iload 5 /* len */
            if_icmplt 17
        21: .line 98
            goto 32
        22: .line 102
      StackMap locals:
      StackMap stack:
            iload 0 /* ch */
            iload 4 /* chTmp */
            if_icmpne 32
        23: .line 103
            iload 2 /* offset */
            iconst_1
            isub
            ireturn
        24: .line 106
      StackMap locals:
      StackMap stack:
            bipush 93
            istore 4 /* chTmp */
        25: .line 109
      StackMap locals:
      StackMap stack:
            iload 4 /* chTmp */
            istore 3 /* chQuote */
        start local 3 // char chQuote
        26: .line 110
            goto 31
        27: .line 111
      StackMap locals: int java.lang.String int int int int
      StackMap stack:
            aload 1 /* sql */
            iload 2 /* offset */
            iinc 2 /* offset */ 1
            invokevirtual java.lang.String.charAt:(I)C
            iload 3 /* chQuote */
            if_icmpne 31
        28: .line 112
            iload 5 /* len */
            iload 2 /* offset */
            if_icmpeq 32
            aload 1 /* sql */
            iload 2 /* offset */
            invokevirtual java.lang.String.charAt:(I)C
            iload 3 /* chQuote */
            if_icmpeq 30
        29: .line 113
            goto 32
        30: .line 115
      StackMap locals:
      StackMap stack:
            iinc 2 /* offset */ 1
        31: .line 110
      StackMap locals:
      StackMap stack:
            iload 2 /* offset */
            iload 5 /* len */
            if_icmplt 27
        end local 4 // char chTmp
        end local 3 // char chQuote
        32: .line 70
      StackMap locals: int java.lang.String int top top int
      StackMap stack:
            iload 2 /* offset */
            iload 5 /* len */
            if_icmplt 2
        33: .line 122
            iload 5 /* len */
            ireturn
        end local 5 // int len
        end local 2 // int offset
        end local 1 // java.lang.String sql
        end local 0 // char ch
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   34     0       ch  C
            0   34     1      sql  Ljava/lang/String;
            0   34     2   offset  I
           26   32     3  chQuote  C
            3   32     4    chTmp  C
            1   34     5      len  I
    MethodParameters:
        Name  Flags
      ch      
      sql     
      offset  
}
SourceFile: "ParameterUtils.java"