class freemarker.core.BuiltInsForMultipleTypes$dateBI extends freemarker.core.BuiltIn
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: freemarker.core.BuiltInsForMultipleTypes$dateBI
super_class: freemarker.core.BuiltIn
{
private final int dateType;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
void <init>(int);
descriptor: (I)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 // freemarker.core.BuiltInsForMultipleTypes$dateBI this
start local 1 // int dateType
0: .line 219
aload 0 /* this */
invokespecial freemarker.core.BuiltIn.<init>:()V
1: .line 220
aload 0 /* this */
iload 1 /* dateType */
putfield freemarker.core.BuiltInsForMultipleTypes$dateBI.dateType:I
2: .line 221
return
end local 1 // int dateType
end local 0 // freemarker.core.BuiltInsForMultipleTypes$dateBI this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lfreemarker/core/BuiltInsForMultipleTypes$dateBI;
0 3 1 dateType I
MethodParameters:
Name Flags
dateType
freemarker.template.TemplateModel _eval(freemarker.core.Environment);
descriptor: (Lfreemarker/core/Environment;)Lfreemarker/template/TemplateModel;
flags: (0x0000)
Code:
stack=8, locals=5, args_size=2
start local 0 // freemarker.core.BuiltInsForMultipleTypes$dateBI this
start local 1 // freemarker.core.Environment env
0: .line 226
aload 0 /* this */
getfield freemarker.core.BuiltInsForMultipleTypes$dateBI.target:Lfreemarker/core/Expression;
aload 1 /* env */
invokevirtual freemarker.core.Expression.eval:(Lfreemarker/core/Environment;)Lfreemarker/template/TemplateModel;
astore 2 /* model */
start local 2 // freemarker.template.TemplateModel model
1: .line 227
aload 2 /* model */
instanceof freemarker.template.TemplateDateModel
ifeq 12
2: .line 228
aload 2 /* model */
checkcast freemarker.template.TemplateDateModel
astore 3 /* dmodel */
start local 3 // freemarker.template.TemplateDateModel dmodel
3: .line 229
aload 3 /* dmodel */
invokeinterface freemarker.template.TemplateDateModel.getDateType:()I
istore 4 /* dtype */
start local 4 // int dtype
4: .line 231
aload 0 /* this */
getfield freemarker.core.BuiltInsForMultipleTypes$dateBI.dateType:I
iload 4 /* dtype */
if_icmpne 6
5: .line 232
aload 2 /* model */
areturn
6: .line 235
StackMap locals: freemarker.template.TemplateModel freemarker.template.TemplateDateModel int
StackMap stack:
iload 4 /* dtype */
ifeq 7
iload 4 /* dtype */
iconst_3
if_icmpne 8
7: .line 236
StackMap locals:
StackMap stack:
new freemarker.template.SimpleDate
dup
aload 3 /* dmodel */
invokeinterface freemarker.template.TemplateDateModel.getAsDate:()Ljava/util/Date;
aload 0 /* this */
getfield freemarker.core.BuiltInsForMultipleTypes$dateBI.dateType:I
invokespecial freemarker.template.SimpleDate.<init>:(Ljava/util/Date;I)V
areturn
8: .line 238
StackMap locals:
StackMap stack:
new freemarker.core._MiscTemplateException
dup
aload 0 /* this */
iconst_4
anewarray java.lang.Object
dup
iconst_0
9: .line 239
ldc "Cannot convert "
aastore
dup
iconst_1
getstatic freemarker.template.TemplateDateModel.TYPE_NAMES:Ljava/util/List;
iload 4 /* dtype */
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
aastore
dup
iconst_2
10: .line 240
ldc " to "
aastore
dup
iconst_3
getstatic freemarker.template.TemplateDateModel.TYPE_NAMES:Ljava/util/List;
aload 0 /* this */
getfield freemarker.core.BuiltInsForMultipleTypes$dateBI.dateType:I
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
11: .line 238
aastore
invokespecial freemarker.core._MiscTemplateException.<init>:(Lfreemarker/core/Expression;[Ljava/lang/Object;)V
athrow
end local 4 // int dtype
end local 3 // freemarker.template.TemplateDateModel dmodel
12: .line 244
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield freemarker.core.BuiltInsForMultipleTypes$dateBI.target:Lfreemarker/core/Expression;
aload 1 /* env */
invokevirtual freemarker.core.Expression.evalAndCoerceToPlainText:(Lfreemarker/core/Environment;)Ljava/lang/String;
astore 3 /* s */
start local 3 // java.lang.String s
13: .line 245
new freemarker.core.BuiltInsForMultipleTypes$dateBI$DateParser
dup
aload 0 /* this */
aload 3 /* s */
aload 1 /* env */
invokespecial freemarker.core.BuiltInsForMultipleTypes$dateBI$DateParser.<init>:(Lfreemarker/core/BuiltInsForMultipleTypes$dateBI;Ljava/lang/String;Lfreemarker/core/Environment;)V
areturn
end local 3 // java.lang.String s
end local 2 // freemarker.template.TemplateModel model
end local 1 // freemarker.core.Environment env
end local 0 // freemarker.core.BuiltInsForMultipleTypes$dateBI this
LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lfreemarker/core/BuiltInsForMultipleTypes$dateBI;
0 14 1 env Lfreemarker/core/Environment;
1 14 2 model Lfreemarker/template/TemplateModel;
3 12 3 dmodel Lfreemarker/template/TemplateDateModel;
4 12 4 dtype I
13 14 3 s Ljava/lang/String;
Exceptions:
throws freemarker.template.TemplateException
MethodParameters:
Name Flags
env
}
SourceFile: "BuiltInsForMultipleTypes.java"
NestHost: freemarker.core.BuiltInsForMultipleTypes
InnerClasses:
dateBI = freemarker.core.BuiltInsForMultipleTypes$dateBI of freemarker.core.BuiltInsForMultipleTypes
private DateParser = freemarker.core.BuiltInsForMultipleTypes$dateBI$DateParser of freemarker.core.BuiltInsForMultipleTypes$dateBI