final class freemarker.core.AddConcatExpression$ConcatenatedHashEx extends freemarker.core.AddConcatExpression$ConcatenatedHash implements freemarker.template.TemplateHashModelEx
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: freemarker.core.AddConcatExpression$ConcatenatedHashEx
super_class: freemarker.core.AddConcatExpression$ConcatenatedHash
{
private freemarker.core.CollectionAndSequence keys;
descriptor: Lfreemarker/core/CollectionAndSequence;
flags: (0x0002) ACC_PRIVATE
private freemarker.core.CollectionAndSequence values;
descriptor: Lfreemarker/core/CollectionAndSequence;
flags: (0x0002) ACC_PRIVATE
private int size;
descriptor: I
flags: (0x0002) ACC_PRIVATE
void <init>(freemarker.template.TemplateHashModelEx, freemarker.template.TemplateHashModelEx);
descriptor: (Lfreemarker/template/TemplateHashModelEx;Lfreemarker/template/TemplateHashModelEx;)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokespecial freemarker.core.AddConcatExpression$ConcatenatedHash.<init>:(Lfreemarker/template/TemplateHashModel;Lfreemarker/template/TemplateHashModel;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lfreemarker/core/AddConcatExpression$ConcatenatedHashEx;
0 2 1 left Lfreemarker/template/TemplateHashModelEx;
0 2 2 right Lfreemarker/template/TemplateHashModelEx;
MethodParameters:
Name Flags
left
right
public int size();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual freemarker.core.AddConcatExpression$ConcatenatedHashEx.initKeys:()V
1: aload 0
getfield freemarker.core.AddConcatExpression$ConcatenatedHashEx.size:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lfreemarker/core/AddConcatExpression$ConcatenatedHashEx;
Exceptions:
throws freemarker.template.TemplateModelException
public freemarker.template.TemplateCollectionModel keys();
descriptor: ()Lfreemarker/template/TemplateCollectionModel;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual freemarker.core.AddConcatExpression$ConcatenatedHashEx.initKeys:()V
1: aload 0
getfield freemarker.core.AddConcatExpression$ConcatenatedHashEx.keys:Lfreemarker/core/CollectionAndSequence;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lfreemarker/core/AddConcatExpression$ConcatenatedHashEx;
Exceptions:
throws freemarker.template.TemplateModelException
public freemarker.template.TemplateCollectionModel values();
descriptor: ()Lfreemarker/template/TemplateCollectionModel;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual freemarker.core.AddConcatExpression$ConcatenatedHashEx.initValues:()V
1: aload 0
getfield freemarker.core.AddConcatExpression$ConcatenatedHashEx.values:Lfreemarker/core/CollectionAndSequence;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lfreemarker/core/AddConcatExpression$ConcatenatedHashEx;
Exceptions:
throws freemarker.template.TemplateModelException
private void initKeys();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
getfield freemarker.core.AddConcatExpression$ConcatenatedHashEx.keys:Lfreemarker/core/CollectionAndSequence;
ifnonnull 7
1: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 1
start local 1 2: new freemarker.template.SimpleSequence
dup
bipush 32
invokespecial freemarker.template.SimpleSequence.<init>:(I)V
astore 2
start local 2 3: aload 1
aload 2
aload 0
getfield freemarker.core.AddConcatExpression$ConcatenatedHashEx.left:Lfreemarker/template/TemplateHashModel;
checkcast freemarker.template.TemplateHashModelEx
invokestatic freemarker.core.AddConcatExpression$ConcatenatedHashEx.addKeys:(Ljava/util/Set;Lfreemarker/template/SimpleSequence;Lfreemarker/template/TemplateHashModelEx;)V
4: aload 1
aload 2
aload 0
getfield freemarker.core.AddConcatExpression$ConcatenatedHashEx.right:Lfreemarker/template/TemplateHashModel;
checkcast freemarker.template.TemplateHashModelEx
invokestatic freemarker.core.AddConcatExpression$ConcatenatedHashEx.addKeys:(Ljava/util/Set;Lfreemarker/template/SimpleSequence;Lfreemarker/template/TemplateHashModelEx;)V
5: aload 0
aload 1
invokevirtual java.util.HashSet.size:()I
putfield freemarker.core.AddConcatExpression$ConcatenatedHashEx.size:I
6: aload 0
new freemarker.core.CollectionAndSequence
dup
aload 2
invokespecial freemarker.core.CollectionAndSequence.<init>:(Lfreemarker/template/TemplateSequenceModel;)V
putfield freemarker.core.AddConcatExpression$ConcatenatedHashEx.keys:Lfreemarker/core/CollectionAndSequence;
end local 2 end local 1 7: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lfreemarker/core/AddConcatExpression$ConcatenatedHashEx;
2 7 1 keySet Ljava/util/HashSet;
3 7 2 keySeq Lfreemarker/template/SimpleSequence;
Exceptions:
throws freemarker.template.TemplateModelException
private static void addKeys(java.util.Set, freemarker.template.SimpleSequence, freemarker.template.TemplateHashModelEx);
descriptor: (Ljava/util/Set;Lfreemarker/template/SimpleSequence;Lfreemarker/template/TemplateHashModelEx;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokeinterface freemarker.template.TemplateHashModelEx.keys:()Lfreemarker/template/TemplateCollectionModel;
invokeinterface freemarker.template.TemplateCollectionModel.iterator:()Lfreemarker/template/TemplateModelIterator;
astore 3
start local 3 1: goto 5
2: StackMap locals: freemarker.template.TemplateModelIterator
StackMap stack:
aload 3
invokeinterface freemarker.template.TemplateModelIterator.next:()Lfreemarker/template/TemplateModel;
checkcast freemarker.template.TemplateScalarModel
astore 4
start local 4 3: aload 0
aload 4
invokeinterface freemarker.template.TemplateScalarModel.getAsString:()Ljava/lang/String;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
ifeq 5
4: aload 1
aload 4
invokevirtual freemarker.template.SimpleSequence.add:(Ljava/lang/Object;)V
end local 4 5: StackMap locals:
StackMap stack:
aload 3
invokeinterface freemarker.template.TemplateModelIterator.hasNext:()Z
ifne 2
6: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 set Ljava/util/Set;
0 7 1 keySeq Lfreemarker/template/SimpleSequence;
0 7 2 hash Lfreemarker/template/TemplateHashModelEx;
1 7 3 it Lfreemarker/template/TemplateModelIterator;
3 5 4 tsm Lfreemarker/template/TemplateScalarModel;
Exceptions:
throws freemarker.template.TemplateModelException
MethodParameters:
Name Flags
set
keySeq
hash
private void initValues();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
getfield freemarker.core.AddConcatExpression$ConcatenatedHashEx.values:Lfreemarker/core/CollectionAndSequence;
ifnonnull 9
1: new freemarker.template.SimpleSequence
dup
aload 0
invokevirtual freemarker.core.AddConcatExpression$ConcatenatedHashEx.size:()I
invokespecial freemarker.template.SimpleSequence.<init>:(I)V
astore 1
start local 1 2: aload 0
getfield freemarker.core.AddConcatExpression$ConcatenatedHashEx.keys:Lfreemarker/core/CollectionAndSequence;
invokevirtual freemarker.core.CollectionAndSequence.size:()I
istore 2
start local 2 3: iconst_0
istore 3
start local 3 4: goto 7
5: StackMap locals: freemarker.template.SimpleSequence int int
StackMap stack:
aload 1
aload 0
aload 0
getfield freemarker.core.AddConcatExpression$ConcatenatedHashEx.keys:Lfreemarker/core/CollectionAndSequence;
iload 3
invokevirtual freemarker.core.CollectionAndSequence.get:(I)Lfreemarker/template/TemplateModel;
checkcast freemarker.template.TemplateScalarModel
invokeinterface freemarker.template.TemplateScalarModel.getAsString:()Ljava/lang/String;
invokevirtual freemarker.core.AddConcatExpression$ConcatenatedHashEx.get:(Ljava/lang/String;)Lfreemarker/template/TemplateModel;
invokevirtual freemarker.template.SimpleSequence.add:(Ljava/lang/Object;)V
6: iinc 3 1
StackMap locals:
StackMap stack:
7: iload 3
iload 2
if_icmplt 5
end local 3 8: aload 0
new freemarker.core.CollectionAndSequence
dup
aload 1
invokespecial freemarker.core.CollectionAndSequence.<init>:(Lfreemarker/template/TemplateSequenceModel;)V
putfield freemarker.core.AddConcatExpression$ConcatenatedHashEx.values:Lfreemarker/core/CollectionAndSequence;
end local 2 end local 1 9: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lfreemarker/core/AddConcatExpression$ConcatenatedHashEx;
2 9 1 seq Lfreemarker/template/SimpleSequence;
3 9 2 ln I
4 8 3 i I
Exceptions:
throws freemarker.template.TemplateModelException
}
SourceFile: "AddConcatExpression.java"
NestHost: freemarker.core.AddConcatExpression
InnerClasses:
private ConcatenatedHash = freemarker.core.AddConcatExpression$ConcatenatedHash of freemarker.core.AddConcatExpression
private final ConcatenatedHashEx = freemarker.core.AddConcatExpression$ConcatenatedHashEx of freemarker.core.AddConcatExpression