public class freemarker.core._ErrorDescriptionBuilder
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: freemarker.core._ErrorDescriptionBuilder
super_class: java.lang.Object
{
private static final freemarker.log.Logger LOG;
descriptor: Lfreemarker/log/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final java.lang.String description;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.Object[] descriptionParts;
descriptor: [Ljava/lang/Object;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private freemarker.core.Expression blamed;
descriptor: Lfreemarker/core/Expression;
flags: (0x0002) ACC_PRIVATE
private boolean showBlamer;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.lang.Object tip;
descriptor: Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
private java.lang.Object[] tips;
descriptor: [Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
private freemarker.template.Template template;
descriptor: Lfreemarker/template/Template;
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc "freemarker.runtime"
invokestatic freemarker.log.Logger.getLogger:(Ljava/lang/String;)Lfreemarker/log/Logger;
putstatic freemarker.core._ErrorDescriptionBuilder.LOG:Lfreemarker/log/Logger;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield freemarker.core._ErrorDescriptionBuilder.description:Ljava/lang/String;
2: aload 0
aconst_null
putfield freemarker.core._ErrorDescriptionBuilder.descriptionParts:[Ljava/lang/Object;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lfreemarker/core/_ErrorDescriptionBuilder;
0 4 1 description Ljava/lang/String;
MethodParameters:
Name Flags
description
public void <init>(java.lang.Object[]);
descriptor: ([Ljava/lang/Object;)V
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield freemarker.core._ErrorDescriptionBuilder.descriptionParts:[Ljava/lang/Object;
2: aload 0
aconst_null
putfield freemarker.core._ErrorDescriptionBuilder.description:Ljava/lang/String;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lfreemarker/core/_ErrorDescriptionBuilder;
0 4 1 descriptionParts [Ljava/lang/Object;
MethodParameters:
Name Flags
descriptionParts
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
iconst_1
invokevirtual freemarker.core._ErrorDescriptionBuilder.toString:(Lfreemarker/core/TemplateElement;Z)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/core/_ErrorDescriptionBuilder;
public java.lang.String toString(freemarker.core.TemplateElement, boolean);
descriptor: (Lfreemarker/core/TemplateElement;Z)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield freemarker.core._ErrorDescriptionBuilder.blamed:Lfreemarker/core/Expression;
ifnonnull 1
aload 0
getfield freemarker.core._ErrorDescriptionBuilder.tips:[Ljava/lang/Object;
ifnonnull 1
aload 0
getfield freemarker.core._ErrorDescriptionBuilder.tip:Ljava/lang/Object;
ifnonnull 1
aload 0
getfield freemarker.core._ErrorDescriptionBuilder.descriptionParts:[Ljava/lang/Object;
ifnonnull 1
aload 0
getfield freemarker.core._ErrorDescriptionBuilder.description:Ljava/lang/String;
areturn
1: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
sipush 200
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 3
start local 3 2: aload 1
ifnull 15
aload 0
getfield freemarker.core._ErrorDescriptionBuilder.blamed:Lfreemarker/core/Expression;
ifnull 15
aload 0
getfield freemarker.core._ErrorDescriptionBuilder.showBlamer:Z
ifeq 15
3: aload 0
aload 1
aload 0
getfield freemarker.core._ErrorDescriptionBuilder.blamed:Lfreemarker/core/Expression;
iconst_0
invokevirtual freemarker.core._ErrorDescriptionBuilder.findBlaming:(Lfreemarker/core/TemplateObject;Lfreemarker/core/Expression;I)Lfreemarker/core/_ErrorDescriptionBuilder$Blaming;
astore 4
start local 4 4: aload 4
ifnull 15
5: aload 3
ldc "For "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
6: aload 4
getfield freemarker.core._ErrorDescriptionBuilder$Blaming.blamer:Lfreemarker/core/TemplateObject;
invokevirtual freemarker.core.TemplateObject.getNodeTypeSymbol:()Ljava/lang/String;
astore 5
start local 5 7: aload 5
bipush 34
invokevirtual java.lang.String.indexOf:(I)I
iconst_m1
if_icmpne 8
bipush 34
goto 9
StackMap locals: java.lang.StringBuilder freemarker.core._ErrorDescriptionBuilder$Blaming java.lang.String
StackMap stack:
8: bipush 96
StackMap locals:
StackMap stack: int
9: istore 6
start local 6 10: aload 3
iload 6
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 6
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
11: aload 3
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
getfield freemarker.core._ErrorDescriptionBuilder$Blaming.roleOfblamed:Lfreemarker/core/ParameterRole;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 6 end local 5 end local 4 12: goto 15
StackMap locals: freemarker.core._ErrorDescriptionBuilder freemarker.core.TemplateElement int java.lang.StringBuilder
StackMap stack: java.lang.Throwable
13: astore 4
start local 4 14: getstatic freemarker.core._ErrorDescriptionBuilder.LOG:Lfreemarker/log/Logger;
ldc "Error when searching blamer for better error message."
aload 4
invokevirtual freemarker.log.Logger.error:(Ljava/lang/String;Ljava/lang/Throwable;)V
end local 4 15: StackMap locals:
StackMap stack:
aload 0
getfield freemarker.core._ErrorDescriptionBuilder.description:Ljava/lang/String;
ifnull 18
16: aload 3
aload 0
getfield freemarker.core._ErrorDescriptionBuilder.description:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
17: goto 19
18: StackMap locals:
StackMap stack:
aload 0
aload 3
aload 0
getfield freemarker.core._ErrorDescriptionBuilder.descriptionParts:[Ljava/lang/Object;
invokevirtual freemarker.core._ErrorDescriptionBuilder.appendParts:(Ljava/lang/StringBuilder;[Ljava/lang/Object;)V
19: StackMap locals:
StackMap stack:
aconst_null
astore 4
start local 4 20: aload 0
getfield freemarker.core._ErrorDescriptionBuilder.blamed:Lfreemarker/core/Expression;
ifnull 47
21: aload 3
invokevirtual java.lang.StringBuilder.length:()I
iconst_1
isub
istore 5
start local 5 22: goto 25
23: StackMap locals: java.lang.String int
StackMap stack:
aload 3
iload 5
invokevirtual java.lang.StringBuilder.deleteCharAt:(I)Ljava/lang/StringBuilder;
pop
24: iinc 5 -1
StackMap locals:
StackMap stack:
25: iload 5
iflt 26
aload 3
iload 5
invokevirtual java.lang.StringBuilder.charAt:(I)C
invokestatic java.lang.Character.isWhitespace:(C)Z
ifne 23
end local 5 26: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.lang.StringBuilder.length:()I
ifle 27
aload 3
aload 3
invokevirtual java.lang.StringBuilder.length:()I
iconst_1
isub
invokevirtual java.lang.StringBuilder.charAt:(I)C
goto 28
StackMap locals:
StackMap stack:
27: iconst_0
StackMap locals:
StackMap stack: int
28: istore 5
start local 5 29: iload 5
ifeq 31
30: aload 3
bipush 10
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
31: StackMap locals: int
StackMap stack:
iload 5
bipush 58
if_icmpeq 33
32: aload 3
ldc "The blamed expression:\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
33: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield freemarker.core._ErrorDescriptionBuilder.blamed:Lfreemarker/core/Expression;
invokevirtual freemarker.core.Expression.toString:()Ljava/lang/String;
invokevirtual freemarker.core._ErrorDescriptionBuilder.splitToLines:(Ljava/lang/String;)[Ljava/lang/String;
astore 6
start local 6 34: iconst_0
istore 7
start local 7 35: goto 41
36: StackMap locals: java.lang.String[] int
StackMap stack:
aload 3
iload 7
ifne 37
ldc "==> "
goto 38
StackMap locals:
StackMap stack: java.lang.StringBuilder
37: ldc "\n "
StackMap locals: freemarker.core._ErrorDescriptionBuilder freemarker.core.TemplateElement int java.lang.StringBuilder java.lang.String int java.lang.String[] int
StackMap stack: java.lang.StringBuilder java.lang.String
38: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
39: aload 3
aload 6
iload 7
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
40: iinc 7 1
StackMap locals:
StackMap stack:
41: iload 7
aload 6
arraylength
if_icmplt 36
end local 7 42: aload 3
ldc " ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
43: aload 3
aload 0
getfield freemarker.core._ErrorDescriptionBuilder.blamed:Lfreemarker/core/Expression;
invokevirtual freemarker.core.Expression.getStartLocation:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
44: aload 3
bipush 93
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
45: aload 0
aload 0
getfield freemarker.core._ErrorDescriptionBuilder.blamed:Lfreemarker/core/Expression;
iconst_0
invokevirtual freemarker.core._ErrorDescriptionBuilder.containsSingleInterpolatoinLiteral:(Lfreemarker/core/Expression;I)Z
ifeq 47
46: ldc "It has been noticed that you are using ${...} as the sole content of a quoted string. That does nothing but forcably converts the value inside ${...} to string (as it inserts it into the enclosing string). If that's not what you meant, just remove the quotation marks, ${ and }; you don't need them. If you indeed wanted to convert to string, use myExpression?string instead."
astore 4
end local 6 end local 5 47: StackMap locals:
StackMap stack:
iload 2
ifeq 83
48: aload 0
getfield freemarker.core._ErrorDescriptionBuilder.tips:[Ljava/lang/Object;
ifnull 49
aload 0
getfield freemarker.core._ErrorDescriptionBuilder.tips:[Ljava/lang/Object;
arraylength
goto 50
StackMap locals:
StackMap stack:
49: iconst_0
StackMap locals:
StackMap stack: int
50: aload 0
getfield freemarker.core._ErrorDescriptionBuilder.tip:Ljava/lang/Object;
ifnull 51
iconst_1
goto 52
StackMap locals:
StackMap stack: int
51: iconst_0
StackMap locals: freemarker.core._ErrorDescriptionBuilder freemarker.core.TemplateElement int java.lang.StringBuilder java.lang.String
StackMap stack: int int
52: iadd
aload 4
ifnull 53
iconst_1
goto 54
StackMap locals:
StackMap stack: int
53: iconst_0
StackMap locals: freemarker.core._ErrorDescriptionBuilder freemarker.core.TemplateElement int java.lang.StringBuilder java.lang.String
StackMap stack: int int
54: iadd
istore 5
start local 5 55: aload 0
getfield freemarker.core._ErrorDescriptionBuilder.tips:[Ljava/lang/Object;
ifnull 58
iload 5
aload 0
getfield freemarker.core._ErrorDescriptionBuilder.tips:[Ljava/lang/Object;
arraylength
if_icmpne 58
56: aload 0
getfield freemarker.core._ErrorDescriptionBuilder.tips:[Ljava/lang/Object;
astore 6
start local 6 57: goto 68
end local 6 58: StackMap locals: int
StackMap stack:
iload 5
anewarray java.lang.Object
astore 6
start local 6 59: iconst_0
istore 7
start local 7 60: aload 0
getfield freemarker.core._ErrorDescriptionBuilder.tip:Ljava/lang/Object;
ifnull 61
aload 6
iload 7
iinc 7 1
aload 0
getfield freemarker.core._ErrorDescriptionBuilder.tip:Ljava/lang/Object;
aastore
61: StackMap locals: java.lang.Object[] int
StackMap stack:
aload 0
getfield freemarker.core._ErrorDescriptionBuilder.tips:[Ljava/lang/Object;
ifnull 67
62: iconst_0
istore 8
start local 8 63: goto 66
64: StackMap locals: int
StackMap stack:
aload 6
iload 7
iinc 7 1
aload 0
getfield freemarker.core._ErrorDescriptionBuilder.tips:[Ljava/lang/Object;
iload 8
aaload
aastore
65: iinc 8 1
StackMap locals:
StackMap stack:
66: iload 8
aload 0
getfield freemarker.core._ErrorDescriptionBuilder.tips:[Ljava/lang/Object;
arraylength
if_icmplt 64
end local 8 67: StackMap locals:
StackMap stack:
aload 4
ifnull 68
aload 6
iload 7
iinc 7 1
aload 4
aastore
end local 7 68: StackMap locals:
StackMap stack:
aload 6
ifnull 83
aload 6
arraylength
ifle 83
69: aload 3
ldc "\n\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
70: iconst_0
istore 7
start local 7 71: goto 81
72: StackMap locals: int
StackMap stack:
iload 7
ifeq 73
aload 3
bipush 10
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
73: StackMap locals:
StackMap stack:
aload 3
ldc "----"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 10
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
74: aload 3
ldc "Tip: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
75: aload 6
iload 7
aaload
astore 8
start local 8 76: aload 8
instanceof java.lang.Object[]
ifne 79
77: aload 3
aload 6
iload 7
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
pop
78: goto 80
79: StackMap locals: java.lang.Object
StackMap stack:
aload 0
aload 3
aload 8
checkcast java.lang.Object[]
invokevirtual freemarker.core._ErrorDescriptionBuilder.appendParts:(Ljava/lang/StringBuilder;[Ljava/lang/Object;)V
end local 8 80: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
81: iload 7
aload 6
arraylength
if_icmplt 72
end local 7 82: aload 3
bipush 10
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
ldc "----"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 6 end local 5 83: StackMap locals:
StackMap stack:
aload 3
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 84 0 this Lfreemarker/core/_ErrorDescriptionBuilder;
0 84 1 parentElement Lfreemarker/core/TemplateElement;
0 84 2 showTips Z
2 84 3 sb Ljava/lang/StringBuilder;
4 12 4 blaming Lfreemarker/core/_ErrorDescriptionBuilder$Blaming;
7 12 5 nss Ljava/lang/String;
10 12 6 q C
14 15 4 e Ljava/lang/Throwable;
20 84 4 extraTip Ljava/lang/String;
22 26 5 idx I
29 47 5 lastChar C
34 47 6 lines [Ljava/lang/String;
35 42 7 i I
55 83 5 allTipsLen I
57 58 6 allTips [Ljava/lang/Object;
59 83 6 allTips [Ljava/lang/Object;
60 68 7 dst I
63 67 8 i I
71 82 7 i I
76 80 8 tip Ljava/lang/Object;
Exception table:
from to target type
3 12 13 Class java.lang.Throwable
MethodParameters:
Name Flags
parentElement
showTips
private boolean containsSingleInterpolatoinLiteral(freemarker.core.Expression, int);
descriptor: (Lfreemarker/core/Expression;I)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnonnull 1
iconst_0
ireturn
1: StackMap locals:
StackMap stack:
iload 2
bipush 20
if_icmple 2
iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 1
instanceof freemarker.core.StringLiteral
ifeq 3
aload 1
checkcast freemarker.core.StringLiteral
invokevirtual freemarker.core.StringLiteral.isSingleInterpolationLiteral:()Z
ifeq 3
iconst_1
ireturn
3: StackMap locals:
StackMap stack:
aload 1
invokevirtual freemarker.core.Expression.getParameterCount:()I
istore 3
start local 3 4: iconst_0
istore 4
start local 4 5: goto 11
6: StackMap locals: int int
StackMap stack:
aload 1
iload 4
invokevirtual freemarker.core.Expression.getParameterValue:(I)Ljava/lang/Object;
astore 5
start local 5 7: aload 5
instanceof freemarker.core.Expression
ifeq 10
8: aload 0
aload 5
checkcast freemarker.core.Expression
iload 2
iconst_1
iadd
invokevirtual freemarker.core._ErrorDescriptionBuilder.containsSingleInterpolatoinLiteral:(Lfreemarker/core/Expression;I)Z
istore 6
start local 6 9: iload 6
ifeq 10
iconst_1
ireturn
end local 6 end local 5 10: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
11: iload 4
iload 3
if_icmplt 6
end local 4 12: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lfreemarker/core/_ErrorDescriptionBuilder;
0 13 1 exp Lfreemarker/core/Expression;
0 13 2 recursionDepth I
4 13 3 paramCnt I
5 12 4 i I
7 10 5 paramValue Ljava/lang/Object;
9 10 6 result Z
MethodParameters:
Name Flags
exp
recursionDepth
private freemarker.core._ErrorDescriptionBuilder$Blaming findBlaming(freemarker.core.TemplateObject, freemarker.core.Expression, int);
descriptor: (Lfreemarker/core/TemplateObject;Lfreemarker/core/Expression;I)Lfreemarker/core/_ErrorDescriptionBuilder$Blaming;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 3
bipush 50
if_icmple 1
aconst_null
areturn
1: StackMap locals:
StackMap stack:
aload 1
invokevirtual freemarker.core.TemplateObject.getParameterCount:()I
istore 4
start local 4 2: iconst_0
istore 5
start local 5 3: goto 14
4: StackMap locals: int int
StackMap stack:
aload 1
iload 5
invokevirtual freemarker.core.TemplateObject.getParameterValue:(I)Ljava/lang/Object;
astore 6
start local 6 5: aload 6
aload 2
if_acmpne 10
6: new freemarker.core._ErrorDescriptionBuilder$Blaming
dup
invokespecial freemarker.core._ErrorDescriptionBuilder$Blaming.<init>:()V
astore 7
start local 7 7: aload 7
aload 1
putfield freemarker.core._ErrorDescriptionBuilder$Blaming.blamer:Lfreemarker/core/TemplateObject;
8: aload 7
aload 1
iload 5
invokevirtual freemarker.core.TemplateObject.getParameterRole:(I)Lfreemarker/core/ParameterRole;
putfield freemarker.core._ErrorDescriptionBuilder$Blaming.roleOfblamed:Lfreemarker/core/ParameterRole;
9: aload 7
areturn
end local 7 10: StackMap locals: java.lang.Object
StackMap stack:
aload 6
instanceof freemarker.core.TemplateObject
ifeq 13
11: aload 0
aload 6
checkcast freemarker.core.TemplateObject
aload 2
iload 3
iconst_1
iadd
invokevirtual freemarker.core._ErrorDescriptionBuilder.findBlaming:(Lfreemarker/core/TemplateObject;Lfreemarker/core/Expression;I)Lfreemarker/core/_ErrorDescriptionBuilder$Blaming;
astore 7
start local 7 12: aload 7
ifnull 13
aload 7
areturn
end local 7 end local 6 13: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
14: iload 5
iload 4
if_icmplt 4
end local 5 15: aconst_null
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lfreemarker/core/_ErrorDescriptionBuilder;
0 16 1 parent Lfreemarker/core/TemplateObject;
0 16 2 blamed Lfreemarker/core/Expression;
0 16 3 recursionDepth I
2 16 4 paramCnt I
3 15 5 i I
5 13 6 paramValue Ljava/lang/Object;
7 10 7 blaming Lfreemarker/core/_ErrorDescriptionBuilder$Blaming;
12 13 7 blaming Lfreemarker/core/_ErrorDescriptionBuilder$Blaming;
MethodParameters:
Name Flags
parent
blamed
recursionDepth
private void appendParts(java.lang.StringBuilder, java.lang.Object[]);
descriptor: (Ljava/lang/StringBuilder;[Ljava/lang/Object;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield freemarker.core._ErrorDescriptionBuilder.template:Lfreemarker/template/Template;
ifnull 1
aload 0
getfield freemarker.core._ErrorDescriptionBuilder.template:Lfreemarker/template/Template;
goto 3
StackMap locals:
StackMap stack:
1: aload 0
getfield freemarker.core._ErrorDescriptionBuilder.blamed:Lfreemarker/core/Expression;
ifnull 2
aload 0
getfield freemarker.core._ErrorDescriptionBuilder.blamed:Lfreemarker/core/Expression;
invokevirtual freemarker.core.Expression.getTemplate:()Lfreemarker/template/Template;
goto 3
StackMap locals:
StackMap stack:
2: aconst_null
StackMap locals:
StackMap stack: freemarker.template.Template
3: astore 3
start local 3 4: iconst_0
istore 4
start local 4 5: goto 30
6: StackMap locals: freemarker.template.Template int
StackMap stack:
aload 2
iload 4
aaload
astore 5
start local 5 7: aload 5
instanceof java.lang.Object[]
ifeq 10
8: aload 0
aload 1
aload 5
checkcast java.lang.Object[]
invokevirtual freemarker.core._ErrorDescriptionBuilder.appendParts:(Ljava/lang/StringBuilder;[Ljava/lang/Object;)V
9: goto 29
10: StackMap locals: java.lang.Object
StackMap stack:
aload 5
invokestatic freemarker.core._ErrorDescriptionBuilder.tryToString:(Ljava/lang/Object;)Ljava/lang/String;
astore 6
start local 6 11: aload 6
ifnonnull 13
12: ldc "null"
astore 6
13: StackMap locals: java.lang.String
StackMap stack:
aload 3
ifnull 28
14: aload 6
invokevirtual java.lang.String.length:()I
iconst_4
if_icmple 26
15: aload 6
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 60
if_icmpne 26
16: aload 6
iconst_1
invokevirtual java.lang.String.charAt:(I)C
bipush 35
if_icmpeq 18
aload 6
iconst_1
invokevirtual java.lang.String.charAt:(I)C
bipush 64
if_icmpeq 18
17: aload 6
iconst_1
invokevirtual java.lang.String.charAt:(I)C
bipush 47
if_icmpne 26
aload 6
iconst_2
invokevirtual java.lang.String.charAt:(I)C
bipush 35
if_icmpeq 18
aload 6
iconst_2
invokevirtual java.lang.String.charAt:(I)C
bipush 64
if_icmpne 26
18: StackMap locals:
StackMap stack:
aload 6
aload 6
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual java.lang.String.charAt:(I)C
bipush 62
if_icmpne 26
19: aload 3
invokevirtual freemarker.template.Template.getActualTagSyntax:()I
iconst_2
if_icmpne 24
20: aload 1
bipush 91
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
21: aload 1
aload 6
iconst_1
aload 6
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
22: aload 1
bipush 93
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
23: goto 29
24: StackMap locals:
StackMap stack:
aload 1
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
25: goto 29
26: StackMap locals:
StackMap stack:
aload 1
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
27: goto 29
28: StackMap locals:
StackMap stack:
aload 1
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 6 end local 5 29: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
30: iload 4
aload 2
arraylength
if_icmplt 6
end local 4 31: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 0 this Lfreemarker/core/_ErrorDescriptionBuilder;
0 32 1 sb Ljava/lang/StringBuilder;
0 32 2 parts [Ljava/lang/Object;
4 32 3 template Lfreemarker/template/Template;
5 31 4 i I
7 29 5 partObj Ljava/lang/Object;
11 29 6 partStr Ljava/lang/String;
MethodParameters:
Name Flags
sb
parts
public static java.lang.String toString(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
invokestatic freemarker.core._ErrorDescriptionBuilder.toString:(Ljava/lang/Object;Z)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 partObj Ljava/lang/Object;
MethodParameters:
Name Flags
partObj
public static java.lang.String tryToString(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
invokestatic freemarker.core._ErrorDescriptionBuilder.toString:(Ljava/lang/Object;Z)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 partObj Ljava/lang/Object;
MethodParameters:
Name Flags
partObj
private static java.lang.String toString(java.lang.Object, boolean);
descriptor: (Ljava/lang/Object;Z)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=3, args_size=2
start local 0 start local 1 0: aload 0
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
instanceof java.lang.Class
ifeq 5
3: aload 0
checkcast java.lang.Class
invokestatic freemarker.template.utility.ClassUtil.getShortClassName:(Ljava/lang/Class;)Ljava/lang/String;
astore 2
start local 2 4: goto 11
end local 2 StackMap locals:
StackMap stack:
5: aload 0
instanceof java.lang.reflect.Method
ifne 6
aload 0
instanceof java.lang.reflect.Constructor
ifeq 8
6: StackMap locals:
StackMap stack:
aload 0
checkcast java.lang.reflect.Member
invokestatic freemarker.ext.beans._MethodUtil.toString:(Ljava/lang/reflect/Member;)Ljava/lang/String;
astore 2
start local 2 7: goto 11
end local 2 8: StackMap locals:
StackMap stack:
iload 1
ifeq 9
aload 0
invokestatic freemarker.template.utility.StringUtil.tryToString:(Ljava/lang/Object;)Ljava/lang/String;
goto 10
StackMap locals:
StackMap stack:
9: aload 0
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
10: astore 2
start local 2 11: StackMap locals: java.lang.String
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 partObj Ljava/lang/Object;
0 12 1 suppressToStringException Z
4 5 2 partStr Ljava/lang/String;
7 8 2 partStr Ljava/lang/String;
11 12 2 partStr Ljava/lang/String;
MethodParameters:
Name Flags
partObj
suppressToStringException
private java.lang.String[] splitToLines(java.lang.String);
descriptor: (Ljava/lang/String;)[Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ldc "\r\n"
ldc "\n"
invokestatic freemarker.template.utility.StringUtil.replace:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 1
1: aload 1
ldc "\r"
ldc "\n"
invokestatic freemarker.template.utility.StringUtil.replace:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 1
2: aload 1
bipush 10
invokestatic freemarker.template.utility.StringUtil.split:(Ljava/lang/String;C)[Ljava/lang/String;
astore 2
start local 2 3: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lfreemarker/core/_ErrorDescriptionBuilder;
0 4 1 s Ljava/lang/String;
3 4 2 lines [Ljava/lang/String;
MethodParameters:
Name Flags
s
public freemarker.core._ErrorDescriptionBuilder template(freemarker.template.Template);
descriptor: (Lfreemarker/template/Template;)Lfreemarker/core/_ErrorDescriptionBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield freemarker.core._ErrorDescriptionBuilder.template:Lfreemarker/template/Template;
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lfreemarker/core/_ErrorDescriptionBuilder;
0 2 1 template Lfreemarker/template/Template;
MethodParameters:
Name Flags
template
public freemarker.core._ErrorDescriptionBuilder blame(freemarker.core.Expression);
descriptor: (Lfreemarker/core/Expression;)Lfreemarker/core/_ErrorDescriptionBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield freemarker.core._ErrorDescriptionBuilder.blamed:Lfreemarker/core/Expression;
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lfreemarker/core/_ErrorDescriptionBuilder;
0 2 1 blamedExpr Lfreemarker/core/Expression;
MethodParameters:
Name Flags
blamedExpr
public freemarker.core._ErrorDescriptionBuilder showBlamer(boolean);
descriptor: (Z)Lfreemarker/core/_ErrorDescriptionBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield freemarker.core._ErrorDescriptionBuilder.showBlamer:Z
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lfreemarker/core/_ErrorDescriptionBuilder;
0 2 1 showBlamer Z
MethodParameters:
Name Flags
showBlamer
public freemarker.core._ErrorDescriptionBuilder tip(java.lang.String);
descriptor: (Ljava/lang/String;)Lfreemarker/core/_ErrorDescriptionBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual freemarker.core._ErrorDescriptionBuilder.tip:(Ljava/lang/Object;)Lfreemarker/core/_ErrorDescriptionBuilder;
pop
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lfreemarker/core/_ErrorDescriptionBuilder;
0 2 1 tip Ljava/lang/String;
MethodParameters:
Name Flags
tip
public freemarker.core._ErrorDescriptionBuilder tip(java.lang.Object[]);
descriptor: ([Ljava/lang/Object;)Lfreemarker/core/_ErrorDescriptionBuilder;
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual freemarker.core._ErrorDescriptionBuilder.tip:(Ljava/lang/Object;)Lfreemarker/core/_ErrorDescriptionBuilder;
pop
1: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lfreemarker/core/_ErrorDescriptionBuilder;
0 2 1 tip [Ljava/lang/Object;
MethodParameters:
Name Flags
tip
private freemarker.core._ErrorDescriptionBuilder tip(java.lang.Object);
descriptor: (Ljava/lang/Object;)Lfreemarker/core/_ErrorDescriptionBuilder;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: aload 0
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield freemarker.core._ErrorDescriptionBuilder.tip:Ljava/lang/Object;
ifnonnull 5
3: aload 0
aload 1
putfield freemarker.core._ErrorDescriptionBuilder.tip:Ljava/lang/Object;
4: goto 17
5: StackMap locals:
StackMap stack:
aload 0
getfield freemarker.core._ErrorDescriptionBuilder.tips:[Ljava/lang/Object;
ifnonnull 8
6: aload 0
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
putfield freemarker.core._ErrorDescriptionBuilder.tips:[Ljava/lang/Object;
7: goto 17
8: StackMap locals:
StackMap stack:
aload 0
getfield freemarker.core._ErrorDescriptionBuilder.tips:[Ljava/lang/Object;
arraylength
istore 2
start local 2 9: iload 2
iconst_1
iadd
anewarray java.lang.Object
astore 3
start local 3 10: iconst_0
istore 4
start local 4 11: goto 14
12: StackMap locals: int java.lang.Object[] int
StackMap stack:
aload 3
iload 4
aload 0
getfield freemarker.core._ErrorDescriptionBuilder.tips:[Ljava/lang/Object;
iload 4
aaload
aastore
13: iinc 4 1
StackMap locals:
StackMap stack:
14: iload 4
iload 2
if_icmplt 12
end local 4 15: aload 3
iload 2
aload 1
aastore
16: aload 0
aload 3
putfield freemarker.core._ErrorDescriptionBuilder.tips:[Ljava/lang/Object;
end local 3 end local 2 17: StackMap locals:
StackMap stack:
aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lfreemarker/core/_ErrorDescriptionBuilder;
0 18 1 tip Ljava/lang/Object;
9 17 2 origTipsLen I
10 17 3 newTips [Ljava/lang/Object;
11 15 4 i I
MethodParameters:
Name Flags
tip
public freemarker.core._ErrorDescriptionBuilder tips(java.lang.Object[]);
descriptor: ([Ljava/lang/Object;)Lfreemarker/core/_ErrorDescriptionBuilder;
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: aload 1
ifnull 1
aload 1
arraylength
ifne 2
1: StackMap locals:
StackMap stack:
aload 0
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield freemarker.core._ErrorDescriptionBuilder.tips:[Ljava/lang/Object;
ifnonnull 5
3: aload 0
aload 1
putfield freemarker.core._ErrorDescriptionBuilder.tips:[Ljava/lang/Object;
4: goto 19
5: StackMap locals:
StackMap stack:
aload 0
getfield freemarker.core._ErrorDescriptionBuilder.tips:[Ljava/lang/Object;
arraylength
istore 2
start local 2 6: aload 1
arraylength
istore 3
start local 3 7: iload 2
iload 3
iadd
anewarray java.lang.Object
astore 4
start local 4 8: iconst_0
istore 5
start local 5 9: goto 12
10: StackMap locals: freemarker.core._ErrorDescriptionBuilder java.lang.Object[] int int java.lang.Object[] int
StackMap stack:
aload 4
iload 5
aload 0
getfield freemarker.core._ErrorDescriptionBuilder.tips:[Ljava/lang/Object;
iload 5
aaload
aastore
11: iinc 5 1
StackMap locals:
StackMap stack:
12: iload 5
iload 2
if_icmplt 10
end local 5 13: iconst_0
istore 5
start local 5 14: goto 17
15: StackMap locals:
StackMap stack:
aload 4
iload 2
iload 5
iadd
aload 1
iload 5
aaload
aastore
16: iinc 5 1
StackMap locals:
StackMap stack:
17: iload 5
iload 3
if_icmplt 15
end local 5 18: aload 0
aload 4
putfield freemarker.core._ErrorDescriptionBuilder.tips:[Ljava/lang/Object;
end local 4 end local 3 end local 2 19: StackMap locals: freemarker.core._ErrorDescriptionBuilder java.lang.Object[]
StackMap stack:
aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lfreemarker/core/_ErrorDescriptionBuilder;
0 20 1 tips [Ljava/lang/Object;
6 19 2 origTipsLen I
7 19 3 additionalTipsLen I
8 19 4 newTips [Ljava/lang/Object;
9 13 5 i I
14 18 5 i I
MethodParameters:
Name Flags
tips
}
SourceFile: "_ErrorDescriptionBuilder.java"
NestMembers:
freemarker.core._ErrorDescriptionBuilder$Blaming
InnerClasses:
private Blaming = freemarker.core._ErrorDescriptionBuilder$Blaming of freemarker.core._ErrorDescriptionBuilder