final class freemarker.core.ListLiteral extends freemarker.core.Expression
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: freemarker.core.ListLiteral
super_class: freemarker.core.Expression
{
final java.util.ArrayList items;
descriptor: Ljava/util/ArrayList;
flags: (0x0010) ACC_FINAL
void <init>(java.util.ArrayList);
descriptor: (Ljava/util/ArrayList;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial freemarker.core.Expression.<init>:()V
1: aload 0
aload 1
putfield freemarker.core.ListLiteral.items:Ljava/util/ArrayList;
2: aload 1
invokevirtual java.util.ArrayList.trimToSize:()V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lfreemarker/core/ListLiteral;
0 4 1 items Ljava/util/ArrayList;
MethodParameters:
Name Flags
items
freemarker.template.TemplateModel _eval(freemarker.core.Environment);
descriptor: (Lfreemarker/core/Environment;)Lfreemarker/template/TemplateModel;
flags: (0x0000)
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: new freemarker.template.SimpleSequence
dup
aload 0
getfield freemarker.core.ListLiteral.items:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
invokespecial freemarker.template.SimpleSequence.<init>:(I)V
astore 2
start local 2 1: aload 0
getfield freemarker.core.ListLiteral.items:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 3
start local 3 2: goto 8
3: StackMap locals: freemarker.template.SimpleSequence java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast freemarker.core.Expression
astore 4
start local 4 4: aload 4
aload 1
invokevirtual freemarker.core.Expression.eval:(Lfreemarker/core/Environment;)Lfreemarker/template/TemplateModel;
astore 5
start local 5 5: aload 1
ifnull 6
aload 1
invokevirtual freemarker.core.Environment.isClassicCompatible:()Z
ifne 7
6: StackMap locals: freemarker.core.Expression freemarker.template.TemplateModel
StackMap stack:
aload 4
aload 5
aload 1
invokevirtual freemarker.core.Expression.assertNonNull:(Lfreemarker/template/TemplateModel;Lfreemarker/core/Environment;)V
7: StackMap locals:
StackMap stack:
aload 2
aload 5
invokevirtual freemarker.template.SimpleSequence.add:(Ljava/lang/Object;)V
end local 5 end local 4 8: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
end local 3 9: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lfreemarker/core/ListLiteral;
0 10 1 env Lfreemarker/core/Environment;
1 10 2 list Lfreemarker/template/SimpleSequence;
2 9 3 it Ljava/util/Iterator;
4 8 4 exp Lfreemarker/core/Expression;
5 8 5 tm Lfreemarker/template/TemplateModel;
Exceptions:
throws freemarker.template.TemplateException
MethodParameters:
Name Flags
env
java.util.List getValueList(freemarker.core.Environment);
descriptor: (Lfreemarker/core/Environment;)Ljava/util/List;
flags: (0x0000)
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield freemarker.core.ListLiteral.items:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
istore 2
start local 2 1: iload 2
tableswitch { // 0 - 1
0: 2
1: 3
default: 4
}
2: StackMap locals: int
StackMap stack:
getstatic java.util.Collections.EMPTY_LIST:Ljava/util/List;
areturn
3: StackMap locals:
StackMap stack:
aload 0
getfield freemarker.core.ListLiteral.items:Ljava/util/ArrayList;
iconst_0
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast freemarker.core.Expression
aload 1
invokevirtual freemarker.core.Expression.evalAndCoerceToPlainText:(Lfreemarker/core/Environment;)Ljava/lang/String;
invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
areturn
4: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
aload 0
getfield freemarker.core.ListLiteral.items:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
invokespecial java.util.ArrayList.<init>:(I)V
astore 3
start local 3 5: aload 0
getfield freemarker.core.ListLiteral.items:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.listIterator:()Ljava/util/ListIterator;
astore 4
start local 4 6: goto 9
7: StackMap locals: java.util.List java.util.ListIterator
StackMap stack:
aload 4
invokeinterface java.util.ListIterator.next:()Ljava/lang/Object;
checkcast freemarker.core.Expression
astore 5
start local 5 8: aload 3
aload 5
aload 1
invokevirtual freemarker.core.Expression.evalAndCoerceToPlainText:(Lfreemarker/core/Environment;)Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 5 9: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.ListIterator.hasNext:()Z
ifne 7
end local 4 10: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lfreemarker/core/ListLiteral;
0 11 1 env Lfreemarker/core/Environment;
1 11 2 size I
5 11 3 result Ljava/util/List;
6 10 4 iterator Ljava/util/ListIterator;
8 9 5 exp Lfreemarker/core/Expression;
Exceptions:
throws freemarker.template.TemplateException
MethodParameters:
Name Flags
env
java.util.List getModelList(freemarker.core.Environment);
descriptor: (Lfreemarker/core/Environment;)Ljava/util/List;
flags: (0x0000)
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield freemarker.core.ListLiteral.items:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
istore 2
start local 2 1: iload 2
tableswitch { // 0 - 1
0: 2
1: 3
default: 4
}
2: StackMap locals: int
StackMap stack:
getstatic java.util.Collections.EMPTY_LIST:Ljava/util/List;
areturn
3: StackMap locals:
StackMap stack:
aload 0
getfield freemarker.core.ListLiteral.items:Ljava/util/ArrayList;
iconst_0
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast freemarker.core.Expression
aload 1
invokevirtual freemarker.core.Expression.eval:(Lfreemarker/core/Environment;)Lfreemarker/template/TemplateModel;
invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
areturn
4: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
aload 0
getfield freemarker.core.ListLiteral.items:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
invokespecial java.util.ArrayList.<init>:(I)V
astore 3
start local 3 5: aload 0
getfield freemarker.core.ListLiteral.items:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.listIterator:()Ljava/util/ListIterator;
astore 4
start local 4 6: goto 9
7: StackMap locals: java.util.List java.util.ListIterator
StackMap stack:
aload 4
invokeinterface java.util.ListIterator.next:()Ljava/lang/Object;
checkcast freemarker.core.Expression
astore 5
start local 5 8: aload 3
aload 5
aload 1
invokevirtual freemarker.core.Expression.eval:(Lfreemarker/core/Environment;)Lfreemarker/template/TemplateModel;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 5 9: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.ListIterator.hasNext:()Z
ifne 7
end local 4 10: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lfreemarker/core/ListLiteral;
0 11 1 env Lfreemarker/core/Environment;
1 11 2 size I
5 11 3 result Ljava/util/List;
6 10 4 iterator Ljava/util/ListIterator;
8 9 5 exp Lfreemarker/core/Expression;
Exceptions:
throws freemarker.template.TemplateException
MethodParameters:
Name Flags
env
public java.lang.String getCanonicalForm();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "["
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
astore 1
start local 1 1: aload 0
getfield freemarker.core.ListLiteral.items:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
istore 2
start local 2 2: iconst_0
istore 3
start local 3 3: goto 9
4: StackMap locals: java.lang.StringBuilder int int
StackMap stack:
aload 0
getfield freemarker.core.ListLiteral.items:Ljava/util/ArrayList;
iload 3
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast freemarker.core.Expression
astore 4
start local 4 5: aload 1
aload 4
invokevirtual freemarker.core.Expression.getCanonicalForm:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
6: iload 3
iload 2
iconst_1
isub
if_icmpeq 8
7: aload 1
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 4 8: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
9: iload 3
iload 2
if_icmplt 4
end local 3 10: aload 1
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
11: aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lfreemarker/core/ListLiteral;
1 12 1 buf Ljava/lang/StringBuilder;
2 12 2 size I
3 10 3 i I
5 8 4 value Lfreemarker/core/Expression;
java.lang.String getNodeTypeSymbol();
descriptor: ()Ljava/lang/String;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc "[...]"
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/core/ListLiteral;
boolean isLiteral();
descriptor: ()Z
flags: (0x0000)
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
getfield freemarker.core.ListLiteral.constantValue:Lfreemarker/template/TemplateModel;
ifnull 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
iconst_0
istore 1
start local 1 3: goto 8
4: StackMap locals: int
StackMap stack:
aload 0
getfield freemarker.core.ListLiteral.items:Ljava/util/ArrayList;
iload 1
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast freemarker.core.Expression
astore 2
start local 2 5: aload 2
invokevirtual freemarker.core.Expression.isLiteral:()Z
ifne 7
6: iconst_0
ireturn
end local 2 7: StackMap locals:
StackMap stack:
iinc 1 1
StackMap locals:
StackMap stack:
8: iload 1
aload 0
getfield freemarker.core.ListLiteral.items:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
if_icmplt 4
end local 1 9: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lfreemarker/core/ListLiteral;
3 9 1 i I
5 7 2 exp Lfreemarker/core/Expression;
freemarker.template.TemplateSequenceModel evaluateStringsToNamespaces(freemarker.core.Environment);
descriptor: (Lfreemarker/core/Environment;)Lfreemarker/template/TemplateSequenceModel;
flags: (0x0000)
Code:
stack=9, locals=8, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual freemarker.core.ListLiteral.eval:(Lfreemarker/core/Environment;)Lfreemarker/template/TemplateModel;
checkcast freemarker.template.TemplateSequenceModel
astore 2
start local 2 1: new freemarker.template.SimpleSequence
dup
aload 2
invokeinterface freemarker.template.TemplateSequenceModel.size:()I
invokespecial freemarker.template.SimpleSequence.<init>:(I)V
astore 3
start local 3 2: iconst_0
istore 4
start local 4 3: goto 17
4: StackMap locals: freemarker.template.TemplateSequenceModel freemarker.template.SimpleSequence int
StackMap stack:
aload 0
getfield freemarker.core.ListLiteral.items:Ljava/util/ArrayList;
iload 4
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
astore 5
start local 5 5: aload 5
instanceof freemarker.core.StringLiteral
ifeq 15
6: aload 5
checkcast freemarker.core.StringLiteral
invokevirtual freemarker.core.StringLiteral.getAsString:()Ljava/lang/String;
astore 6
start local 6 7: aload 1
aload 6
aconst_null
invokevirtual freemarker.core.Environment.importLib:(Ljava/lang/String;Ljava/lang/String;)Lfreemarker/core/Environment$Namespace;
astore 7
start local 7 8: aload 3
aload 7
invokevirtual freemarker.template.SimpleSequence.add:(Ljava/lang/Object;)V
end local 7 9: goto 16
StackMap locals: freemarker.core.ListLiteral freemarker.core.Environment freemarker.template.TemplateSequenceModel freemarker.template.SimpleSequence int java.lang.Object java.lang.String
StackMap stack: java.io.IOException
10: astore 7
start local 7 11: new freemarker.core._MiscTemplateException
dup
aload 5
checkcast freemarker.core.StringLiteral
iconst_4
anewarray java.lang.Object
dup
iconst_0
12: ldc "Couldn't import library "
aastore
dup
iconst_1
new freemarker.core._DelayedJQuote
dup
aload 6
invokespecial freemarker.core._DelayedJQuote.<init>:(Ljava/lang/Object;)V
aastore
dup
iconst_2
ldc ": "
aastore
dup
iconst_3
13: new freemarker.core._DelayedGetMessage
dup
aload 7
invokespecial freemarker.core._DelayedGetMessage.<init>:(Ljava/lang/Throwable;)V
14: aastore
invokespecial freemarker.core._MiscTemplateException.<init>:(Lfreemarker/core/Expression;[Ljava/lang/Object;)V
athrow
end local 7 end local 6 15: StackMap locals:
StackMap stack:
aload 3
aload 2
iload 4
invokeinterface freemarker.template.TemplateSequenceModel.get:(I)Lfreemarker/template/TemplateModel;
invokevirtual freemarker.template.SimpleSequence.add:(Ljava/lang/Object;)V
end local 5 16: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
17: iload 4
aload 0
getfield freemarker.core.ListLiteral.items:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
if_icmplt 4
end local 4 18: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lfreemarker/core/ListLiteral;
0 19 1 env Lfreemarker/core/Environment;
1 19 2 val Lfreemarker/template/TemplateSequenceModel;
2 19 3 result Lfreemarker/template/SimpleSequence;
3 18 4 i I
5 16 5 itemExpr Ljava/lang/Object;
7 15 6 s Ljava/lang/String;
8 9 7 ns Lfreemarker/core/Environment$Namespace;
11 15 7 ioe Ljava/io/IOException;
Exception table:
from to target type
7 9 10 Class java.io.IOException
Exceptions:
throws freemarker.template.TemplateException
MethodParameters:
Name Flags
env
protected freemarker.core.Expression deepCloneWithIdentifierReplaced_inner(java.lang.String, freemarker.core.Expression, freemarker.core.Expression$ReplacemenetState);
descriptor: (Ljava/lang/String;Lfreemarker/core/Expression;Lfreemarker/core/Expression$ReplacemenetState;)Lfreemarker/core/Expression;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield freemarker.core.ListLiteral.items:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.clone:()Ljava/lang/Object;
checkcast java.util.ArrayList
astore 4
start local 4 1: aload 4
invokevirtual java.util.ArrayList.listIterator:()Ljava/util/ListIterator;
astore 5
start local 5 2: goto 6
3: StackMap locals: java.util.ArrayList java.util.ListIterator
StackMap stack:
aload 5
aload 5
invokeinterface java.util.ListIterator.next:()Ljava/lang/Object;
checkcast freemarker.core.Expression
4: aload 1
aload 2
aload 3
5: invokevirtual freemarker.core.Expression.deepCloneWithIdentifierReplaced:(Ljava/lang/String;Lfreemarker/core/Expression;Lfreemarker/core/Expression$ReplacemenetState;)Lfreemarker/core/Expression;
invokeinterface java.util.ListIterator.set:(Ljava/lang/Object;)V
6: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.ListIterator.hasNext:()Z
ifne 3
end local 5 7: new freemarker.core.ListLiteral
dup
aload 4
invokespecial freemarker.core.ListLiteral.<init>:(Ljava/util/ArrayList;)V
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lfreemarker/core/ListLiteral;
0 8 1 replacedIdentifier Ljava/lang/String;
0 8 2 replacement Lfreemarker/core/Expression;
0 8 3 replacementState Lfreemarker/core/Expression$ReplacemenetState;
1 8 4 clonedValues Ljava/util/ArrayList;
2 7 5 iter Ljava/util/ListIterator;
MethodParameters:
Name Flags
replacedIdentifier
replacement
replacementState
int getParameterCount();
descriptor: ()I
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield freemarker.core.ListLiteral.items:Ljava/util/ArrayList;
ifnull 1
aload 0
getfield freemarker.core.ListLiteral.items:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lfreemarker/core/ListLiteral;
java.lang.Object getParameterValue(int);
descriptor: (I)Ljava/lang/Object;
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual freemarker.core.ListLiteral.checkIndex:(I)V
1: aload 0
getfield freemarker.core.ListLiteral.items:Ljava/util/ArrayList;
iload 1
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lfreemarker/core/ListLiteral;
0 2 1 idx I
MethodParameters:
Name Flags
idx
freemarker.core.ParameterRole getParameterRole(int);
descriptor: (I)Lfreemarker/core/ParameterRole;
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
invokevirtual freemarker.core.ListLiteral.checkIndex:(I)V
1: getstatic freemarker.core.ParameterRole.ITEM_VALUE:Lfreemarker/core/ParameterRole;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lfreemarker/core/ListLiteral;
0 2 1 idx I
MethodParameters:
Name Flags
idx
private void checkIndex(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield freemarker.core.ListLiteral.items:Ljava/util/ArrayList;
ifnull 1
iload 1
aload 0
getfield freemarker.core.ListLiteral.items:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
if_icmplt 2
1: StackMap locals:
StackMap stack:
new java.lang.IndexOutOfBoundsException
dup
invokespecial java.lang.IndexOutOfBoundsException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lfreemarker/core/ListLiteral;
0 3 1 idx I
MethodParameters:
Name Flags
idx
}
SourceFile: "ListLiteral.java"
InnerClasses:
public Namespace = freemarker.core.Environment$Namespace of freemarker.core.Environment
ReplacemenetState = freemarker.core.Expression$ReplacemenetState of freemarker.core.Expression