public class org.hibernate.hql.internal.ast.tree.IndexNode extends org.hibernate.hql.internal.ast.tree.FromReferenceNode
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.hibernate.hql.internal.ast.tree.IndexNode
super_class: org.hibernate.hql.internal.ast.tree.FromReferenceNode
{
private static final org.hibernate.internal.CoreMessageLogger LOG;
descriptor: Lorg/hibernate/internal/CoreMessageLogger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/hibernate/hql/internal/ast/tree/IndexNode;
invokestatic org.hibernate.internal.CoreLogging.messageLogger:(Ljava/lang/Class;)Lorg/hibernate/internal/CoreMessageLogger;
putstatic org.hibernate.hql.internal.ast.tree.IndexNode.LOG:Lorg/hibernate/internal/CoreMessageLogger;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.hibernate.hql.internal.ast.tree.FromReferenceNode.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hibernate/hql/internal/ast/tree/IndexNode;
public void setScalarColumnText(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: new java.lang.UnsupportedOperationException
dup
ldc "An IndexNode cannot generate column text!"
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hibernate/hql/internal/ast/tree/IndexNode;
0 1 1 i I
Exceptions:
throws antlr.SemanticException
MethodParameters:
Name Flags
i
public void prepareForDot(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=8, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.hibernate.hql.internal.ast.tree.IndexNode.getFromElement:()Lorg/hibernate/hql/internal/ast/tree/FromElement;
astore 2
start local 2 1: aload 2
ifnonnull 3
2: new java.lang.IllegalStateException
dup
ldc "No FROM element for index operator!"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: org.hibernate.hql.internal.ast.tree.FromElement
StackMap stack:
aload 2
invokevirtual org.hibernate.hql.internal.ast.tree.FromElement.getQueryableCollection:()Lorg/hibernate/persister/collection/QueryableCollection;
astore 3
start local 3 4: aload 3
ifnull 11
aload 3
invokeinterface org.hibernate.persister.collection.QueryableCollection.isOneToMany:()Z
ifne 11
5: aload 0
invokevirtual org.hibernate.hql.internal.ast.tree.IndexNode.getFirstChild:()Lantlr/collections/AST;
checkcast org.hibernate.hql.internal.ast.tree.FromReferenceNode
astore 4
start local 4 6: new java.lang.StringBuilder
dup
aload 4
invokevirtual org.hibernate.hql.internal.ast.tree.FromReferenceNode.getPath:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "[]."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 5
start local 5 7: getstatic org.hibernate.hql.internal.ast.tree.IndexNode.LOG:Lorg/hibernate/internal/CoreMessageLogger;
ldc "Creating join for many-to-many elements for %s"
aload 5
invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
8: new org.hibernate.hql.internal.ast.tree.FromElementFactory
dup
aload 2
invokevirtual org.hibernate.hql.internal.ast.tree.FromElement.getFromClause:()Lorg/hibernate/hql/internal/ast/tree/FromClause;
aload 2
aload 5
invokespecial org.hibernate.hql.internal.ast.tree.FromElementFactory.<init>:(Lorg/hibernate/hql/internal/ast/tree/FromClause;Lorg/hibernate/hql/internal/ast/tree/FromElement;Ljava/lang/String;)V
astore 6
start local 6 9: aload 6
aload 3
invokevirtual org.hibernate.hql.internal.ast.tree.FromElementFactory.createElementJoin:(Lorg/hibernate/persister/collection/QueryableCollection;)Lorg/hibernate/hql/internal/ast/tree/FromElement;
astore 7
start local 7 10: aload 0
aload 7
invokevirtual org.hibernate.hql.internal.ast.tree.IndexNode.setFromElement:(Lorg/hibernate/hql/internal/ast/tree/FromElement;)V
end local 7 end local 6 end local 5 end local 4 11: StackMap locals: org.hibernate.persister.collection.QueryableCollection
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/hibernate/hql/internal/ast/tree/IndexNode;
0 12 1 propertyName Ljava/lang/String;
1 12 2 fromElement Lorg/hibernate/hql/internal/ast/tree/FromElement;
4 12 3 queryableCollection Lorg/hibernate/persister/collection/QueryableCollection;
6 11 4 collectionNode Lorg/hibernate/hql/internal/ast/tree/FromReferenceNode;
7 11 5 path Ljava/lang/String;
9 11 6 factory Lorg/hibernate/hql/internal/ast/tree/FromElementFactory;
10 11 7 elementJoin Lorg/hibernate/hql/internal/ast/tree/FromElement;
Exceptions:
throws antlr.SemanticException
MethodParameters:
Name Flags
propertyName
public void resolveIndex(antlr.collections.AST);
descriptor: (Lantlr/collections/AST;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: new java.lang.UnsupportedOperationException
dup
invokespecial java.lang.UnsupportedOperationException.<init>:()V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hibernate/hql/internal/ast/tree/IndexNode;
0 1 1 parent Lantlr/collections/AST;
Exceptions:
throws antlr.SemanticException
MethodParameters:
Name Flags
parent
public void resolve(boolean, boolean, java.lang.String, antlr.collections.AST, antlr.collections.AST);
descriptor: (ZZLjava/lang/String;Lantlr/collections/AST;Lantlr/collections/AST;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=24, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
invokevirtual org.hibernate.hql.internal.ast.tree.IndexNode.isResolved:()Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.hibernate.hql.internal.ast.tree.IndexNode.getFirstChild:()Lantlr/collections/AST;
checkcast org.hibernate.hql.internal.ast.tree.FromReferenceNode
astore 6
start local 6 3: aload 0
invokevirtual org.hibernate.hql.internal.ast.tree.IndexNode.getSessionFactoryHelper:()Lorg/hibernate/hql/internal/ast/util/SessionFactoryHelper;
astore 7
start local 7 4: aload 6
aload 0
invokevirtual org.hibernate.hql.internal.ast.tree.FromReferenceNode.resolveIndex:(Lantlr/collections/AST;)V
5: aload 6
invokevirtual org.hibernate.hql.internal.ast.tree.FromReferenceNode.getDataType:()Lorg/hibernate/type/Type;
astore 8
start local 8 6: aload 8
invokeinterface org.hibernate.type.Type.isCollectionType:()Z
ifne 8
7: new antlr.SemanticException
dup
new java.lang.StringBuilder
dup
ldc "The [] operator cannot be applied to type "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial antlr.SemanticException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals: org.hibernate.hql.internal.ast.tree.FromReferenceNode org.hibernate.hql.internal.ast.util.SessionFactoryHelper org.hibernate.type.Type
StackMap stack:
aload 8
checkcast org.hibernate.type.CollectionType
invokevirtual org.hibernate.type.CollectionType.getRole:()Ljava/lang/String;
astore 9
start local 9 9: aload 7
aload 9
invokevirtual org.hibernate.hql.internal.ast.util.SessionFactoryHelper.requireQueryableCollection:(Ljava/lang/String;)Lorg/hibernate/persister/collection/QueryableCollection;
astore 10
start local 10 10: aload 10
invokeinterface org.hibernate.persister.collection.QueryableCollection.hasIndex:()Z
ifne 12
11: new org.hibernate.QueryException
dup
new java.lang.StringBuilder
dup
ldc "unindexed fromElement before []: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual org.hibernate.hql.internal.ast.tree.FromReferenceNode.getPath:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.hibernate.QueryException.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals: java.lang.String org.hibernate.persister.collection.QueryableCollection
StackMap stack:
aload 6
invokevirtual org.hibernate.hql.internal.ast.tree.FromReferenceNode.getFromElement:()Lorg/hibernate/hql/internal/ast/tree/FromElement;
astore 11
start local 11 13: aload 11
invokevirtual org.hibernate.hql.internal.ast.tree.FromElement.getTableAlias:()Ljava/lang/String;
astore 12
start local 12 14: aload 11
invokevirtual org.hibernate.hql.internal.ast.tree.FromElement.getFromClause:()Lorg/hibernate/hql/internal/ast/tree/FromClause;
astore 13
start local 13 15: aload 6
invokevirtual org.hibernate.hql.internal.ast.tree.FromReferenceNode.getPath:()Ljava/lang/String;
astore 14
start local 14 16: aload 13
aload 14
invokevirtual org.hibernate.hql.internal.ast.tree.FromClause.findCollectionJoin:(Ljava/lang/String;)Lorg/hibernate/hql/internal/ast/tree/FromElement;
astore 15
start local 15 17: aload 15
ifnonnull 22
18: new org.hibernate.hql.internal.ast.tree.FromElementFactory
dup
aload 13
aload 11
aload 14
invokespecial org.hibernate.hql.internal.ast.tree.FromElementFactory.<init>:(Lorg/hibernate/hql/internal/ast/tree/FromClause;Lorg/hibernate/hql/internal/ast/tree/FromElement;Ljava/lang/String;)V
astore 16
start local 16 19: aload 16
aload 10
aload 12
invokevirtual org.hibernate.hql.internal.ast.tree.FromElementFactory.createCollectionElementsJoin:(Lorg/hibernate/persister/collection/QueryableCollection;Ljava/lang/String;)Lorg/hibernate/hql/internal/ast/tree/FromElement;
astore 15
20: getstatic org.hibernate.hql.internal.ast.tree.IndexNode.LOG:Lorg/hibernate/internal/CoreMessageLogger;
ldc "No FROM element found for the elements of collection join path %s, created %s"
aload 14
aload 15
invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
end local 16 21: goto 23
22: StackMap locals: org.hibernate.hql.internal.ast.tree.IndexNode int int java.lang.String antlr.collections.AST antlr.collections.AST org.hibernate.hql.internal.ast.tree.FromReferenceNode org.hibernate.hql.internal.ast.util.SessionFactoryHelper org.hibernate.type.Type java.lang.String org.hibernate.persister.collection.QueryableCollection org.hibernate.hql.internal.ast.tree.FromElement java.lang.String org.hibernate.hql.internal.ast.tree.FromClause java.lang.String org.hibernate.hql.internal.ast.tree.FromElement
StackMap stack:
getstatic org.hibernate.hql.internal.ast.tree.IndexNode.LOG:Lorg/hibernate/internal/CoreMessageLogger;
ldc "FROM element found for collection join path %s"
aload 14
invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;)V
23: StackMap locals:
StackMap stack:
aload 0
aload 11
invokevirtual org.hibernate.hql.internal.ast.tree.IndexNode.setFromElement:(Lorg/hibernate/hql/internal/ast/tree/FromElement;)V
24: aload 6
invokevirtual org.hibernate.hql.internal.ast.tree.FromReferenceNode.getNextSibling:()Lantlr/collections/AST;
astore 16
start local 16 25: aload 16
ifnonnull 27
26: new org.hibernate.QueryException
dup
ldc "No index value!"
invokespecial org.hibernate.QueryException.<init>:(Ljava/lang/String;)V
athrow
27: StackMap locals: antlr.collections.AST
StackMap stack:
aload 12
astore 17
start local 17 28: aload 15
invokevirtual org.hibernate.hql.internal.ast.tree.FromElement.getCollectionTableAlias:()Ljava/lang/String;
ifnull 30
29: aload 15
invokevirtual org.hibernate.hql.internal.ast.tree.FromElement.getCollectionTableAlias:()Ljava/lang/String;
astore 17
30: StackMap locals: java.lang.String
StackMap stack:
aload 11
invokevirtual org.hibernate.hql.internal.ast.tree.FromElement.getJoinSequence:()Lorg/hibernate/engine/internal/JoinSequence;
astore 18
start local 18 31: aload 10
invokeinterface org.hibernate.persister.collection.QueryableCollection.getIndexColumnNames:()[Ljava/lang/String;
astore 19
start local 19 32: aload 19
arraylength
iconst_1
if_icmpeq 34
33: new org.hibernate.QueryException
dup
new java.lang.StringBuilder
dup
ldc "composite-index appears in []: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual org.hibernate.hql.internal.ast.tree.FromReferenceNode.getPath:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial org.hibernate.QueryException.<init>:(Ljava/lang/String;)V
athrow
34: StackMap locals: org.hibernate.engine.internal.JoinSequence java.lang.String[]
StackMap stack:
new org.hibernate.hql.internal.ast.SqlGenerator
dup
aload 0
invokevirtual org.hibernate.hql.internal.ast.tree.IndexNode.getSessionFactoryHelper:()Lorg/hibernate/hql/internal/ast/util/SessionFactoryHelper;
invokevirtual org.hibernate.hql.internal.ast.util.SessionFactoryHelper.getFactory:()Lorg/hibernate/engine/spi/SessionFactoryImplementor;
invokespecial org.hibernate.hql.internal.ast.SqlGenerator.<init>:(Lorg/hibernate/engine/spi/SessionFactoryImplementor;)V
astore 20
start local 20 35: aload 20
aload 16
invokevirtual org.hibernate.hql.internal.ast.SqlGenerator.simpleExpr:(Lantlr/collections/AST;)V
36: goto 39
37: StackMap locals: org.hibernate.hql.internal.ast.tree.IndexNode int int java.lang.String antlr.collections.AST antlr.collections.AST org.hibernate.hql.internal.ast.tree.FromReferenceNode org.hibernate.hql.internal.ast.util.SessionFactoryHelper org.hibernate.type.Type java.lang.String org.hibernate.persister.collection.QueryableCollection org.hibernate.hql.internal.ast.tree.FromElement java.lang.String org.hibernate.hql.internal.ast.tree.FromClause java.lang.String org.hibernate.hql.internal.ast.tree.FromElement antlr.collections.AST java.lang.String org.hibernate.engine.internal.JoinSequence java.lang.String[] org.hibernate.hql.internal.ast.SqlGenerator
StackMap stack: antlr.RecognitionException
astore 21
start local 21 38: new org.hibernate.QueryException
dup
aload 21
invokevirtual antlr.RecognitionException.getMessage:()Ljava/lang/String;
aload 21
invokespecial org.hibernate.QueryException.<init>:(Ljava/lang/String;Ljava/lang/Exception;)V
athrow
end local 21 39: StackMap locals:
StackMap stack:
aload 20
invokevirtual org.hibernate.hql.internal.ast.SqlGenerator.getSQL:()Ljava/lang/String;
astore 21
start local 21 40: aload 18
new java.lang.StringBuilder
dup
aload 17
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
bipush 46
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 19
iconst_0
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 21
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.hibernate.engine.internal.JoinSequence.addCondition:(Ljava/lang/String;)Lorg/hibernate/engine/internal/JoinSequence;
pop
41: aload 20
invokevirtual org.hibernate.hql.internal.ast.SqlGenerator.getCollectedParameters:()Ljava/util/List;
astore 22
start local 22 42: aload 22
ifnull 52
43: aload 22
invokeinterface java.util.List.size:()I
tableswitch { // 0 - 1
0: 44
1: 45
default: 49
}
44: StackMap locals: java.lang.String java.util.List
StackMap stack:
goto 52
45: StackMap locals:
StackMap stack:
aload 22
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.hibernate.param.ParameterSpecification
astore 23
start local 23 46: aload 23
aload 10
invokeinterface org.hibernate.persister.collection.QueryableCollection.getIndexType:()Lorg/hibernate/type/Type;
invokeinterface org.hibernate.param.ParameterSpecification.setExpectedType:(Lorg/hibernate/type/Type;)V
47: aload 11
aload 23
invokevirtual org.hibernate.hql.internal.ast.tree.FromElement.setIndexCollectionSelectorParamSpec:(Lorg/hibernate/param/ParameterSpecification;)V
48: goto 52
end local 23 49: StackMap locals:
StackMap stack:
aload 11
50: new org.hibernate.hql.internal.ast.tree.IndexNode$AggregatedIndexCollectionSelectorParameterSpecifications
dup
aload 22
invokespecial org.hibernate.hql.internal.ast.tree.IndexNode$AggregatedIndexCollectionSelectorParameterSpecifications.<init>:(Ljava/util/List;)V
51: invokevirtual org.hibernate.hql.internal.ast.tree.FromElement.setIndexCollectionSelectorParamSpec:(Lorg/hibernate/param/ParameterSpecification;)V
52: StackMap locals:
StackMap stack:
aload 10
aload 12
invokeinterface org.hibernate.persister.collection.QueryableCollection.getElementColumnNames:(Ljava/lang/String;)[Ljava/lang/String;
astore 23
start local 23 53: aload 0
aload 23
iconst_0
aaload
invokevirtual org.hibernate.hql.internal.ast.tree.IndexNode.setText:(Ljava/lang/String;)V
54: aload 0
invokevirtual org.hibernate.hql.internal.ast.tree.IndexNode.setResolved:()V
55: return
end local 23 end local 22 end local 21 end local 20 end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 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 56 0 this Lorg/hibernate/hql/internal/ast/tree/IndexNode;
0 56 1 generateJoin Z
0 56 2 implicitJoin Z
0 56 3 classAlias Ljava/lang/String;
0 56 4 parent Lantlr/collections/AST;
0 56 5 parentPredicate Lantlr/collections/AST;
3 56 6 collectionNode Lorg/hibernate/hql/internal/ast/tree/FromReferenceNode;
4 56 7 sessionFactoryHelper Lorg/hibernate/hql/internal/ast/util/SessionFactoryHelper;
6 56 8 type Lorg/hibernate/type/Type;
9 56 9 collectionRole Ljava/lang/String;
10 56 10 queryableCollection Lorg/hibernate/persister/collection/QueryableCollection;
13 56 11 fromElement Lorg/hibernate/hql/internal/ast/tree/FromElement;
14 56 12 elementTable Ljava/lang/String;
15 56 13 fromClause Lorg/hibernate/hql/internal/ast/tree/FromClause;
16 56 14 path Ljava/lang/String;
17 56 15 elem Lorg/hibernate/hql/internal/ast/tree/FromElement;
19 21 16 factory Lorg/hibernate/hql/internal/ast/tree/FromElementFactory;
25 56 16 selector Lantlr/collections/AST;
28 56 17 collectionTableAlias Ljava/lang/String;
31 56 18 joinSequence Lorg/hibernate/engine/internal/JoinSequence;
32 56 19 indexCols [Ljava/lang/String;
35 56 20 gen Lorg/hibernate/hql/internal/ast/SqlGenerator;
38 39 21 e Lantlr/RecognitionException;
40 56 21 selectorExpression Ljava/lang/String;
42 56 22 paramSpecs Ljava/util/List<Lorg/hibernate/param/ParameterSpecification;>;
46 49 23 paramSpec Lorg/hibernate/param/ParameterSpecification;
53 56 23 elementColumns [Ljava/lang/String;
Exception table:
from to target type
35 36 37 Class antlr.RecognitionException
Exceptions:
throws antlr.SemanticException
MethodParameters:
Name Flags
generateJoin
implicitJoin
classAlias
parent
parentPredicate
}
SourceFile: "IndexNode.java"
NestMembers:
org.hibernate.hql.internal.ast.tree.IndexNode$AggregatedIndexCollectionSelectorParameterSpecifications
InnerClasses:
private AggregatedIndexCollectionSelectorParameterSpecifications = org.hibernate.hql.internal.ast.tree.IndexNode$AggregatedIndexCollectionSelectorParameterSpecifications of org.hibernate.hql.internal.ast.tree.IndexNode