class freemarker.core.BuiltInsWithParseTimeParameters$then_BI extends freemarker.core.BuiltInWithParseTimeParameters
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: freemarker.core.BuiltInsWithParseTimeParameters$then_BI
super_class: freemarker.core.BuiltInWithParseTimeParameters
{
private freemarker.core.Expression whenTrueExp;
descriptor: Lfreemarker/core/Expression;
flags: (0x0002) ACC_PRIVATE
private freemarker.core.Expression whenFalseExp;
descriptor: Lfreemarker/core/Expression;
flags: (0x0002) ACC_PRIVATE
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial freemarker.core.BuiltInWithParseTimeParameters.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/core/BuiltInsWithParseTimeParameters$then_BI;
freemarker.template.TemplateModel _eval(freemarker.core.Environment);
descriptor: (Lfreemarker/core/Environment;)Lfreemarker/template/TemplateModel;
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield freemarker.core.BuiltInsWithParseTimeParameters$then_BI.target:Lfreemarker/core/Expression;
aload 1
invokevirtual freemarker.core.Expression.evalToBoolean:(Lfreemarker/core/Environment;)Z
istore 2
start local 2 1: iload 2
ifeq 2
aload 0
getfield freemarker.core.BuiltInsWithParseTimeParameters$then_BI.whenTrueExp:Lfreemarker/core/Expression;
goto 3
StackMap locals: int
StackMap stack:
2: aload 0
getfield freemarker.core.BuiltInsWithParseTimeParameters$then_BI.whenFalseExp:Lfreemarker/core/Expression;
StackMap locals:
StackMap stack: freemarker.core.Expression
3: aload 1
invokevirtual freemarker.core.Expression.evalToNonMissing:(Lfreemarker/core/Environment;)Lfreemarker/template/TemplateModel;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lfreemarker/core/BuiltInsWithParseTimeParameters$then_BI;
0 4 1 env Lfreemarker/core/Environment;
1 4 2 lho Z
Exceptions:
throws freemarker.template.TemplateException
MethodParameters:
Name Flags
env
void bindToParameters(java.util.List, freemarker.core.Token, freemarker.core.Token);
descriptor: (Ljava/util/List;Lfreemarker/core/Token;Lfreemarker/core/Token;)V
flags: (0x0000)
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokeinterface java.util.List.size:()I
iconst_2
if_icmpeq 2
1: aload 0
ldc "requires exactly 2"
aload 2
aload 3
invokevirtual freemarker.core.BuiltInsWithParseTimeParameters$then_BI.newArgumentCountException:(Ljava/lang/String;Lfreemarker/core/Token;Lfreemarker/core/Token;)Lfreemarker/core/ParseException;
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 1
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast freemarker.core.Expression
putfield freemarker.core.BuiltInsWithParseTimeParameters$then_BI.whenTrueExp:Lfreemarker/core/Expression;
3: aload 0
aload 1
iconst_1
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast freemarker.core.Expression
putfield freemarker.core.BuiltInsWithParseTimeParameters$then_BI.whenFalseExp:Lfreemarker/core/Expression;
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lfreemarker/core/BuiltInsWithParseTimeParameters$then_BI;
0 5 1 parameters Ljava/util/List;
0 5 2 openParen Lfreemarker/core/Token;
0 5 3 closeParen Lfreemarker/core/Token;
Exceptions:
throws freemarker.core.ParseException
MethodParameters:
Name Flags
parameters
openParen
closeParen
protected freemarker.core.Expression getArgumentParameterValue(int);
descriptor: (I)Lfreemarker/core/Expression;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
tableswitch { // 0 - 1
0: 1
1: 2
default: 3
}
1: StackMap locals:
StackMap stack:
aload 0
getfield freemarker.core.BuiltInsWithParseTimeParameters$then_BI.whenTrueExp:Lfreemarker/core/Expression;
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield freemarker.core.BuiltInsWithParseTimeParameters$then_BI.whenFalseExp:Lfreemarker/core/Expression;
areturn
3: StackMap locals:
StackMap stack:
new java.lang.IndexOutOfBoundsException
dup
invokespecial java.lang.IndexOutOfBoundsException.<init>:()V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lfreemarker/core/BuiltInsWithParseTimeParameters$then_BI;
0 4 1 argIdx I
MethodParameters:
Name Flags
argIdx final
protected int getArgumentsCount();
descriptor: ()I
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_2
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/core/BuiltInsWithParseTimeParameters$then_BI;
protected java.util.List getArgumentsAsList();
descriptor: ()Ljava/util/List;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=1
start local 0 0: new java.util.ArrayList
dup
iconst_2
invokespecial java.util.ArrayList.<init>:(I)V
astore 1
start local 1 1: aload 1
aload 0
getfield freemarker.core.BuiltInsWithParseTimeParameters$then_BI.whenTrueExp:Lfreemarker/core/Expression;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
2: aload 1
aload 0
getfield freemarker.core.BuiltInsWithParseTimeParameters$then_BI.whenFalseExp:Lfreemarker/core/Expression;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
3: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lfreemarker/core/BuiltInsWithParseTimeParameters$then_BI;
1 4 1 args Ljava/util/ArrayList;
protected void cloneArguments(freemarker.core.Expression, java.lang.String, freemarker.core.Expression, freemarker.core.Expression$ReplacemenetState);
descriptor: (Lfreemarker/core/Expression;Ljava/lang/String;Lfreemarker/core/Expression;Lfreemarker/core/Expression$ReplacemenetState;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
checkcast freemarker.core.BuiltInsWithParseTimeParameters$then_BI
astore 5
start local 5 1: aload 5
aload 0
getfield freemarker.core.BuiltInsWithParseTimeParameters$then_BI.whenTrueExp:Lfreemarker/core/Expression;
aload 2
aload 3
aload 4
invokevirtual freemarker.core.Expression.deepCloneWithIdentifierReplaced:(Ljava/lang/String;Lfreemarker/core/Expression;Lfreemarker/core/Expression$ReplacemenetState;)Lfreemarker/core/Expression;
putfield freemarker.core.BuiltInsWithParseTimeParameters$then_BI.whenTrueExp:Lfreemarker/core/Expression;
2: aload 5
aload 0
getfield freemarker.core.BuiltInsWithParseTimeParameters$then_BI.whenFalseExp:Lfreemarker/core/Expression;
aload 2
aload 3
aload 4
invokevirtual freemarker.core.Expression.deepCloneWithIdentifierReplaced:(Ljava/lang/String;Lfreemarker/core/Expression;Lfreemarker/core/Expression$ReplacemenetState;)Lfreemarker/core/Expression;
putfield freemarker.core.BuiltInsWithParseTimeParameters$then_BI.whenFalseExp:Lfreemarker/core/Expression;
3: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lfreemarker/core/BuiltInsWithParseTimeParameters$then_BI;
0 4 1 cloneExp Lfreemarker/core/Expression;
0 4 2 replacedIdentifier Ljava/lang/String;
0 4 3 replacement Lfreemarker/core/Expression;
0 4 4 replacementState Lfreemarker/core/Expression$ReplacemenetState;
1 4 5 clone Lfreemarker/core/BuiltInsWithParseTimeParameters$then_BI;
MethodParameters:
Name Flags
cloneExp
replacedIdentifier
replacement
replacementState
}
SourceFile: "BuiltInsWithParseTimeParameters.java"
NestHost: freemarker.core.BuiltInsWithParseTimeParameters
InnerClasses:
then_BI = freemarker.core.BuiltInsWithParseTimeParameters$then_BI of freemarker.core.BuiltInsWithParseTimeParameters
ReplacemenetState = freemarker.core.Expression$ReplacemenetState of freemarker.core.Expression