public class org.hibernate.dialect.function.StandardAnsiSqlAggregationFunctions$CountFunction extends org.hibernate.dialect.function.StandardSQLFunction
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.hibernate.dialect.function.StandardAnsiSqlAggregationFunctions$CountFunction
super_class: org.hibernate.dialect.function.StandardSQLFunction
{
public static final org.hibernate.dialect.function.StandardAnsiSqlAggregationFunctions$CountFunction INSTANCE;
descriptor: Lorg/hibernate/dialect/function/StandardAnsiSqlAggregationFunctions$CountFunction;
flags: (0x0019) ACC_PUBLIC, 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.dialect.function.StandardAnsiSqlAggregationFunctions$CountFunction
dup
invokespecial org.hibernate.dialect.function.StandardAnsiSqlAggregationFunctions$CountFunction.<init>:()V
putstatic org.hibernate.dialect.function.StandardAnsiSqlAggregationFunctions$CountFunction.INSTANCE:Lorg/hibernate/dialect/function/StandardAnsiSqlAggregationFunctions$CountFunction;
return
LocalVariableTable:
Start End Slot Name Signature
protected void <init>();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
ldc "count"
getstatic org.hibernate.type.StandardBasicTypes.LONG:Lorg/hibernate/type/LongType;
invokespecial org.hibernate.dialect.function.StandardSQLFunction.<init>:(Ljava/lang/String;Lorg/hibernate/type/Type;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/hibernate/dialect/function/StandardAnsiSqlAggregationFunctions$CountFunction;
public java.lang.String render(org.hibernate.type.Type, java.util.List, org.hibernate.engine.spi.SessionFactoryImplementor);
descriptor: (Lorg/hibernate/type/Type;Ljava/util/List;Lorg/hibernate/engine/spi/SessionFactoryImplementor;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokeinterface java.util.List.size:()I
iconst_1
if_icmple 3
1: ldc "distinct"
aload 2
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 3
2: aload 0
aload 2
aload 3
invokeinterface org.hibernate.engine.spi.SessionFactoryImplementor.getDialect:()Lorg/hibernate/dialect/Dialect;
invokevirtual org.hibernate.dialect.function.StandardAnsiSqlAggregationFunctions$CountFunction.renderCountDistinct:(Ljava/util/List;Lorg/hibernate/dialect/Dialect;)Ljava/lang/String;
areturn
3: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
aload 3
invokespecial org.hibernate.dialect.function.StandardSQLFunction.render:(Lorg/hibernate/type/Type;Ljava/util/List;Lorg/hibernate/engine/spi/SessionFactoryImplementor;)Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/hibernate/dialect/function/StandardAnsiSqlAggregationFunctions$CountFunction;
0 4 1 firstArgumentType Lorg/hibernate/type/Type;
0 4 2 arguments Ljava/util/List;
0 4 3 factory Lorg/hibernate/engine/spi/SessionFactoryImplementor;
MethodParameters:
Name Flags
firstArgumentType
arguments
factory
private java.lang.String renderCountDistinct(java.util.List, org.hibernate.dialect.Dialect);
descriptor: (Ljava/util/List;Lorg/hibernate/dialect/Dialect;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=6, args_size=3
start local 0 start local 1 start local 2 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 3
start local 3 1: aload 3
ldc "count(distinct "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
2: aload 2
invokevirtual org.hibernate.dialect.Dialect.requiresParensForTupleDistinctCounts:()Z
ifeq 3
aload 3
ldc "("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
3: StackMap locals: java.lang.StringBuilder
StackMap stack:
ldc ""
astore 4
start local 4 4: aload 1
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
start local 5 5: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
pop
6: goto 9
7: StackMap locals: java.lang.String java.util.Iterator
StackMap stack:
aload 3
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
pop
8: ldc ", "
astore 4
9: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
10: aload 2
invokevirtual org.hibernate.dialect.Dialect.requiresParensForTupleDistinctCounts:()Z
ifeq 11
aload 3
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
11: StackMap locals:
StackMap stack:
aload 3
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
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 12 0 this Lorg/hibernate/dialect/function/StandardAnsiSqlAggregationFunctions$CountFunction;
0 12 1 arguments Ljava/util/List;
0 12 2 dialect Lorg/hibernate/dialect/Dialect;
1 12 3 buffer Ljava/lang/StringBuilder;
4 12 4 sep Ljava/lang/String;
5 12 5 itr Ljava/util/Iterator;
MethodParameters:
Name Flags
arguments
dialect
}
SourceFile: "StandardAnsiSqlAggregationFunctions.java"
NestHost: org.hibernate.dialect.function.StandardAnsiSqlAggregationFunctions
InnerClasses:
public CountFunction = org.hibernate.dialect.function.StandardAnsiSqlAggregationFunctions$CountFunction of org.hibernate.dialect.function.StandardAnsiSqlAggregationFunctions