public class org.hibernate.jpa.spi.TupleBuilderTransformer extends org.hibernate.transform.BasicTransformerAdapter
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.hibernate.jpa.spi.TupleBuilderTransformer
super_class: org.hibernate.transform.BasicTransformerAdapter
{
private java.util.List<javax.persistence.TupleElement<?>> tupleElements;
descriptor: Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/List<Ljavax/persistence/TupleElement<*>;>;
private java.util.Map<java.lang.String, org.hibernate.jpa.spi.TupleBuilderTransformer$HqlTupleElementImpl> tupleElementsByAlias;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Map<Ljava/lang/String;Lorg/hibernate/jpa/spi/TupleBuilderTransformer$HqlTupleElementImpl;>;
public void <init>(org.hibernate.Query);
descriptor: (Lorg/hibernate/Query;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=9, args_size=2
start local 0 // org.hibernate.jpa.spi.TupleBuilderTransformer this
start local 1 // org.hibernate.Query hqlQuery
0: .line 28
aload 0 /* this */
invokespecial org.hibernate.transform.BasicTransformerAdapter.<init>:()V
1: .line 29
aload 1 /* hqlQuery */
invokeinterface org.hibernate.Query.getReturnTypes:()[Lorg/hibernate/type/Type;
astore 2 /* resultTypes */
start local 2 // org.hibernate.type.Type[] resultTypes
2: .line 30
aload 2 /* resultTypes */
arraylength
istore 3 /* tupleSize */
start local 3 // int tupleSize
3: .line 32
aload 0 /* this */
iload 3 /* tupleSize */
invokestatic org.hibernate.internal.util.collections.CollectionHelper.arrayList:(I)Ljava/util/ArrayList;
putfield org.hibernate.jpa.spi.TupleBuilderTransformer.tupleElements:Ljava/util/List;
4: .line 34
aload 1 /* hqlQuery */
invokeinterface org.hibernate.Query.getReturnAliases:()[Ljava/lang/String;
astore 4 /* aliases */
start local 4 // java.lang.String[] aliases
5: .line 35
aload 4 /* aliases */
ifnull 6
aload 4 /* aliases */
arraylength
ifle 6
iconst_1
goto 7
StackMap locals: org.hibernate.jpa.spi.TupleBuilderTransformer org.hibernate.Query org.hibernate.type.Type[] int java.lang.String[]
StackMap stack:
6: iconst_0
StackMap locals:
StackMap stack: int
7: istore 5 /* hasAliases */
start local 5 // boolean hasAliases
8: .line 36
aload 0 /* this */
iload 5 /* hasAliases */
ifeq 10
9: .line 37
iload 3 /* tupleSize */
invokestatic org.hibernate.internal.util.collections.CollectionHelper.mapOfSize:(I)Ljava/util/Map;
goto 11
10: .line 38
StackMap locals: org.hibernate.jpa.spi.TupleBuilderTransformer org.hibernate.Query org.hibernate.type.Type[] int java.lang.String[] int
StackMap stack: org.hibernate.jpa.spi.TupleBuilderTransformer
invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
11: .line 36
StackMap locals: org.hibernate.jpa.spi.TupleBuilderTransformer org.hibernate.Query org.hibernate.type.Type[] int java.lang.String[] int
StackMap stack: org.hibernate.jpa.spi.TupleBuilderTransformer java.util.Map
putfield org.hibernate.jpa.spi.TupleBuilderTransformer.tupleElementsByAlias:Ljava/util/Map;
12: .line 40
iconst_0
istore 6 /* i */
start local 6 // int i
13: goto 26
14: .line 41
StackMap locals: int
StackMap stack:
new org.hibernate.jpa.spi.TupleBuilderTransformer$HqlTupleElementImpl
dup
15: .line 42
iload 6 /* i */
16: .line 43
aload 4 /* aliases */
ifnonnull 17
aconst_null
goto 18
StackMap locals: org.hibernate.jpa.spi.TupleBuilderTransformer org.hibernate.Query org.hibernate.type.Type[] int java.lang.String[] int int
StackMap stack: new 14 new 14 int
17: aload 4 /* aliases */
iload 6 /* i */
aaload
18: .line 44
StackMap locals: org.hibernate.jpa.spi.TupleBuilderTransformer org.hibernate.Query org.hibernate.type.Type[] int java.lang.String[] int int
StackMap stack: new 14 new 14 int java.lang.String
aload 2 /* resultTypes */
iload 6 /* i */
aaload
19: .line 41
invokespecial org.hibernate.jpa.spi.TupleBuilderTransformer$HqlTupleElementImpl.<init>:(ILjava/lang/String;Lorg/hibernate/type/Type;)V
astore 7 /* tupleElement */
start local 7 // org.hibernate.jpa.spi.TupleBuilderTransformer$HqlTupleElementImpl tupleElement
20: .line 46
aload 0 /* this */
getfield org.hibernate.jpa.spi.TupleBuilderTransformer.tupleElements:Ljava/util/List;
aload 7 /* tupleElement */
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
21: .line 47
iload 5 /* hasAliases */
ifeq 25
22: .line 48
aload 4 /* aliases */
iload 6 /* i */
aaload
astore 8 /* alias */
start local 8 // java.lang.String alias
23: .line 49
aload 8 /* alias */
ifnull 25
24: .line 50
aload 0 /* this */
getfield org.hibernate.jpa.spi.TupleBuilderTransformer.tupleElementsByAlias:Ljava/util/Map;
aload 8 /* alias */
aload 7 /* tupleElement */
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 8 // java.lang.String alias
end local 7 // org.hibernate.jpa.spi.TupleBuilderTransformer$HqlTupleElementImpl tupleElement
25: .line 40
StackMap locals:
StackMap stack:
iinc 6 /* i */ 1
StackMap locals:
StackMap stack:
26: iload 6 /* i */
iload 3 /* tupleSize */
if_icmplt 14
end local 6 // int i
27: .line 54
return
end local 5 // boolean hasAliases
end local 4 // java.lang.String[] aliases
end local 3 // int tupleSize
end local 2 // org.hibernate.type.Type[] resultTypes
end local 1 // org.hibernate.Query hqlQuery
end local 0 // org.hibernate.jpa.spi.TupleBuilderTransformer this
LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lorg/hibernate/jpa/spi/TupleBuilderTransformer;
0 28 1 hqlQuery Lorg/hibernate/Query;
2 28 2 resultTypes [Lorg/hibernate/type/Type;
3 28 3 tupleSize I
5 28 4 aliases [Ljava/lang/String;
8 28 5 hasAliases Z
13 27 6 i I
20 25 7 tupleElement Lorg/hibernate/jpa/spi/TupleBuilderTransformer$HqlTupleElementImpl;
23 25 8 alias Ljava/lang/String;
MethodParameters:
Name Flags
hqlQuery
public java.lang.Object transformTuple(java.lang.Object[], java.lang.String[]);
descriptor: ([Ljava/lang/Object;[Ljava/lang/String;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 // org.hibernate.jpa.spi.TupleBuilderTransformer this
start local 1 // java.lang.Object[] tuple
start local 2 // java.lang.String[] aliases
0: .line 58
aload 1 /* tuple */
arraylength
aload 0 /* this */
getfield org.hibernate.jpa.spi.TupleBuilderTransformer.tupleElements:Ljava/util/List;
invokeinterface java.util.List.size:()I
if_icmpeq 6
1: .line 59
new java.lang.IllegalArgumentException
dup
2: .line 60
new java.lang.StringBuilder
dup
ldc "Size mismatch between tuple result ["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1 /* tuple */
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "] and expected tuple elements ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
3: .line 61
aload 0 /* this */
getfield org.hibernate.jpa.spi.TupleBuilderTransformer.tupleElements:Ljava/util/List;
invokeinterface java.util.List.size:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
4: .line 60
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
5: .line 59
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
6: .line 64
StackMap locals:
StackMap stack:
new org.hibernate.jpa.spi.TupleBuilderTransformer$HqlTupleImpl
dup
aload 0 /* this */
aload 1 /* tuple */
invokespecial org.hibernate.jpa.spi.TupleBuilderTransformer$HqlTupleImpl.<init>:(Lorg/hibernate/jpa/spi/TupleBuilderTransformer;[Ljava/lang/Object;)V
areturn
end local 2 // java.lang.String[] aliases
end local 1 // java.lang.Object[] tuple
end local 0 // org.hibernate.jpa.spi.TupleBuilderTransformer this
LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/hibernate/jpa/spi/TupleBuilderTransformer;
0 7 1 tuple [Ljava/lang/Object;
0 7 2 aliases [Ljava/lang/String;
MethodParameters:
Name Flags
tuple
aliases
}
SourceFile: "TupleBuilderTransformer.java"
NestMembers:
org.hibernate.jpa.spi.TupleBuilderTransformer$HqlTupleElementImpl org.hibernate.jpa.spi.TupleBuilderTransformer$HqlTupleImpl
InnerClasses:
public HqlTupleElementImpl = org.hibernate.jpa.spi.TupleBuilderTransformer$HqlTupleElementImpl of org.hibernate.jpa.spi.TupleBuilderTransformer
public HqlTupleImpl = org.hibernate.jpa.spi.TupleBuilderTransformer$HqlTupleImpl of org.hibernate.jpa.spi.TupleBuilderTransformer