abstract class freemarker.core.BuiltInForLoopVariable extends freemarker.core.SpecialBuiltIn
minor version: 0
major version: 59
flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: freemarker.core.BuiltInForLoopVariable
super_class: freemarker.core.SpecialBuiltIn
{
private java.lang.String loopVarName;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 // freemarker.core.BuiltInForLoopVariable this
0: .line 26
aload 0 /* this */
invokespecial freemarker.core.SpecialBuiltIn.<init>:()V
return
end local 0 // freemarker.core.BuiltInForLoopVariable this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/core/BuiltInForLoopVariable;
void bindToLoopVariable(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 // freemarker.core.BuiltInForLoopVariable this
start local 1 // java.lang.String loopVarName
0: .line 31
aload 0 /* this */
aload 1 /* loopVarName */
putfield freemarker.core.BuiltInForLoopVariable.loopVarName:Ljava/lang/String;
1: .line 32
return
end local 1 // java.lang.String loopVarName
end local 0 // freemarker.core.BuiltInForLoopVariable this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lfreemarker/core/BuiltInForLoopVariable;
0 2 1 loopVarName Ljava/lang/String;
MethodParameters:
Name Flags
loopVarName
freemarker.template.TemplateModel _eval(freemarker.core.Environment);
descriptor: (Lfreemarker/core/Environment;)Lfreemarker/template/TemplateModel;
flags: (0x0000)
Code:
stack=10, locals=3, args_size=2
start local 0 // freemarker.core.BuiltInForLoopVariable this
start local 1 // freemarker.core.Environment env
0: .line 36
aload 1 /* env */
aload 0 /* this */
getfield freemarker.core.BuiltInForLoopVariable.loopVarName:Ljava/lang/String;
invokestatic freemarker.core.IteratorBlock.findEnclosingIterationContext:(Lfreemarker/core/Environment;Ljava/lang/String;)Lfreemarker/core/IteratorBlock$IterationContext;
astore 2 /* iterCtx */
start local 2 // freemarker.core.IteratorBlock$IterationContext iterCtx
1: .line 37
aload 2 /* iterCtx */
ifnonnull 6
2: .line 39
new freemarker.core._MiscTemplateException
dup
3: .line 40
aload 0 /* this */
aload 1 /* env */
iconst_3
anewarray java.lang.Object
dup
iconst_0
4: .line 41
ldc "There's no iteration in context that uses loop variable "
aastore
dup
iconst_1
new freemarker.core._DelayedJQuote
dup
aload 0 /* this */
getfield freemarker.core.BuiltInForLoopVariable.loopVarName:Ljava/lang/String;
invokespecial freemarker.core._DelayedJQuote.<init>:(Ljava/lang/Object;)V
aastore
dup
iconst_2
ldc "."
5: .line 39
aastore
invokespecial freemarker.core._MiscTemplateException.<init>:(Lfreemarker/core/Expression;Lfreemarker/core/Environment;[Ljava/lang/Object;)V
athrow
6: .line 44
StackMap locals: freemarker.core.IteratorBlock$IterationContext
StackMap stack:
aload 0 /* this */
aload 2 /* iterCtx */
aload 1 /* env */
invokevirtual freemarker.core.BuiltInForLoopVariable.calculateResult:(Lfreemarker/core/IteratorBlock$IterationContext;Lfreemarker/core/Environment;)Lfreemarker/template/TemplateModel;
areturn
end local 2 // freemarker.core.IteratorBlock$IterationContext iterCtx
end local 1 // freemarker.core.Environment env
end local 0 // freemarker.core.BuiltInForLoopVariable this
LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lfreemarker/core/BuiltInForLoopVariable;
0 7 1 env Lfreemarker/core/Environment;
1 7 2 iterCtx Lfreemarker/core/IteratorBlock$IterationContext;
Exceptions:
throws freemarker.template.TemplateException
MethodParameters:
Name Flags
env
abstract freemarker.template.TemplateModel calculateResult(freemarker.core.IteratorBlock$IterationContext, freemarker.core.Environment);
descriptor: (Lfreemarker/core/IteratorBlock$IterationContext;Lfreemarker/core/Environment;)Lfreemarker/template/TemplateModel;
flags: (0x0400) ACC_ABSTRACT
Exceptions:
throws freemarker.template.TemplateException
MethodParameters:
Name Flags
iterCtx
env
}
SourceFile: "BuiltInForLoopVariable.java"
InnerClasses:
IterationContext = freemarker.core.IteratorBlock$IterationContext of freemarker.core.IteratorBlock