public class org.hibernate.dialect.function.TemplateRenderer
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.hibernate.dialect.function.TemplateRenderer
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 final java.lang.String template;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String[] chunks;
descriptor: [Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int[] paramIndexes;
descriptor: [I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: ldc Lorg/hibernate/internal/CoreMessageLogger;
1: ldc Lorg/hibernate/dialect/function/TemplateRenderer;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
2: invokestatic org.jboss.logging.Logger.getMessageLogger:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Object;
checkcast org.hibernate.internal.CoreMessageLogger
putstatic org.hibernate.dialect.function.TemplateRenderer.LOG:Lorg/hibernate/internal/CoreMessageLogger;
3: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=9, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield org.hibernate.dialect.function.TemplateRenderer.template:Ljava/lang/String;
2: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 2
start local 2 3: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
start local 3 4: new java.lang.StringBuilder
dup
bipush 10
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 4
start local 4 5: new java.lang.StringBuilder
dup
iconst_2
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 5
start local 5 6: iconst_0
istore 6
start local 6 7: aload 1
invokevirtual java.lang.String.length:()I
istore 7
start local 7 8: goto 26
9: StackMap locals: org.hibernate.dialect.function.TemplateRenderer java.lang.String java.util.List java.util.List java.lang.StringBuilder java.lang.StringBuilder int int
StackMap stack:
aload 1
iload 6
invokevirtual java.lang.String.charAt:(I)C
istore 8
start local 8 10: iload 8
bipush 63
if_icmpne 24
11: aload 2
aload 4
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
12: aload 4
iconst_0
aload 4
invokevirtual java.lang.StringBuilder.length:()I
invokevirtual java.lang.StringBuilder.delete:(II)Ljava/lang/StringBuilder;
pop
13: goto 20
14: StackMap locals: int
StackMap stack:
aload 1
iload 6
invokevirtual java.lang.String.charAt:(I)C
istore 8
15: iload 8
invokestatic java.lang.Character.isDigit:(C)Z
ifeq 18
16: aload 5
iload 8
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
17: goto 20
18: StackMap locals:
StackMap stack:
aload 4
iload 8
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
19: goto 21
20: StackMap locals:
StackMap stack:
iinc 6 1
iload 6
aload 1
invokevirtual java.lang.String.length:()I
if_icmplt 14
21: StackMap locals:
StackMap stack:
aload 3
aload 5
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic java.lang.Integer.valueOf:(Ljava/lang/String;)Ljava/lang/Integer;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
22: aload 5
iconst_0
aload 5
invokevirtual java.lang.StringBuilder.length:()I
invokevirtual java.lang.StringBuilder.delete:(II)Ljava/lang/StringBuilder;
pop
23: goto 25
24: StackMap locals:
StackMap stack:
aload 4
iload 8
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
25: StackMap locals:
StackMap stack:
iinc 6 1
end local 8 26: StackMap locals:
StackMap stack:
iload 6
iload 7
if_icmplt 9
27: aload 4
invokevirtual java.lang.StringBuilder.length:()I
ifle 29
28: aload 2
aload 4
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
29: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 2
invokeinterface java.util.List.size:()I
anewarray java.lang.String
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.String[]
putfield org.hibernate.dialect.function.TemplateRenderer.chunks:[Ljava/lang/String;
30: aload 0
aload 3
invokeinterface java.util.List.size:()I
newarray 10
putfield org.hibernate.dialect.function.TemplateRenderer.paramIndexes:[I
31: iconst_0
istore 6
goto 34
32: StackMap locals:
StackMap stack:
aload 0
getfield org.hibernate.dialect.function.TemplateRenderer.paramIndexes:[I
iload 6
aload 3
iload 6
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
iastore
33: iinc 6 1
StackMap locals:
StackMap stack:
34: iload 6
aload 0
getfield org.hibernate.dialect.function.TemplateRenderer.paramIndexes:[I
arraylength
if_icmplt 32
35: return
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 36 0 this Lorg/hibernate/dialect/function/TemplateRenderer;
0 36 1 template Ljava/lang/String;
3 36 2 chunkList Ljava/util/List<Ljava/lang/String;>;
4 36 3 paramList Ljava/util/List<Ljava/lang/Integer;>;
5 36 4 chunk Ljava/lang/StringBuilder;
6 36 5 index Ljava/lang/StringBuilder;
7 36 6 i I
8 36 7 len I
10 26 8 c C
MethodParameters:
Name Flags
template
public java.lang.String getTemplate();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.hibernate.dialect.function.TemplateRenderer.template:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hibernate/dialect/function/TemplateRenderer;
public int getAnticipatedNumberOfArguments();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.hibernate.dialect.function.TemplateRenderer.paramIndexes:[I
arraylength
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hibernate/dialect/function/TemplateRenderer;
public java.lang.String render(java.util.List, org.hibernate.engine.spi.SessionFactoryImplementor);
descriptor: (Ljava/util/List;Lorg/hibernate/engine/spi/SessionFactoryImplementor;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokeinterface java.util.List.size:()I
istore 3
start local 3 1: aload 0
invokevirtual org.hibernate.dialect.function.TemplateRenderer.getAnticipatedNumberOfArguments:()I
ifle 3
iload 3
aload 0
invokevirtual org.hibernate.dialect.function.TemplateRenderer.getAnticipatedNumberOfArguments:()I
if_icmpeq 3
2: getstatic org.hibernate.dialect.function.TemplateRenderer.LOG:Lorg/hibernate/internal/CoreMessageLogger;
aload 0
invokevirtual org.hibernate.dialect.function.TemplateRenderer.getAnticipatedNumberOfArguments:()I
iload 3
invokeinterface org.hibernate.internal.CoreMessageLogger.missingArguments:(II)V
3: StackMap locals: int
StackMap stack:
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 4
start local 4 4: iconst_0
istore 5
start local 5 5: goto 16
6: StackMap locals: java.lang.StringBuilder int
StackMap stack:
iload 5
aload 0
getfield org.hibernate.dialect.function.TemplateRenderer.paramIndexes:[I
arraylength
if_icmpge 14
7: aload 0
getfield org.hibernate.dialect.function.TemplateRenderer.paramIndexes:[I
iload 5
iaload
iconst_1
isub
istore 6
start local 6 8: iload 6
iload 3
if_icmpge 9
aload 1
iload 6
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
goto 10
StackMap locals: int
StackMap stack:
9: aconst_null
StackMap locals:
StackMap stack: java.lang.Object
10: astore 7
start local 7 11: aload 7
ifnull 15
12: aload 4
aload 0
getfield org.hibernate.dialect.function.TemplateRenderer.chunks:[Ljava/lang/String;
iload 5
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
pop
end local 7 end local 6 13: goto 15
14: StackMap locals:
StackMap stack:
aload 4
aload 0
getfield org.hibernate.dialect.function.TemplateRenderer.chunks:[Ljava/lang/String;
iload 5
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
15: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
16: iload 5
aload 0
getfield org.hibernate.dialect.function.TemplateRenderer.chunks:[Ljava/lang/String;
arraylength
if_icmplt 6
end local 5 17: aload 4
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lorg/hibernate/dialect/function/TemplateRenderer;
0 18 1 args Ljava/util/List;
0 18 2 factory Lorg/hibernate/engine/spi/SessionFactoryImplementor;
1 18 3 numberOfArguments I
4 18 4 buf Ljava/lang/StringBuilder;
5 17 5 i I
8 13 6 index I
11 13 7 arg Ljava/lang/Object;
MethodParameters:
Name Flags
args
factory
}
SourceFile: "TemplateRenderer.java"