public final class freemarker.core.CollectionAndSequence implements freemarker.template.TemplateCollectionModel, freemarker.template.TemplateSequenceModel, java.io.Serializable
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: freemarker.core.CollectionAndSequence
super_class: java.lang.Object
{
private freemarker.template.TemplateCollectionModel collection;
descriptor: Lfreemarker/template/TemplateCollectionModel;
flags: (0x0002) ACC_PRIVATE
private freemarker.template.TemplateSequenceModel sequence;
descriptor: Lfreemarker/template/TemplateSequenceModel;
flags: (0x0002) ACC_PRIVATE
private java.util.ArrayList<freemarker.template.TemplateModel> data;
descriptor: Ljava/util/ArrayList;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/ArrayList<Lfreemarker/template/TemplateModel;>;
public void <init>(freemarker.template.TemplateCollectionModel);
descriptor: (Lfreemarker/template/TemplateCollectionModel;)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.CollectionAndSequence.collection:Lfreemarker/template/TemplateCollectionModel;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lfreemarker/core/CollectionAndSequence;
0 3 1 collection Lfreemarker/template/TemplateCollectionModel;
MethodParameters:
Name Flags
collection
public void <init>(freemarker.template.TemplateSequenceModel);
descriptor: (Lfreemarker/template/TemplateSequenceModel;)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.CollectionAndSequence.sequence:Lfreemarker/template/TemplateSequenceModel;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lfreemarker/core/CollectionAndSequence;
0 3 1 sequence Lfreemarker/template/TemplateSequenceModel;
MethodParameters:
Name Flags
sequence
public freemarker.template.TemplateModelIterator iterator();
descriptor: ()Lfreemarker/template/TemplateModelIterator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield freemarker.core.CollectionAndSequence.collection:Lfreemarker/template/TemplateCollectionModel;
ifnull 2
1: aload 0
getfield freemarker.core.CollectionAndSequence.collection:Lfreemarker/template/TemplateCollectionModel;
invokeinterface freemarker.template.TemplateCollectionModel.iterator:()Lfreemarker/template/TemplateModelIterator;
areturn
2: StackMap locals:
StackMap stack:
new freemarker.core.CollectionAndSequence$SequenceIterator
dup
aload 0
getfield freemarker.core.CollectionAndSequence.sequence:Lfreemarker/template/TemplateSequenceModel;
invokespecial freemarker.core.CollectionAndSequence$SequenceIterator.<init>:(Lfreemarker/template/TemplateSequenceModel;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lfreemarker/core/CollectionAndSequence;
Exceptions:
throws freemarker.template.TemplateModelException
public freemarker.template.TemplateModel get(int);
descriptor: (I)Lfreemarker/template/TemplateModel;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield freemarker.core.CollectionAndSequence.sequence:Lfreemarker/template/TemplateSequenceModel;
ifnull 2
1: aload 0
getfield freemarker.core.CollectionAndSequence.sequence:Lfreemarker/template/TemplateSequenceModel;
iload 1
invokeinterface freemarker.template.TemplateSequenceModel.get:(I)Lfreemarker/template/TemplateModel;
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual freemarker.core.CollectionAndSequence.initSequence:()V
3: aload 0
getfield freemarker.core.CollectionAndSequence.data:Ljava/util/ArrayList;
iload 1
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast freemarker.template.TemplateModel
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lfreemarker/core/CollectionAndSequence;
0 4 1 i I
Exceptions:
throws freemarker.template.TemplateModelException
MethodParameters:
Name Flags
i
public int size();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield freemarker.core.CollectionAndSequence.sequence:Lfreemarker/template/TemplateSequenceModel;
ifnull 2
1: aload 0
getfield freemarker.core.CollectionAndSequence.sequence:Lfreemarker/template/TemplateSequenceModel;
invokeinterface freemarker.template.TemplateSequenceModel.size:()I
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield freemarker.core.CollectionAndSequence.collection:Lfreemarker/template/TemplateCollectionModel;
instanceof freemarker.template.TemplateCollectionModelEx
ifeq 4
3: aload 0
getfield freemarker.core.CollectionAndSequence.collection:Lfreemarker/template/TemplateCollectionModel;
checkcast freemarker.template.TemplateCollectionModelEx
invokeinterface freemarker.template.TemplateCollectionModelEx.size:()I
ireturn
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual freemarker.core.CollectionAndSequence.initSequence:()V
5: aload 0
getfield freemarker.core.CollectionAndSequence.data:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lfreemarker/core/CollectionAndSequence;
Exceptions:
throws freemarker.template.TemplateModelException
private void initSequence();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield freemarker.core.CollectionAndSequence.data:Ljava/util/ArrayList;
ifnonnull 6
1: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield freemarker.core.CollectionAndSequence.data:Ljava/util/ArrayList;
2: aload 0
getfield freemarker.core.CollectionAndSequence.collection:Lfreemarker/template/TemplateCollectionModel;
invokeinterface freemarker.template.TemplateCollectionModel.iterator:()Lfreemarker/template/TemplateModelIterator;
astore 1
start local 1 3: goto 5
4: StackMap locals: freemarker.template.TemplateModelIterator
StackMap stack:
aload 0
getfield freemarker.core.CollectionAndSequence.data:Ljava/util/ArrayList;
aload 1
invokeinterface freemarker.template.TemplateModelIterator.next:()Lfreemarker/template/TemplateModel;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
5: StackMap locals:
StackMap stack:
aload 1
invokeinterface freemarker.template.TemplateModelIterator.hasNext:()Z
ifne 4
end local 1 6: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lfreemarker/core/CollectionAndSequence;
3 6 1 it Lfreemarker/template/TemplateModelIterator;
Exceptions:
throws freemarker.template.TemplateModelException
}
SourceFile: "CollectionAndSequence.java"
NestMembers:
freemarker.core.CollectionAndSequence$SequenceIterator
InnerClasses:
private SequenceIterator = freemarker.core.CollectionAndSequence$SequenceIterator of freemarker.core.CollectionAndSequence