final class freemarker.core.IfBlock extends freemarker.core.TemplateElement
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: freemarker.core.IfBlock
super_class: freemarker.core.TemplateElement
{
void <init>(freemarker.core.ConditionalBlock);
descriptor: (Lfreemarker/core/ConditionalBlock;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial freemarker.core.TemplateElement.<init>:()V
1: aload 0
iconst_1
invokevirtual freemarker.core.IfBlock.setChildBufferCapacity:(I)V
2: aload 0
aload 1
invokevirtual freemarker.core.IfBlock.addBlock:(Lfreemarker/core/ConditionalBlock;)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lfreemarker/core/IfBlock;
0 4 1 block Lfreemarker/core/ConditionalBlock;
MethodParameters:
Name Flags
block
void addBlock(freemarker.core.ConditionalBlock);
descriptor: (Lfreemarker/core/ConditionalBlock;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual freemarker.core.IfBlock.addChild:(Lfreemarker/core/TemplateElement;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lfreemarker/core/IfBlock;
0 2 1 block Lfreemarker/core/ConditionalBlock;
MethodParameters:
Name Flags
block
freemarker.core.TemplateElement[] accept(freemarker.core.Environment);
descriptor: (Lfreemarker/core/Environment;)[Lfreemarker/core/TemplateElement;
flags: (0x0000)
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual freemarker.core.IfBlock.getChildCount:()I
istore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 9
3: StackMap locals: int int
StackMap stack:
aload 0
iload 3
invokevirtual freemarker.core.IfBlock.getChild:(I)Lfreemarker/core/TemplateElement;
checkcast freemarker.core.ConditionalBlock
astore 4
start local 4 4: aload 4
getfield freemarker.core.ConditionalBlock.condition:Lfreemarker/core/Expression;
astore 5
start local 5 5: aload 1
aload 4
invokevirtual freemarker.core.Environment.replaceElementStackTop:(Lfreemarker/core/TemplateElement;)V
6: aload 5
ifnull 7
aload 5
aload 1
invokevirtual freemarker.core.Expression.evalToBoolean:(Lfreemarker/core/Environment;)Z
ifeq 8
7: StackMap locals: freemarker.core.ConditionalBlock freemarker.core.Expression
StackMap stack:
aload 4
invokevirtual freemarker.core.ConditionalBlock.getChildBuffer:()[Lfreemarker/core/TemplateElement;
areturn
end local 5 end local 4 8: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
9: iload 3
iload 2
if_icmplt 3
end local 3 10: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lfreemarker/core/IfBlock;
0 11 1 env Lfreemarker/core/Environment;
1 11 2 ln I
2 10 3 i I
4 8 4 cblock Lfreemarker/core/ConditionalBlock;
5 8 5 condition Lfreemarker/core/Expression;
Exceptions:
throws freemarker.template.TemplateException, java.io.IOException
MethodParameters:
Name Flags
env
freemarker.core.TemplateElement postParseCleanup(boolean);
descriptor: (Z)Lfreemarker/core/TemplateElement;
flags: (0x0000)
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual freemarker.core.IfBlock.getChildCount:()I
iconst_1
if_icmpne 4
1: aload 0
iconst_0
invokevirtual freemarker.core.IfBlock.getChild:(I)Lfreemarker/core/TemplateElement;
checkcast freemarker.core.ConditionalBlock
astore 2
start local 2 2: aload 2
aload 0
invokevirtual freemarker.core.IfBlock.getTemplate:()Lfreemarker/template/Template;
aload 2
aload 0
invokevirtual freemarker.core.ConditionalBlock.setLocation:(Lfreemarker/template/Template;Lfreemarker/core/TemplateObject;Lfreemarker/core/TemplateObject;)V
3: aload 2
iload 1
invokevirtual freemarker.core.ConditionalBlock.postParseCleanup:(Z)Lfreemarker/core/TemplateElement;
areturn
end local 2 4: StackMap locals:
StackMap stack:
aload 0
iload 1
invokespecial freemarker.core.TemplateElement.postParseCleanup:(Z)Lfreemarker/core/TemplateElement;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lfreemarker/core/IfBlock;
0 5 1 stripWhitespace Z
2 4 2 cblock Lfreemarker/core/ConditionalBlock;
Exceptions:
throws freemarker.core.ParseException
MethodParameters:
Name Flags
stripWhitespace
protected java.lang.String dump(boolean);
descriptor: (Z)Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: iload 1
ifeq 11
1: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 2
start local 2 2: aload 0
invokevirtual freemarker.core.IfBlock.getChildCount:()I
istore 3
start local 3 3: iconst_0
istore 4
start local 4 4: goto 8
5: StackMap locals: java.lang.StringBuilder int int
StackMap stack:
aload 0
iload 4
invokevirtual freemarker.core.IfBlock.getChild:(I)Lfreemarker/core/TemplateElement;
checkcast freemarker.core.ConditionalBlock
astore 5
start local 5 6: aload 2
aload 5
iload 1
invokevirtual freemarker.core.ConditionalBlock.dump:(Z)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 5 7: iinc 4 1
StackMap locals:
StackMap stack:
8: iload 4
iload 3
if_icmplt 5
end local 4 9: aload 2
ldc "</#if>"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
10: aload 2
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 3 end local 2 11: StackMap locals:
StackMap stack:
aload 0
invokevirtual freemarker.core.IfBlock.getNodeTypeSymbol:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lfreemarker/core/IfBlock;
0 12 1 canonical Z
2 11 2 buf Ljava/lang/StringBuilder;
3 11 3 ln I
4 9 4 i I
6 7 5 cblock Lfreemarker/core/ConditionalBlock;
MethodParameters:
Name Flags
canonical
java.lang.String getNodeTypeSymbol();
descriptor: ()Ljava/lang/String;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc "#if-#elseif-#else-container"
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/core/IfBlock;
int getParameterCount();
descriptor: ()I
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/core/IfBlock;
java.lang.Object getParameterValue(int);
descriptor: (I)Ljava/lang/Object;
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: 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 1 0 this Lfreemarker/core/IfBlock;
0 1 1 idx I
MethodParameters:
Name Flags
idx
freemarker.core.ParameterRole getParameterRole(int);
descriptor: (I)Lfreemarker/core/ParameterRole;
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: 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 1 0 this Lfreemarker/core/IfBlock;
0 1 1 idx I
MethodParameters:
Name Flags
idx
boolean isNestedBlockRepeater();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/core/IfBlock;
}
SourceFile: "IfBlock.java"