public final class org.hibernate.hql.internal.QuerySplitter
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.hibernate.hql.internal.QuerySplitter
super_class: java.lang.Object
{
private static final org.hibernate.internal.CoreMessageLogger LOG;
descriptor: Lorg/hibernate/internal/CoreMessageLogger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.util.Set<java.lang.String> BEFORE_CLASS_TOKENS;
descriptor: Ljava/util/Set;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Set<Ljava/lang/String;>;
private static final java.util.Set<java.lang.String> NOT_AFTER_CLASS_TOKENS;
descriptor: Ljava/util/Set;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Set<Ljava/lang/String;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc Lorg/hibernate/hql/internal/QuerySplitter;
invokestatic org.hibernate.internal.CoreLogging.messageLogger:(Ljava/lang/Class;)Lorg/hibernate/internal/CoreMessageLogger;
putstatic org.hibernate.hql.internal.QuerySplitter.LOG:Lorg/hibernate/internal/CoreMessageLogger;
1: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putstatic org.hibernate.hql.internal.QuerySplitter.BEFORE_CLASS_TOKENS:Ljava/util/Set;
2: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putstatic org.hibernate.hql.internal.QuerySplitter.NOT_AFTER_CLASS_TOKENS:Ljava/util/Set;
3: getstatic org.hibernate.hql.internal.QuerySplitter.BEFORE_CLASS_TOKENS:Ljava/util/Set;
ldc "from"
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
4: getstatic org.hibernate.hql.internal.QuerySplitter.BEFORE_CLASS_TOKENS:Ljava/util/Set;
ldc "delete"
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
5: getstatic org.hibernate.hql.internal.QuerySplitter.BEFORE_CLASS_TOKENS:Ljava/util/Set;
ldc "update"
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
6: getstatic org.hibernate.hql.internal.QuerySplitter.BEFORE_CLASS_TOKENS:Ljava/util/Set;
ldc ","
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
7: getstatic org.hibernate.hql.internal.QuerySplitter.BEFORE_CLASS_TOKENS:Ljava/util/Set;
ldc "join"
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
8: getstatic org.hibernate.hql.internal.QuerySplitter.NOT_AFTER_CLASS_TOKENS:Ljava/util/Set;
ldc "in"
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
9: getstatic org.hibernate.hql.internal.QuerySplitter.NOT_AFTER_CLASS_TOKENS:Ljava/util/Set;
ldc "from"
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
10: getstatic org.hibernate.hql.internal.QuerySplitter.NOT_AFTER_CLASS_TOKENS:Ljava/util/Set;
ldc ")"
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
11: return
LocalVariableTable:
Start End Slot Name Signature
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/hibernate/hql/internal/QuerySplitter;
public static java.lang.String[] concreteQueries(java.lang.String, org.hibernate.engine.spi.SessionFactoryImplementor);
descriptor: (Ljava/lang/String;Lorg/hibernate/engine/spi/SessionFactoryImplementor;)[Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=16, args_size=2
start local 0 start local 1 0: ldc " \n\r\f\t(),"
aload 0
iconst_1
invokestatic org.hibernate.internal.util.StringHelper.split:(Ljava/lang/String;Ljava/lang/String;Z)[Ljava/lang/String;
astore 2
start local 2 1: aload 2
arraylength
ifne 3
2: iconst_1
anewarray java.lang.String
dup
iconst_0
aload 0
aastore
areturn
3: StackMap locals: java.lang.String[]
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
start local 3 4: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 4
start local 4 5: new java.lang.StringBuilder
dup
bipush 40
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 5
start local 5 6: aload 2
aload 5
invokestatic org.hibernate.hql.internal.QuerySplitter.getStartingPositionFor:([Ljava/lang/String;Ljava/lang/StringBuilder;)I
istore 6
start local 6 7: iconst_0
istore 7
start local 7 8: aload 2
iload 6
iconst_1
isub
aaload
getstatic java.util.Locale.ROOT:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
astore 9
start local 9 9: iconst_0
istore 10
start local 10 10: iload 6
istore 11
start local 11 11: goto 51
12: StackMap locals: java.lang.String org.hibernate.engine.spi.SessionFactoryImplementor java.lang.String[] java.util.ArrayList java.util.ArrayList java.lang.StringBuilder int int top java.lang.String int int
StackMap stack:
aload 2
iload 11
aaload
astore 12
start local 12 13: aload 12
invokestatic org.hibernate.hql.internal.classic.ParserHelper.isWhitespace:(Ljava/lang/String;)Z
ifeq 16
14: aload 5
aload 12
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
15: goto 50
16: StackMap locals: java.lang.String
StackMap stack:
aload 12
invokestatic org.hibernate.hql.internal.QuerySplitter.isQuoteCharacter:(Ljava/lang/String;)Z
ifeq 22
17: iload 10
ifeq 18
iconst_0
goto 19
StackMap locals:
StackMap stack:
18: iconst_1
StackMap locals:
StackMap stack: int
19: istore 10
20: aload 5
aload 12
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
21: goto 50
22: StackMap locals:
StackMap stack:
aload 12
invokestatic org.hibernate.hql.internal.QuerySplitter.isTokenStartWithAQuoteCharacter:(Ljava/lang/String;)Z
ifeq 27
23: aload 12
invokestatic org.hibernate.hql.internal.QuerySplitter.isTokenEndWithAQuoteCharacter:(Ljava/lang/String;)Z
ifne 25
24: iconst_1
istore 10
25: StackMap locals:
StackMap stack:
aload 5
aload 12
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
26: goto 50
27: StackMap locals:
StackMap stack:
aload 12
invokestatic org.hibernate.hql.internal.QuerySplitter.isTokenEndWithAQuoteCharacter:(Ljava/lang/String;)Z
ifeq 31
28: iconst_0
istore 10
29: aload 5
aload 12
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
30: goto 50
31: StackMap locals:
StackMap stack:
iload 10
ifeq 34
32: aload 5
aload 12
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
33: goto 50
34: StackMap locals:
StackMap stack:
aload 2
iload 11
invokestatic org.hibernate.hql.internal.QuerySplitter.nextNonWhite:([Ljava/lang/String;I)Ljava/lang/String;
getstatic java.util.Locale.ROOT:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
astore 8
start local 8 35: aload 12
invokestatic org.hibernate.hql.internal.QuerySplitter.isJavaIdentifier:(Ljava/lang/String;)Z
ifeq 38
36: aload 9
aload 8
invokestatic org.hibernate.hql.internal.QuerySplitter.isPossiblyClassName:(Ljava/lang/String;Ljava/lang/String;)Z
ifeq 38
37: iconst_1
goto 39
StackMap locals: java.lang.String org.hibernate.engine.spi.SessionFactoryImplementor java.lang.String[] java.util.ArrayList java.util.ArrayList java.lang.StringBuilder int int java.lang.String java.lang.String int int java.lang.String
StackMap stack:
38: iconst_0
StackMap locals:
StackMap stack: int
39: istore 13
start local 13 40: aload 12
getstatic java.util.Locale.ROOT:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
astore 9
41: iload 13
ifeq 49
42: aload 12
aload 1
invokestatic org.hibernate.hql.internal.QuerySplitter.getImportedClass:(Ljava/lang/String;Lorg/hibernate/engine/spi/SessionFactoryImplementor;)Ljava/lang/String;
astore 14
start local 14 43: aload 14
ifnull 49
44: aload 1
aload 14
invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getImplementors:(Ljava/lang/String;)[Ljava/lang/String;
astore 15
start local 15 45: new java.lang.StringBuilder
dup
ldc "$clazz"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 7
iinc 7 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "$"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 12
46: aload 15
ifnull 49
47: aload 3
aload 12
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
48: aload 4
aload 15
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 15 end local 14 49: StackMap locals: int
StackMap stack:
aload 5
aload 12
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 13 end local 12 end local 8 50: StackMap locals: java.lang.String org.hibernate.engine.spi.SessionFactoryImplementor java.lang.String[] java.util.ArrayList java.util.ArrayList java.lang.StringBuilder int int top java.lang.String int int
StackMap stack:
iinc 11 1
StackMap locals:
StackMap stack:
51: iload 11
aload 2
arraylength
if_icmplt 12
end local 11 52: aload 5
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
53: aload 3
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
54: aload 4
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
55: invokestatic org.hibernate.internal.util.StringHelper.multiply:(Ljava/lang/String;Ljava/util/Iterator;Ljava/util/Iterator;)[Ljava/lang/String;
astore 11
start local 11 56: aload 11
arraylength
ifne 58
57: getstatic org.hibernate.hql.internal.QuerySplitter.LOG:Lorg/hibernate/internal/CoreMessageLogger;
aload 0
invokeinterface org.hibernate.internal.CoreMessageLogger.noPersistentClassesFound:(Ljava/lang/String;)V
58: StackMap locals: java.lang.String org.hibernate.engine.spi.SessionFactoryImplementor java.lang.String[] java.util.ArrayList java.util.ArrayList java.lang.StringBuilder int int top java.lang.String int java.lang.String[]
StackMap stack:
aload 11
areturn
end local 11 end local 10 end local 9 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 59 0 query Ljava/lang/String;
0 59 1 factory Lorg/hibernate/engine/spi/SessionFactoryImplementor;
1 59 2 tokens [Ljava/lang/String;
4 59 3 placeholders Ljava/util/ArrayList<Ljava/lang/String;>;
5 59 4 replacements Ljava/util/ArrayList<[Ljava/lang/String;>;
6 59 5 templateQuery Ljava/lang/StringBuilder;
7 59 6 start I
8 59 7 count I
35 50 8 next Ljava/lang/String;
9 59 9 last Ljava/lang/String;
10 59 10 inQuote Z
11 52 11 i I
13 50 12 token Ljava/lang/String;
40 50 13 process Z
43 49 14 importedClassName Ljava/lang/String;
45 49 15 implementors [Ljava/lang/String;
56 59 11 results [Ljava/lang/String;
Exceptions:
throws org.hibernate.MappingException
MethodParameters:
Name Flags
query
factory
private static boolean isQuoteCharacter(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: ldc "'"
aload 0
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 1
ldc "\""
aload 0
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 token Ljava/lang/String;
MethodParameters:
Name Flags
token
private static boolean isTokenStartWithAQuoteCharacter(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc "'"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 1
aload 0
ldc "\""
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 token Ljava/lang/String;
MethodParameters:
Name Flags
token
private static boolean isTokenEndWithAQuoteCharacter(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc "'"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifne 1
aload 0
ldc "\""
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 token Ljava/lang/String;
MethodParameters:
Name Flags
token
private static java.lang.String nextNonWhite(java.lang.String[], int);
descriptor: ([Ljava/lang/String;I)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: iload 1
iconst_1
iadd
istore 2
start local 2 1: goto 5
2: StackMap locals: int
StackMap stack:
aload 0
iload 2
aaload
invokestatic org.hibernate.hql.internal.classic.ParserHelper.isWhitespace:(Ljava/lang/String;)Z
ifne 4
3: aload 0
iload 2
aaload
areturn
4: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
aload 0
arraylength
if_icmplt 2
end local 2 6: aload 0
aload 0
arraylength
iconst_1
isub
aaload
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 tokens [Ljava/lang/String;
0 7 1 start I
1 6 2 i I
MethodParameters:
Name Flags
tokens
start
private static int getStartingPositionFor(java.lang.String[], java.lang.StringBuilder);
descriptor: ([Ljava/lang/String;Ljava/lang/StringBuilder;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
aload 0
iconst_0
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
1: ldc "select"
aload 0
iconst_0
aaload
getstatic java.util.Locale.ROOT:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 3
2: iconst_1
ireturn
3: StackMap locals:
StackMap stack:
iconst_1
istore 2
start local 2 4: goto 9
5: StackMap locals: int
StackMap stack:
ldc "from"
aload 0
iload 2
aaload
getstatic java.util.Locale.ROOT:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 7
6: iload 2
ireturn
7: StackMap locals:
StackMap stack:
aload 1
aload 0
iload 2
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
8: iinc 2 1
StackMap locals:
StackMap stack:
9: iload 2
aload 0
arraylength
if_icmplt 5
end local 2 10: aload 0
arraylength
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 tokens [Ljava/lang/String;
0 11 1 templateQuery Ljava/lang/StringBuilder;
4 10 2 i I
MethodParameters:
Name Flags
tokens
templateQuery
private static boolean isPossiblyClassName(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: ldc "class"
aload 0
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 3
1: getstatic org.hibernate.hql.internal.QuerySplitter.BEFORE_CLASS_TOKENS:Ljava/util/Set;
aload 0
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 2
getstatic org.hibernate.hql.internal.QuerySplitter.NOT_AFTER_CLASS_TOKENS:Ljava/util/Set;
aload 1
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 3
2: StackMap locals:
StackMap stack:
iconst_0
ireturn
StackMap locals:
StackMap stack:
3: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 last Ljava/lang/String;
0 4 1 next Ljava/lang/String;
MethodParameters:
Name Flags
last
next
private static boolean isJavaIdentifier(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
invokevirtual java.lang.String.charAt:(I)C
invokestatic java.lang.Character.isJavaIdentifierStart:(C)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 token Ljava/lang/String;
MethodParameters:
Name Flags
token
public static java.lang.String getImportedClass(java.lang.String, org.hibernate.engine.spi.SessionFactoryImplementor);
descriptor: (Ljava/lang/String;Lorg/hibernate/engine/spi/SessionFactoryImplementor;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getMetamodel:()Lorg/hibernate/metamodel/spi/MetamodelImplementor;
aload 0
invokeinterface org.hibernate.metamodel.spi.MetamodelImplementor.getImportedClassName:(Ljava/lang/String;)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 name Ljava/lang/String;
0 1 1 factory Lorg/hibernate/engine/spi/SessionFactoryImplementor;
MethodParameters:
Name Flags
name
factory
}
SourceFile: "QuerySplitter.java"