public class org.hibernate.transform.DistinctResultTransformer extends org.hibernate.transform.BasicTransformerAdapter
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.hibernate.transform.DistinctResultTransformer
super_class: org.hibernate.transform.BasicTransformerAdapter
{
public static final org.hibernate.transform.DistinctResultTransformer INSTANCE;
descriptor: Lorg/hibernate/transform/DistinctResultTransformer;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
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=2, locals=0, args_size=0
0: new org.hibernate.transform.DistinctResultTransformer
dup
invokespecial org.hibernate.transform.DistinctResultTransformer.<init>:()V
putstatic org.hibernate.transform.DistinctResultTransformer.INSTANCE:Lorg/hibernate/transform/DistinctResultTransformer;
1: ldc Lorg/hibernate/internal/CoreMessageLogger;
2: ldc Lorg/hibernate/transform/DistinctResultTransformer;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
3: invokestatic org.jboss.logging.Logger.getMessageLogger:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Object;
checkcast org.hibernate.internal.CoreMessageLogger
putstatic org.hibernate.transform.DistinctResultTransformer.LOG:Lorg/hibernate/internal/CoreMessageLogger;
4: 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 org.hibernate.transform.BasicTransformerAdapter.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/hibernate/transform/DistinctResultTransformer;
public java.util.List transformList(java.util.List);
descriptor: (Ljava/util/List;)Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: new java.util.ArrayList
dup
aload 1
invokeinterface java.util.List.size:()I
invokespecial java.util.ArrayList.<init>:(I)V
astore 2
start local 2 1: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 3
start local 3 2: iconst_0
istore 4
start local 4 3: goto 8
4: StackMap locals: java.util.List java.util.Set int
StackMap stack:
aload 1
iload 4
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
astore 5
start local 5 5: aload 3
new org.hibernate.transform.DistinctResultTransformer$Identity
dup
aload 5
invokespecial org.hibernate.transform.DistinctResultTransformer$Identity.<init>:(Ljava/lang/Object;)V
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
ifeq 7
6: aload 2
aload 5
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 5 7: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
8: iload 4
aload 1
invokeinterface java.util.List.size:()I
if_icmplt 4
end local 4 9: getstatic org.hibernate.transform.DistinctResultTransformer.LOG:Lorg/hibernate/internal/CoreMessageLogger;
ldc "Transformed: %s rows to: %s distinct results"
aload 1
invokeinterface java.util.List.size:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 2
invokeinterface java.util.List.size:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface org.hibernate.internal.CoreMessageLogger.debugf:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
10: aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/hibernate/transform/DistinctResultTransformer;
0 11 1 list Ljava/util/List;
1 11 2 result Ljava/util/List;
2 11 3 distinct Ljava/util/Set;
3 9 4 i I
5 7 5 entity Ljava/lang/Object;
MethodParameters:
Name Flags
list
private java.lang.Object readResolve();
descriptor: ()Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic org.hibernate.transform.DistinctResultTransformer.INSTANCE:Lorg/hibernate/transform/DistinctResultTransformer;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hibernate/transform/DistinctResultTransformer;
}
SourceFile: "DistinctResultTransformer.java"
NestMembers:
org.hibernate.transform.DistinctResultTransformer$Identity
InnerClasses:
private final Identity = org.hibernate.transform.DistinctResultTransformer$Identity of org.hibernate.transform.DistinctResultTransformer