public class org.hibernate.engine.query.spi.ParameterParser
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.hibernate.engine.query.spi.ParameterParser
super_class: java.lang.Object
{
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 // org.hibernate.engine.query.spi.ParameterParser this
0: .line 69
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 70
return
end local 0 // org.hibernate.engine.query.spi.ParameterParser this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/hibernate/engine/query/spi/ParameterParser;
public static void parse(java.lang.String, org.hibernate.engine.query.spi.ParameterParser$Recognizer);
descriptor: (Ljava/lang/String;Lorg/hibernate/engine/query/spi/ParameterParser$Recognizer;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=15, args_size=2
start local 0 // java.lang.String sqlString
start local 1 // org.hibernate.engine.query.spi.ParameterParser$Recognizer recognizer
0: .line 85
aload 0 /* sqlString */
invokestatic org.hibernate.engine.query.spi.ParameterParser.startsWithEscapeCallTemplate:(Ljava/lang/String;)Z
istore 2 /* hasMainOutputParameter */
start local 2 // boolean hasMainOutputParameter
1: .line 86
iconst_0
istore 3 /* foundMainOutputParam */
start local 3 // boolean foundMainOutputParam
2: .line 88
aload 0 /* sqlString */
invokevirtual java.lang.String.length:()I
istore 4 /* stringLength */
start local 4 // int stringLength
3: .line 90
iconst_0
istore 5 /* inSingleQuotes */
start local 5 // boolean inSingleQuotes
4: .line 91
iconst_0
istore 6 /* inDoubleQuotes */
start local 6 // boolean inDoubleQuotes
5: .line 92
iconst_0
istore 7 /* inLineComment */
start local 7 // boolean inLineComment
6: .line 93
iconst_0
istore 8 /* inDelimitedComment */
start local 8 // boolean inDelimitedComment
7: .line 95
iconst_0
istore 9 /* indx */
start local 9 // int indx
8: goto 102
9: .line 96
StackMap locals: java.lang.String org.hibernate.engine.query.spi.ParameterParser$Recognizer int int int int int int int int
StackMap stack:
aload 0 /* sqlString */
iload 9 /* indx */
invokevirtual java.lang.String.charAt:(I)C
istore 10 /* c */
start local 10 // char c
10: .line 97
iload 9 /* indx */
iload 4 /* stringLength */
iconst_1
isub
if_icmpne 11
iconst_1
goto 12
StackMap locals: int
StackMap stack:
11: iconst_0
StackMap locals:
StackMap stack: int
12: istore 11 /* lastCharacter */
start local 11 // boolean lastCharacter
13: .line 100
iload 5 /* inSingleQuotes */
ifeq 18
14: .line 101
aload 1 /* recognizer */
iload 10 /* c */
invokeinterface org.hibernate.engine.query.spi.ParameterParser$Recognizer.other:(C)V
15: .line 102
bipush 39
iload 10 /* c */
if_icmpne 101
16: .line 103
iconst_0
istore 5 /* inSingleQuotes */
17: .line 105
goto 101
18: .line 106
StackMap locals: int
StackMap stack:
iload 6 /* inDoubleQuotes */
ifeq 23
19: .line 107
aload 1 /* recognizer */
iload 10 /* c */
invokeinterface org.hibernate.engine.query.spi.ParameterParser$Recognizer.other:(C)V
20: .line 108
bipush 34
iload 10 /* c */
if_icmpne 101
21: .line 109
iconst_0
istore 6 /* inDoubleQuotes */
22: .line 111
goto 101
23: .line 112
StackMap locals:
StackMap stack:
iload 8 /* inDelimitedComment */
ifeq 30
24: .line 113
aload 1 /* recognizer */
iload 10 /* c */
invokeinterface org.hibernate.engine.query.spi.ParameterParser$Recognizer.other:(C)V
25: .line 114
iload 11 /* lastCharacter */
ifne 101
bipush 42
iload 10 /* c */
if_icmpne 101
bipush 47
aload 0 /* sqlString */
iload 9 /* indx */
iconst_1
iadd
invokevirtual java.lang.String.charAt:(I)C
if_icmpne 101
26: .line 115
iconst_0
istore 8 /* inDelimitedComment */
27: .line 116
aload 1 /* recognizer */
aload 0 /* sqlString */
iload 9 /* indx */
iconst_1
iadd
invokevirtual java.lang.String.charAt:(I)C
invokeinterface org.hibernate.engine.query.spi.ParameterParser$Recognizer.other:(C)V
28: .line 117
iinc 9 /* indx */ 1
29: .line 119
goto 101
30: .line 120
StackMap locals:
StackMap stack:
iload 7 /* inLineComment */
ifeq 41
31: .line 121
aload 1 /* recognizer */
iload 10 /* c */
invokeinterface org.hibernate.engine.query.spi.ParameterParser$Recognizer.other:(C)V
32: .line 123
bipush 10
iload 10 /* c */
if_icmpne 35
33: .line 124
iconst_0
istore 7 /* inLineComment */
34: .line 125
goto 101
35: .line 126
StackMap locals:
StackMap stack:
bipush 13
iload 10 /* c */
if_icmpne 101
36: .line 127
iconst_0
istore 7 /* inLineComment */
37: .line 128
iload 11 /* lastCharacter */
ifne 101
bipush 10
aload 0 /* sqlString */
iload 9 /* indx */
iconst_1
iadd
invokevirtual java.lang.String.charAt:(I)C
if_icmpne 101
38: .line 129
aload 1 /* recognizer */
aload 0 /* sqlString */
iload 9 /* indx */
iconst_1
iadd
invokevirtual java.lang.String.charAt:(I)C
invokeinterface org.hibernate.engine.query.spi.ParameterParser$Recognizer.other:(C)V
39: .line 130
iinc 9 /* indx */ 1
40: .line 133
goto 101
41: .line 135
StackMap locals:
StackMap stack:
iload 11 /* lastCharacter */
ifne 47
bipush 47
iload 10 /* c */
if_icmpne 47
bipush 42
aload 0 /* sqlString */
iload 9 /* indx */
iconst_1
iadd
invokevirtual java.lang.String.charAt:(I)C
if_icmpne 47
42: .line 136
iconst_1
istore 8 /* inDelimitedComment */
43: .line 137
aload 1 /* recognizer */
iload 10 /* c */
invokeinterface org.hibernate.engine.query.spi.ParameterParser$Recognizer.other:(C)V
44: .line 138
aload 1 /* recognizer */
aload 0 /* sqlString */
iload 9 /* indx */
iconst_1
iadd
invokevirtual java.lang.String.charAt:(I)C
invokeinterface org.hibernate.engine.query.spi.ParameterParser$Recognizer.other:(C)V
45: .line 139
iinc 9 /* indx */ 1
46: .line 140
goto 101
47: .line 141
StackMap locals:
StackMap stack:
bipush 45
iload 10 /* c */
if_icmpne 54
48: .line 142
aload 1 /* recognizer */
iload 10 /* c */
invokeinterface org.hibernate.engine.query.spi.ParameterParser$Recognizer.other:(C)V
49: .line 143
iload 11 /* lastCharacter */
ifne 101
bipush 45
aload 0 /* sqlString */
iload 9 /* indx */
iconst_1
iadd
invokevirtual java.lang.String.charAt:(I)C
if_icmpne 101
50: .line 144
iconst_1
istore 7 /* inLineComment */
51: .line 145
aload 1 /* recognizer */
aload 0 /* sqlString */
iload 9 /* indx */
iconst_1
iadd
invokevirtual java.lang.String.charAt:(I)C
invokeinterface org.hibernate.engine.query.spi.ParameterParser$Recognizer.other:(C)V
52: .line 146
iinc 9 /* indx */ 1
53: .line 148
goto 101
54: .line 149
StackMap locals:
StackMap stack:
bipush 34
iload 10 /* c */
if_icmpne 58
55: .line 150
iconst_1
istore 6 /* inDoubleQuotes */
56: .line 151
aload 1 /* recognizer */
iload 10 /* c */
invokeinterface org.hibernate.engine.query.spi.ParameterParser$Recognizer.other:(C)V
57: .line 152
goto 101
58: .line 153
StackMap locals:
StackMap stack:
bipush 39
iload 10 /* c */
if_icmpne 62
59: .line 154
iconst_1
istore 5 /* inSingleQuotes */
60: .line 155
aload 1 /* recognizer */
iload 10 /* c */
invokeinterface org.hibernate.engine.query.spi.ParameterParser$Recognizer.other:(C)V
61: .line 156
goto 101
62: .line 158
StackMap locals:
StackMap stack:
bipush 92
iload 10 /* c */
if_icmpne 65
63: .line 160
aload 1 /* recognizer */
aload 0 /* sqlString */
iinc 9 /* indx */ 1
iload 9 /* indx */
invokevirtual java.lang.String.charAt:(I)C
invokeinterface org.hibernate.engine.query.spi.ParameterParser$Recognizer.other:(C)V
64: .line 161
goto 101
65: .line 164
StackMap locals:
StackMap stack:
iload 10 /* c */
bipush 58
if_icmpne 69
iload 9 /* indx */
iload 4 /* stringLength */
iconst_1
isub
if_icmpge 69
aload 0 /* sqlString */
iload 9 /* indx */
iconst_1
iadd
invokevirtual java.lang.String.charAt:(I)C
bipush 58
if_icmpne 69
66: .line 166
aload 1 /* recognizer */
iload 10 /* c */
invokeinterface org.hibernate.engine.query.spi.ParameterParser$Recognizer.other:(C)V
67: .line 167
iinc 9 /* indx */ 1
68: .line 168
goto 101
69: .line 169
StackMap locals:
StackMap stack:
iload 10 /* c */
bipush 58
if_icmpne 82
70: .line 171
aload 0 /* sqlString */
getstatic org.hibernate.hql.internal.classic.ParserHelper.HQL_SEPARATORS_BITSET:Ljava/util/BitSet;
iload 9 /* indx */
iconst_1
iadd
invokestatic org.hibernate.internal.util.StringHelper.firstIndexOfChar:(Ljava/lang/String;Ljava/util/BitSet;I)I
istore 12 /* right */
start local 12 // int right
71: .line 172
iload 12 /* right */
ifge 72
aload 0 /* sqlString */
invokevirtual java.lang.String.length:()I
goto 73
StackMap locals: int
StackMap stack:
72: iload 12 /* right */
StackMap locals:
StackMap stack: int
73: istore 13 /* chopLocation */
start local 13 // int chopLocation
74: .line 173
aload 0 /* sqlString */
iload 9 /* indx */
iconst_1
iadd
iload 13 /* chopLocation */
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 14 /* param */
start local 14 // java.lang.String param
75: .line 174
aload 14 /* param */
invokestatic org.hibernate.internal.util.StringHelper.isEmpty:(Ljava/lang/String;)Z
ifeq 79
76: .line 175
new org.hibernate.QueryException
dup
77: .line 176
new java.lang.StringBuilder
dup
ldc "Space is not allowed after parameter prefix ':' ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0 /* sqlString */
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
78: .line 175
invokespecial org.hibernate.QueryException.<init>:(Ljava/lang/String;)V
athrow
79: .line 179
StackMap locals: int java.lang.String
StackMap stack:
aload 1 /* recognizer */
aload 14 /* param */
iload 9 /* indx */
invokeinterface org.hibernate.engine.query.spi.ParameterParser$Recognizer.namedParameter:(Ljava/lang/String;I)V
80: .line 180
iload 13 /* chopLocation */
iconst_1
isub
istore 9 /* indx */
end local 14 // java.lang.String param
end local 13 // int chopLocation
end local 12 // int right
81: .line 181
goto 101
82: .line 182
StackMap locals:
StackMap stack:
iload 10 /* c */
bipush 63
if_icmpne 100
83: .line 184
iload 9 /* indx */
iload 4 /* stringLength */
iconst_1
isub
if_icmpge 94
aload 0 /* sqlString */
iload 9 /* indx */
iconst_1
iadd
invokevirtual java.lang.String.charAt:(I)C
invokestatic java.lang.Character.isDigit:(C)Z
ifeq 94
84: .line 186
aload 0 /* sqlString */
ldc " \n\r\f\t,()=<>&|+-=/*'^![]#~\\"
iload 9 /* indx */
iconst_1
iadd
invokestatic org.hibernate.internal.util.StringHelper.firstIndexOfChar:(Ljava/lang/String;Ljava/lang/String;I)I
istore 12 /* right */
start local 12 // int right
85: .line 187
iload 12 /* right */
ifge 86
aload 0 /* sqlString */
invokevirtual java.lang.String.length:()I
goto 87
StackMap locals: int
StackMap stack:
86: iload 12 /* right */
StackMap locals:
StackMap stack: int
87: istore 13 /* chopLocation */
start local 13 // int chopLocation
88: .line 188
aload 0 /* sqlString */
iload 9 /* indx */
iconst_1
iadd
iload 13 /* chopLocation */
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 14 /* param */
start local 14 // java.lang.String param
89: .line 191
aload 1 /* recognizer */
aload 14 /* param */
invokestatic java.lang.Integer.valueOf:(Ljava/lang/String;)Ljava/lang/Integer;
invokevirtual java.lang.Integer.intValue:()I
iload 9 /* indx */
invokeinterface org.hibernate.engine.query.spi.ParameterParser$Recognizer.jpaPositionalParameter:(II)V
90: .line 192
iload 13 /* chopLocation */
iconst_1
isub
istore 9 /* indx */
91: .line 193
goto 101
92: .line 194
StackMap locals: java.lang.String org.hibernate.engine.query.spi.ParameterParser$Recognizer int int int int int int int int int int int int java.lang.String
StackMap stack: java.lang.NumberFormatException
pop
93: .line 195
new org.hibernate.QueryException
dup
ldc "JPA-style positional param was not an integral ordinal"
invokespecial org.hibernate.QueryException.<init>:(Ljava/lang/String;)V
athrow
end local 14 // java.lang.String param
end local 13 // int chopLocation
end local 12 // int right
94: .line 199
StackMap locals:
StackMap stack:
iload 2 /* hasMainOutputParameter */
ifeq 98
iload 3 /* foundMainOutputParam */
ifne 98
95: .line 200
iconst_1
istore 3 /* foundMainOutputParam */
96: .line 201
aload 1 /* recognizer */
iload 9 /* indx */
invokeinterface org.hibernate.engine.query.spi.ParameterParser$Recognizer.outParameter:(I)V
97: .line 202
goto 101
98: .line 204
StackMap locals:
StackMap stack:
aload 1 /* recognizer */
iload 9 /* indx */
invokeinterface org.hibernate.engine.query.spi.ParameterParser$Recognizer.ordinalParameter:(I)V
99: .line 207
goto 101
100: .line 209
StackMap locals:
StackMap stack:
aload 1 /* recognizer */
iload 10 /* c */
invokeinterface org.hibernate.engine.query.spi.ParameterParser$Recognizer.other:(C)V
end local 11 // boolean lastCharacter
end local 10 // char c
101: .line 95
StackMap locals:
StackMap stack:
iinc 9 /* indx */ 1
StackMap locals:
StackMap stack:
102: iload 9 /* indx */
iload 4 /* stringLength */
if_icmplt 9
end local 9 // int indx
103: .line 214
aload 1 /* recognizer */
invokeinterface org.hibernate.engine.query.spi.ParameterParser$Recognizer.complete:()V
104: .line 215
return
end local 8 // boolean inDelimitedComment
end local 7 // boolean inLineComment
end local 6 // boolean inDoubleQuotes
end local 5 // boolean inSingleQuotes
end local 4 // int stringLength
end local 3 // boolean foundMainOutputParam
end local 2 // boolean hasMainOutputParameter
end local 1 // org.hibernate.engine.query.spi.ParameterParser$Recognizer recognizer
end local 0 // java.lang.String sqlString
LocalVariableTable:
Start End Slot Name Signature
0 105 0 sqlString Ljava/lang/String;
0 105 1 recognizer Lorg/hibernate/engine/query/spi/ParameterParser$Recognizer;
1 105 2 hasMainOutputParameter Z
2 105 3 foundMainOutputParam Z
3 105 4 stringLength I
4 105 5 inSingleQuotes Z
5 105 6 inDoubleQuotes Z
6 105 7 inLineComment Z
7 105 8 inDelimitedComment Z
8 103 9 indx I
10 101 10 c C
13 101 11 lastCharacter Z
71 81 12 right I
74 81 13 chopLocation I
75 81 14 param Ljava/lang/String;
85 94 12 right I
88 94 13 chopLocation I
89 94 14 param Ljava/lang/String;
Exception table:
from to target type
89 91 92 Class java.lang.NumberFormatException
Exceptions:
throws org.hibernate.QueryException
MethodParameters:
Name Flags
sqlString
recognizer
public static boolean startsWithEscapeCallTemplate(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=8, args_size=1
start local 0 // java.lang.String sqlString
0: .line 225
aload 0 /* sqlString */
ldc "{"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 1
aload 0 /* sqlString */
ldc "}"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifne 2
1: .line 226
StackMap locals:
StackMap stack:
iconst_0
ireturn
2: .line 229
StackMap locals:
StackMap stack:
aload 0 /* sqlString */
ldc "call"
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
istore 1 /* chopLocation */
start local 1 // int chopLocation
3: .line 230
iload 1 /* chopLocation */
ifgt 5
4: .line 231
iconst_0
ireturn
5: .line 234
StackMap locals: int
StackMap stack:
aload 0 /* sqlString */
iconst_1
iload 1 /* chopLocation */
iconst_4
iadd
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 2 /* checkString */
start local 2 // java.lang.String checkString
6: .line 236
iconst_0
istore 3 /* fixturePosition */
start local 3 // int fixturePosition
7: .line 237
iconst_1
istore 4 /* matches */
start local 4 // boolean matches
8: .line 238
aload 2 /* checkString */
invokevirtual java.lang.String.length:()I
istore 5 /* max */
start local 5 // int max
9: .line 239
iconst_0
istore 6 /* i */
start local 6 // int i
10: goto 20
11: .line 240
StackMap locals: java.lang.String int java.lang.String int int int int
StackMap stack:
aload 2 /* checkString */
iload 6 /* i */
invokevirtual java.lang.String.charAt:(I)C
invokestatic java.lang.Character.toLowerCase:(C)C
istore 7 /* c */
start local 7 // char c
12: .line 241
iload 7 /* c */
invokestatic java.lang.Character.isWhitespace:(C)Z
ifeq 14
13: .line 242
goto 19
14: .line 244
StackMap locals: int
StackMap stack:
iload 7 /* c */
ldc "?=call"
iload 3 /* fixturePosition */
invokevirtual java.lang.String.charAt:(I)C
if_icmpne 17
15: .line 245
iinc 3 /* fixturePosition */ 1
16: .line 246
goto 19
17: .line 248
StackMap locals:
StackMap stack:
iconst_0
istore 4 /* matches */
18: .line 249
goto 21
end local 7 // char c
19: .line 239
StackMap locals:
StackMap stack:
iinc 6 /* i */ 1
StackMap locals:
StackMap stack:
20: iload 6 /* i */
iload 5 /* max */
if_icmplt 11
end local 6 // int i
21: .line 252
StackMap locals:
StackMap stack:
iload 4 /* matches */
ireturn
end local 5 // int max
end local 4 // boolean matches
end local 3 // int fixturePosition
end local 2 // java.lang.String checkString
end local 1 // int chopLocation
end local 0 // java.lang.String sqlString
LocalVariableTable:
Start End Slot Name Signature
0 22 0 sqlString Ljava/lang/String;
3 22 1 chopLocation I
6 22 2 checkString Ljava/lang/String;
7 22 3 fixturePosition I
8 22 4 matches Z
9 22 5 max I
10 21 6 i I
12 19 7 c C
MethodParameters:
Name Flags
sqlString
}
SourceFile: "ParameterParser.java"
NestMembers:
org.hibernate.engine.query.spi.ParameterParser$Recognizer
InnerClasses:
public abstract Recognizer = org.hibernate.engine.query.spi.ParameterParser$Recognizer of org.hibernate.engine.query.spi.ParameterParser