class freemarker.core.BuiltInsForSequences$sort_byBI$BIMethod implements freemarker.template.TemplateMethodModelEx
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: freemarker.core.BuiltInsForSequences$sort_byBI$BIMethod
super_class: java.lang.Object
{
freemarker.template.TemplateSequenceModel seq;
descriptor: Lfreemarker/template/TemplateSequenceModel;
flags: (0x0000)
final freemarker.core.BuiltInsForSequences$sort_byBI this$1;
descriptor: Lfreemarker/core/BuiltInsForSequences$sort_byBI;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(freemarker.core.BuiltInsForSequences$sort_byBI, freemarker.template.TemplateSequenceModel);
descriptor: (Lfreemarker/core/BuiltInsForSequences$sort_byBI;Lfreemarker/template/TemplateSequenceModel;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 start local 2 0: aload 0
aload 1
putfield freemarker.core.BuiltInsForSequences$sort_byBI$BIMethod.this$1:Lfreemarker/core/BuiltInsForSequences$sort_byBI;
aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 2
putfield freemarker.core.BuiltInsForSequences$sort_byBI$BIMethod.seq:Lfreemarker/template/TemplateSequenceModel;
2: return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lfreemarker/core/BuiltInsForSequences$sort_byBI$BIMethod;
0 3 2 seq Lfreemarker/template/TemplateSequenceModel;
MethodParameters:
Name Flags
this$0 final
seq
public java.lang.Object exec(java.util.List);
descriptor: (Ljava/util/List;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=8, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface java.util.List.size:()I
iconst_1
if_icmpge 1
new java.lang.StringBuilder
dup
ldc "?"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield freemarker.core.BuiltInsForSequences$sort_byBI$BIMethod.this$1:Lfreemarker/core/BuiltInsForSequences$sort_byBI;
getfield freemarker.core.BuiltInsForSequences$sort_byBI.key:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 1
invokeinterface java.util.List.size:()I
iconst_1
invokestatic freemarker.core._MessageUtil.newArgCntError:(Ljava/lang/String;II)Lfreemarker/template/TemplateModelException;
athrow
1: StackMap locals:
StackMap stack:
aload 1
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
astore 3
start local 3 2: aload 3
instanceof freemarker.template.TemplateScalarModel
ifeq 5
3: iconst_1
anewarray java.lang.String
dup
iconst_0
aload 3
checkcast freemarker.template.TemplateScalarModel
invokeinterface freemarker.template.TemplateScalarModel.getAsString:()Ljava/lang/String;
aastore
astore 2
start local 2 4: goto 29
end local 2 StackMap locals: freemarker.core.BuiltInsForSequences$sort_byBI$BIMethod java.util.List top java.lang.Object
StackMap stack:
5: aload 3
instanceof freemarker.template.TemplateSequenceModel
ifeq 26
6: aload 3
checkcast freemarker.template.TemplateSequenceModel
astore 4
start local 4 7: aload 4
invokeinterface freemarker.template.TemplateSequenceModel.size:()I
istore 5
start local 5 8: iload 5
anewarray java.lang.String
astore 2
start local 2 9: iconst_0
istore 6
start local 6 10: goto 24
11: StackMap locals: freemarker.core.BuiltInsForSequences$sort_byBI$BIMethod java.util.List java.lang.String[] java.lang.Object freemarker.template.TemplateSequenceModel int int
StackMap stack:
aload 4
iload 6
invokeinterface freemarker.template.TemplateSequenceModel.get:(I)Lfreemarker/template/TemplateModel;
astore 7
start local 7 12: aload 2
iload 6
aload 7
checkcast freemarker.template.TemplateScalarModel
13: invokeinterface freemarker.template.TemplateScalarModel.getAsString:()Ljava/lang/String;
14: aastore
15: goto 23
StackMap locals: freemarker.core.BuiltInsForSequences$sort_byBI$BIMethod java.util.List java.lang.String[] java.lang.Object freemarker.template.TemplateSequenceModel int int java.lang.Object
StackMap stack: java.lang.ClassCastException
16: pop
17: aload 7
instanceof freemarker.template.TemplateScalarModel
ifne 23
18: new freemarker.core._TemplateModelException
dup
iconst_5
anewarray java.lang.Object
dup
iconst_0
19: ldc "The argument to ?"
aastore
dup
iconst_1
aload 0
getfield freemarker.core.BuiltInsForSequences$sort_byBI$BIMethod.this$1:Lfreemarker/core/BuiltInsForSequences$sort_byBI;
getfield freemarker.core.BuiltInsForSequences$sort_byBI.key:Ljava/lang/String;
aastore
dup
iconst_2
ldc "(key), when it's a sequence, must be a sequence of strings, but the item at index "
aastore
dup
iconst_3
20: iload 6
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_4
21: ldc " is not a string."
22: aastore
invokespecial freemarker.core._TemplateModelException.<init>:([Ljava/lang/Object;)V
athrow
end local 7 23: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
24: iload 6
iload 5
if_icmplt 11
end local 6 end local 5 end local 4 25: goto 29
end local 2 26: StackMap locals: freemarker.core.BuiltInsForSequences$sort_byBI$BIMethod java.util.List top java.lang.Object
StackMap stack:
new freemarker.core._TemplateModelException
dup
iconst_3
anewarray java.lang.Object
dup
iconst_0
27: ldc "The argument to ?"
aastore
dup
iconst_1
aload 0
getfield freemarker.core.BuiltInsForSequences$sort_byBI$BIMethod.this$1:Lfreemarker/core/BuiltInsForSequences$sort_byBI;
getfield freemarker.core.BuiltInsForSequences$sort_byBI.key:Ljava/lang/String;
aastore
dup
iconst_2
ldc "(key) must be a string (the name of the subvariable), or a sequence of strings (the \"path\" to the subvariable)."
28: aastore
invokespecial freemarker.core._TemplateModelException.<init>:([Ljava/lang/Object;)V
athrow
start local 2 29: StackMap locals: freemarker.core.BuiltInsForSequences$sort_byBI$BIMethod java.util.List java.lang.String[] java.lang.Object
StackMap stack:
aload 0
getfield freemarker.core.BuiltInsForSequences$sort_byBI$BIMethod.seq:Lfreemarker/template/TemplateSequenceModel;
aload 2
invokestatic freemarker.core.BuiltInsForSequences$sort_byBI.sort:(Lfreemarker/template/TemplateSequenceModel;[Ljava/lang/String;)Lfreemarker/template/TemplateSequenceModel;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Lfreemarker/core/BuiltInsForSequences$sort_byBI$BIMethod;
0 30 1 args Ljava/util/List;
4 5 2 subvars [Ljava/lang/String;
9 26 2 subvars [Ljava/lang/String;
29 30 2 subvars [Ljava/lang/String;
2 30 3 obj Ljava/lang/Object;
7 25 4 seq Lfreemarker/template/TemplateSequenceModel;
8 25 5 ln I
10 25 6 i I
12 23 7 item Ljava/lang/Object;
Exception table:
from to target type
12 15 16 Class java.lang.ClassCastException
Exceptions:
throws freemarker.template.TemplateModelException
MethodParameters:
Name Flags
args
}
SourceFile: "BuiltInsForSequences.java"
NestHost: freemarker.core.BuiltInsForSequences
InnerClasses:
sort_byBI = freemarker.core.BuiltInsForSequences$sort_byBI of freemarker.core.BuiltInsForSequences
BIMethod = freemarker.core.BuiltInsForSequences$sort_byBI$BIMethod of freemarker.core.BuiltInsForSequences$sort_byBI