public final class freemarker.core.Environment extends freemarker.core.Configurable
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: freemarker.core.Environment
super_class: freemarker.core.Configurable
{
private static final java.lang.ThreadLocal threadEnv;
descriptor: Ljava/lang/ThreadLocal;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final freemarker.log.Logger LOG;
descriptor: Lfreemarker/log/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final freemarker.log.Logger ATTEMPT_LOGGER;
descriptor: Lfreemarker/log/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.text.DecimalFormat C_NUMBER_FORMAT;
descriptor: Ljava/text/DecimalFormat;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final freemarker.template.Configuration configuration;
descriptor: Lfreemarker/template/Configuration;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean incompatibleImprovementsGE2328;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final freemarker.template.TemplateHashModel rootDataModel;
descriptor: Lfreemarker/template/TemplateHashModel;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private freemarker.core.TemplateElement[] instructionStack;
descriptor: [Lfreemarker/core/TemplateElement;
flags: (0x0002) ACC_PRIVATE
private int instructionStackSize;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private final java.util.ArrayList recoveredErrorStack;
descriptor: Ljava/util/ArrayList;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private freemarker.core.TemplateNumberFormat cachedTemplateNumberFormat;
descriptor: Lfreemarker/core/TemplateNumberFormat;
flags: (0x0002) ACC_PRIVATE
private java.util.Map<java.lang.String, freemarker.core.TemplateNumberFormat> cachedTemplateNumberFormats;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Map<Ljava/lang/String;Lfreemarker/core/TemplateNumberFormat;>;
private freemarker.core.TemplateDateFormat[] cachedTempDateFormatArray;
descriptor: [Lfreemarker/core/TemplateDateFormat;
flags: (0x0002) ACC_PRIVATE
private java.util.HashMap<java.lang.String, freemarker.core.TemplateDateFormat>[] cachedTempDateFormatsByFmtStrArray;
descriptor: [Ljava/util/HashMap;
flags: (0x0002) ACC_PRIVATE
Signature: [Ljava/util/HashMap<Ljava/lang/String;Lfreemarker/core/TemplateDateFormat;>;
private static final int CACHED_TDFS_ZONELESS_INPUT_OFFS;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4
private static final int CACHED_TDFS_SQL_D_T_TZ_OFFS;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 8
private static final int CACHED_TDFS_LENGTH;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 16
private java.lang.Boolean cachedSQLDateAndTimeTimeZoneSameAsNormal;
descriptor: Ljava/lang/Boolean;
flags: (0x0002) ACC_PRIVATE
private java.text.NumberFormat cNumberFormat;
descriptor: Ljava/text/NumberFormat;
flags: (0x0002) ACC_PRIVATE
private freemarker.template.utility.DateUtil$DateToISO8601CalendarFactory isoBuiltInCalendarFactory;
descriptor: Lfreemarker/template/utility/DateUtil$DateToISO8601CalendarFactory;
flags: (0x0002) ACC_PRIVATE
private java.text.Collator cachedCollator;
descriptor: Ljava/text/Collator;
flags: (0x0002) ACC_PRIVATE
private java.io.Writer out;
descriptor: Ljava/io/Writer;
flags: (0x0002) ACC_PRIVATE
private freemarker.core.Macro$Context currentMacroContext;
descriptor: Lfreemarker/core/Macro$Context;
flags: (0x0002) ACC_PRIVATE
private freemarker.core.LocalContextStack localContextStack;
descriptor: Lfreemarker/core/LocalContextStack;
flags: (0x0002) ACC_PRIVATE
private final freemarker.core.Environment$Namespace mainNamespace;
descriptor: Lfreemarker/core/Environment$Namespace;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private freemarker.core.Environment$Namespace currentNamespace;
descriptor: Lfreemarker/core/Environment$Namespace;
flags: (0x0002) ACC_PRIVATE
private freemarker.core.Environment$Namespace globalNamespace;
descriptor: Lfreemarker/core/Environment$Namespace;
flags: (0x0002) ACC_PRIVATE
private java.util.HashMap<java.lang.String, freemarker.core.Environment$Namespace> loadedLibs;
descriptor: Ljava/util/HashMap;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/HashMap<Ljava/lang/String;Lfreemarker/core/Environment$Namespace;>;
private freemarker.core.Configurable legacyParent;
descriptor: Lfreemarker/core/Configurable;
flags: (0x0002) ACC_PRIVATE
private boolean inAttemptBlock;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.lang.Throwable lastThrowable;
descriptor: Ljava/lang/Throwable;
flags: (0x0002) ACC_PRIVATE
private freemarker.template.TemplateModel lastReturnValue;
descriptor: Lfreemarker/template/TemplateModel;
flags: (0x0002) ACC_PRIVATE
private java.util.HashMap macroToNamespaceLookup;
descriptor: Ljava/util/HashMap;
flags: (0x0002) ACC_PRIVATE
private freemarker.template.TemplateNodeModel currentVisitorNode;
descriptor: Lfreemarker/template/TemplateNodeModel;
flags: (0x0002) ACC_PRIVATE
private freemarker.template.TemplateSequenceModel nodeNamespaces;
descriptor: Lfreemarker/template/TemplateSequenceModel;
flags: (0x0002) ACC_PRIVATE
private int nodeNamespaceIndex;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private java.lang.String currentNodeName;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String currentNodeNS;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private java.lang.String cachedURLEscapingCharset;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private boolean cachedURLEscapingCharsetSet;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean fastInvalidReferenceExceptions;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private static final freemarker.template.TemplateModel[] NO_OUT_ARGS;
descriptor: [Lfreemarker/template/TemplateModel;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int TERSE_MODE_INSTRUCTION_STACK_TRACE_LIMIT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 10
private java.util.IdentityHashMap<java.lang.Object, java.lang.Object> customStateVariables;
descriptor: Ljava/util/IdentityHashMap;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/IdentityHashMap<Ljava/lang/Object;Ljava/lang/Object;>;
private static final java.io.Writer EMPTY_BODY_WRITER;
descriptor: Ljava/io/Writer;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=0, args_size=0
0: new java.lang.ThreadLocal
dup
invokespecial java.lang.ThreadLocal.<init>:()V
putstatic freemarker.core.Environment.threadEnv:Ljava/lang/ThreadLocal;
1: ldc "freemarker.runtime"
invokestatic freemarker.log.Logger.getLogger:(Ljava/lang/String;)Lfreemarker/log/Logger;
putstatic freemarker.core.Environment.LOG:Lfreemarker/log/Logger;
2: ldc "freemarker.runtime.attempt"
invokestatic freemarker.log.Logger.getLogger:(Ljava/lang/String;)Lfreemarker/log/Logger;
putstatic freemarker.core.Environment.ATTEMPT_LOGGER:Lfreemarker/log/Logger;
3: new java.text.DecimalFormat
dup
4: ldc "0.################"
5: new java.text.DecimalFormatSymbols
dup
getstatic java.util.Locale.US:Ljava/util/Locale;
invokespecial java.text.DecimalFormatSymbols.<init>:(Ljava/util/Locale;)V
6: invokespecial java.text.DecimalFormat.<init>:(Ljava/lang/String;Ljava/text/DecimalFormatSymbols;)V
putstatic freemarker.core.Environment.C_NUMBER_FORMAT:Ljava/text/DecimalFormat;
7: getstatic freemarker.core.Environment.C_NUMBER_FORMAT:Ljava/text/DecimalFormat;
iconst_0
invokevirtual java.text.DecimalFormat.setGroupingUsed:(Z)V
8: getstatic freemarker.core.Environment.C_NUMBER_FORMAT:Ljava/text/DecimalFormat;
iconst_0
invokevirtual java.text.DecimalFormat.setDecimalSeparatorAlwaysShown:(Z)V
9: iconst_0
anewarray freemarker.template.TemplateModel
putstatic freemarker.core.Environment.NO_OUT_ARGS:[Lfreemarker/template/TemplateModel;
10: new freemarker.core.Environment$1
dup
invokespecial freemarker.core.Environment$1.<init>:()V
putstatic freemarker.core.Environment.EMPTY_BODY_WRITER:Ljava/io/Writer;
11: return
LocalVariableTable:
Start End Slot Name Signature
public static freemarker.core.Environment getCurrentEnvironment();
descriptor: ()Lfreemarker/core/Environment;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic freemarker.core.Environment.threadEnv:Ljava/lang/ThreadLocal;
invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
checkcast freemarker.core.Environment
areturn
LocalVariableTable:
Start End Slot Name Signature
static void setCurrentEnvironment(freemarker.core.Environment);
descriptor: (Lfreemarker/core/Environment;)V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic freemarker.core.Environment.threadEnv:Ljava/lang/ThreadLocal;
aload 0
invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 env Lfreemarker/core/Environment;
MethodParameters:
Name Flags
env
public void <init>(freemarker.template.Template, freemarker.template.TemplateHashModel, java.io.Writer);
descriptor: (Lfreemarker/template/Template;Lfreemarker/template/TemplateHashModel;Ljava/io/Writer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
invokespecial freemarker.core.Configurable.<init>:(Lfreemarker/core/Configurable;)V
1: aload 0
bipush 16
anewarray freemarker.core.TemplateElement
putfield freemarker.core.Environment.instructionStack:[Lfreemarker/core/TemplateElement;
2: aload 0
iconst_0
putfield freemarker.core.Environment.instructionStackSize:I
3: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield freemarker.core.Environment.recoveredErrorStack:Ljava/util/ArrayList;
4: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield freemarker.core.Environment.macroToNamespaceLookup:Ljava/util/HashMap;
5: aload 0
aload 1
invokevirtual freemarker.template.Template.getConfiguration:()Lfreemarker/template/Configuration;
putfield freemarker.core.Environment.configuration:Lfreemarker/template/Configuration;
6: aload 0
aload 0
getfield freemarker.core.Environment.configuration:Lfreemarker/template/Configuration;
invokevirtual freemarker.template.Configuration.getIncompatibleImprovements:()Lfreemarker/template/Version;
invokevirtual freemarker.template.Version.intValue:()I
getstatic freemarker.template._TemplateAPI.VERSION_INT_2_3_28:I
if_icmplt 7
iconst_1
goto 8
StackMap locals: freemarker.core.Environment freemarker.template.Template freemarker.template.TemplateHashModel java.io.Writer
StackMap stack: freemarker.core.Environment
7: iconst_0
StackMap locals: freemarker.core.Environment freemarker.template.Template freemarker.template.TemplateHashModel java.io.Writer
StackMap stack: freemarker.core.Environment int
8: putfield freemarker.core.Environment.incompatibleImprovementsGE2328:Z
9: aload 0
new freemarker.core.Environment$Namespace
dup
aload 0
aconst_null
invokespecial freemarker.core.Environment$Namespace.<init>:(Lfreemarker/core/Environment;Lfreemarker/template/Template;)V
putfield freemarker.core.Environment.globalNamespace:Lfreemarker/core/Environment$Namespace;
10: aload 0
aload 0
new freemarker.core.Environment$Namespace
dup
aload 0
aload 1
invokespecial freemarker.core.Environment$Namespace.<init>:(Lfreemarker/core/Environment;Lfreemarker/template/Template;)V
dup_x1
putfield freemarker.core.Environment.mainNamespace:Lfreemarker/core/Environment$Namespace;
putfield freemarker.core.Environment.currentNamespace:Lfreemarker/core/Environment$Namespace;
11: aload 0
aload 3
putfield freemarker.core.Environment.out:Ljava/io/Writer;
12: aload 0
aload 2
putfield freemarker.core.Environment.rootDataModel:Lfreemarker/template/TemplateHashModel;
13: aload 0
aload 1
invokevirtual freemarker.core.Environment.importMacros:(Lfreemarker/template/Template;)V
14: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lfreemarker/core/Environment;
0 15 1 template Lfreemarker/template/Template;
0 15 2 rootDataModel Lfreemarker/template/TemplateHashModel;
0 15 3 out Ljava/io/Writer;
MethodParameters:
Name Flags
template
rootDataModel final
out
public freemarker.template.Template getTemplate();
descriptor: ()Lfreemarker/template/Template;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual freemarker.core.Environment.getParent:()Lfreemarker/core/Configurable;
checkcast freemarker.template.Template
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/core/Environment;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
freemarker.template.Template getTemplate230();
descriptor: ()Lfreemarker/template/Template;
flags: (0x0000)
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
getfield freemarker.core.Environment.legacyParent:Lfreemarker/core/Configurable;
checkcast freemarker.template.Template
astore 1
start local 1 1: aload 1
ifnull 2
aload 1
goto 3
StackMap locals: freemarker.template.Template
StackMap stack:
2: aload 0
invokevirtual freemarker.core.Environment.getTemplate:()Lfreemarker/template/Template;
StackMap locals:
StackMap stack: freemarker.template.Template
3: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lfreemarker/core/Environment;
1 4 1 legacyParent Lfreemarker/template/Template;
public freemarker.template.Template getMainTemplate();
descriptor: ()Lfreemarker/template/Template;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield freemarker.core.Environment.mainNamespace:Lfreemarker/core/Environment$Namespace;
invokevirtual freemarker.core.Environment$Namespace.getTemplate:()Lfreemarker/template/Template;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/core/Environment;
public freemarker.template.Template getCurrentTemplate();
descriptor: ()Lfreemarker/template/Template;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\tSuppressFBWarnings cannot be resolved to a type\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/core/Environment;
RuntimeInvisibleAnnotations:
SuppressFBWarnings()
RuntimeInvisibleTypeAnnotations:
METHOD_RETURN
SuppressFBWarnings()
public freemarker.core.DirectiveCallPlace getCurrentDirectiveCallPlace();
descriptor: ()Lfreemarker/core/DirectiveCallPlace;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\tSuppressFBWarnings cannot be resolved to a type\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/core/Environment;
RuntimeInvisibleAnnotations:
SuppressFBWarnings()
RuntimeInvisibleTypeAnnotations:
METHOD_RETURN
SuppressFBWarnings()
private void clearCachedValues();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
putfield freemarker.core.Environment.cachedTemplateNumberFormats:Ljava/util/Map;
1: aload 0
aconst_null
putfield freemarker.core.Environment.cachedTemplateNumberFormat:Lfreemarker/core/TemplateNumberFormat;
2: aload 0
aconst_null
putfield freemarker.core.Environment.cachedTempDateFormatArray:[Lfreemarker/core/TemplateDateFormat;
3: aload 0
aconst_null
putfield freemarker.core.Environment.cachedTempDateFormatsByFmtStrArray:[Ljava/util/HashMap;
4: aload 0
aconst_null
putfield freemarker.core.Environment.cachedCollator:Ljava/text/Collator;
5: aload 0
aconst_null
putfield freemarker.core.Environment.cachedURLEscapingCharset:Ljava/lang/String;
6: aload 0
iconst_0
putfield freemarker.core.Environment.cachedURLEscapingCharsetSet:Z
7: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lfreemarker/core/Environment;
public void process();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=1
start local 0 0: getstatic freemarker.core.Environment.threadEnv:Ljava/lang/ThreadLocal;
invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
astore 1
start local 1 1: getstatic freemarker.core.Environment.threadEnv:Ljava/lang/ThreadLocal;
aload 0
invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
2: aload 0
invokevirtual freemarker.core.Environment.clearCachedValues:()V
3: aload 0
aload 0
invokevirtual freemarker.core.Environment.doAutoImportsAndIncludes:(Lfreemarker/core/Environment;)V
4: aload 0
aload 0
invokevirtual freemarker.core.Environment.getTemplate:()Lfreemarker/template/Template;
invokevirtual freemarker.template.Template.getRootTreeNode:()Lfreemarker/core/TemplateElement;
invokevirtual freemarker.core.Environment.visit:(Lfreemarker/core/TemplateElement;)V
5: aload 0
invokevirtual freemarker.core.Environment.getAutoFlush:()Z
ifeq 11
6: aload 0
getfield freemarker.core.Environment.out:Ljava/io/Writer;
invokevirtual java.io.Writer.flush:()V
7: goto 11
StackMap locals: freemarker.core.Environment java.lang.Object
StackMap stack: java.lang.Throwable
8: astore 2
9: aload 0
invokevirtual freemarker.core.Environment.clearCachedValues:()V
10: aload 2
athrow
11: StackMap locals:
StackMap stack:
aload 0
invokevirtual freemarker.core.Environment.clearCachedValues:()V
12: goto 16
StackMap locals:
StackMap stack: java.lang.Throwable
13: astore 3
14: getstatic freemarker.core.Environment.threadEnv:Ljava/lang/ThreadLocal;
aload 1
invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
15: aload 3
athrow
16: StackMap locals:
StackMap stack:
getstatic freemarker.core.Environment.threadEnv:Ljava/lang/ThreadLocal;
aload 1
invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
17: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lfreemarker/core/Environment;
1 18 1 savedEnv Ljava/lang/Object;
Exception table:
from to target type
3 8 8 any
2 13 13 any
Exceptions:
throws freemarker.template.TemplateException, java.io.IOException
void visit(freemarker.core.TemplateElement);
descriptor: (Lfreemarker/core/TemplateElement;)V
flags: (0x0000)
Code:
stack=2, locals=8, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual freemarker.core.Environment.pushElement:(Lfreemarker/core/TemplateElement;)V
1: aload 1
aload 0
invokevirtual freemarker.core.TemplateElement.accept:(Lfreemarker/core/Environment;)[Lfreemarker/core/TemplateElement;
astore 2
start local 2 2: aload 2
ifnull 17
3: aload 2
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 9
StackMap locals: freemarker.core.Environment freemarker.core.TemplateElement freemarker.core.TemplateElement[] top int int freemarker.core.TemplateElement[]
StackMap stack:
4: aload 6
iload 4
aaload
astore 3
start local 3 5: aload 3
ifnonnull 7
6: goto 17
7: StackMap locals: freemarker.core.Environment freemarker.core.TemplateElement freemarker.core.TemplateElement[] freemarker.core.TemplateElement int int freemarker.core.TemplateElement[]
StackMap stack:
aload 0
aload 3
invokevirtual freemarker.core.Environment.visit:(Lfreemarker/core/TemplateElement;)V
end local 3 8: iinc 4 1
StackMap locals: freemarker.core.Environment freemarker.core.TemplateElement freemarker.core.TemplateElement[] top int int freemarker.core.TemplateElement[]
StackMap stack:
9: iload 4
iload 5
if_icmplt 4
end local 2 10: goto 17
StackMap locals: freemarker.core.Environment freemarker.core.TemplateElement
StackMap stack: freemarker.template.TemplateException
11: astore 2
start local 2 12: aload 0
aload 2
invokevirtual freemarker.core.Environment.handleTemplateException:(Lfreemarker/template/TemplateException;)V
end local 2 13: aload 0
invokevirtual freemarker.core.Environment.popElement:()V
goto 18
14: StackMap locals:
StackMap stack: java.lang.Throwable
astore 7
15: aload 0
invokevirtual freemarker.core.Environment.popElement:()V
16: aload 7
athrow
17: StackMap locals:
StackMap stack:
aload 0
invokevirtual freemarker.core.Environment.popElement:()V
18: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lfreemarker/core/Environment;
0 19 1 element Lfreemarker/core/TemplateElement;
2 10 2 templateElementsToVisit [Lfreemarker/core/TemplateElement;
5 8 3 el Lfreemarker/core/TemplateElement;
12 13 2 te Lfreemarker/template/TemplateException;
Exception table:
from to target type
1 10 11 Class freemarker.template.TemplateException
1 13 14 any
Exceptions:
throws java.io.IOException, freemarker.template.TemplateException
MethodParameters:
Name Flags
element
final void visit(freemarker.core.TemplateElement[]);
descriptor: ([Lfreemarker/core/TemplateElement;)V
flags: (0x0010) ACC_FINAL
Code:
stack=2, locals=12, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: return
2: StackMap locals:
StackMap stack:
aload 1
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 25
StackMap locals: freemarker.core.Environment freemarker.core.TemplateElement[] top int int freemarker.core.TemplateElement[]
StackMap stack:
3: aload 5
iload 3
aaload
astore 2
start local 2 4: aload 2
ifnonnull 6
5: goto 26
6: StackMap locals: freemarker.core.Environment freemarker.core.TemplateElement[] freemarker.core.TemplateElement int int freemarker.core.TemplateElement[]
StackMap stack:
aload 0
aload 2
invokevirtual freemarker.core.Environment.pushElement:(Lfreemarker/core/TemplateElement;)V
7: aload 2
aload 0
invokevirtual freemarker.core.TemplateElement.accept:(Lfreemarker/core/Environment;)[Lfreemarker/core/TemplateElement;
astore 6
start local 6 8: aload 6
ifnull 23
9: aload 6
dup
astore 10
arraylength
istore 9
iconst_0
istore 8
goto 15
StackMap locals: freemarker.core.Environment freemarker.core.TemplateElement[] freemarker.core.TemplateElement int int freemarker.core.TemplateElement[] freemarker.core.TemplateElement[] top int int freemarker.core.TemplateElement[]
StackMap stack:
10: aload 10
iload 8
aaload
astore 7
start local 7 11: aload 7
ifnonnull 13
12: goto 23
13: StackMap locals: freemarker.core.Environment freemarker.core.TemplateElement[] freemarker.core.TemplateElement int int freemarker.core.TemplateElement[] freemarker.core.TemplateElement[] freemarker.core.TemplateElement int int freemarker.core.TemplateElement[]
StackMap stack:
aload 0
aload 7
invokevirtual freemarker.core.Environment.visit:(Lfreemarker/core/TemplateElement;)V
end local 7 14: iinc 8 1
StackMap locals: freemarker.core.Environment freemarker.core.TemplateElement[] freemarker.core.TemplateElement int int freemarker.core.TemplateElement[] freemarker.core.TemplateElement[] top int int freemarker.core.TemplateElement[]
StackMap stack:
15: iload 8
iload 9
if_icmplt 10
end local 6 16: goto 23
StackMap locals: freemarker.core.Environment freemarker.core.TemplateElement[] freemarker.core.TemplateElement int int freemarker.core.TemplateElement[]
StackMap stack: freemarker.template.TemplateException
17: astore 6
start local 6 18: aload 0
aload 6
invokevirtual freemarker.core.Environment.handleTemplateException:(Lfreemarker/template/TemplateException;)V
end local 6 19: aload 0
invokevirtual freemarker.core.Environment.popElement:()V
goto 24
20: StackMap locals:
StackMap stack: java.lang.Throwable
astore 11
21: aload 0
invokevirtual freemarker.core.Environment.popElement:()V
22: aload 11
athrow
23: StackMap locals:
StackMap stack:
aload 0
invokevirtual freemarker.core.Environment.popElement:()V
end local 2 24: StackMap locals: freemarker.core.Environment freemarker.core.TemplateElement[] top int int freemarker.core.TemplateElement[]
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
25: iload 3
iload 4
if_icmplt 3
26: StackMap locals: freemarker.core.Environment freemarker.core.TemplateElement[]
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lfreemarker/core/Environment;
0 27 1 elementBuffer [Lfreemarker/core/TemplateElement;
4 24 2 element Lfreemarker/core/TemplateElement;
8 16 6 templateElementsToVisit [Lfreemarker/core/TemplateElement;
11 14 7 el Lfreemarker/core/TemplateElement;
18 19 6 te Lfreemarker/template/TemplateException;
Exception table:
from to target type
7 16 17 Class freemarker.template.TemplateException
7 19 20 any
Exceptions:
throws java.io.IOException, freemarker.template.TemplateException
MethodParameters:
Name Flags
elementBuffer
final void visit(freemarker.core.TemplateElement[], java.io.Writer);
descriptor: ([Lfreemarker/core/TemplateElement;Ljava/io/Writer;)V
flags: (0x0010) ACC_FINAL
Code:
stack=2, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield freemarker.core.Environment.out:Ljava/io/Writer;
astore 3
start local 3 1: aload 0
aload 2
putfield freemarker.core.Environment.out:Ljava/io/Writer;
2: aload 0
aload 1
invokevirtual freemarker.core.Environment.visit:([Lfreemarker/core/TemplateElement;)V
3: goto 7
StackMap locals: freemarker.core.Environment freemarker.core.TemplateElement[] java.io.Writer java.io.Writer
StackMap stack: java.lang.Throwable
4: astore 4
5: aload 0
aload 3
putfield freemarker.core.Environment.out:Ljava/io/Writer;
6: aload 4
athrow
7: StackMap locals:
StackMap stack:
aload 0
aload 3
putfield freemarker.core.Environment.out:Ljava/io/Writer;
8: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lfreemarker/core/Environment;
0 9 1 elementBuffer [Lfreemarker/core/TemplateElement;
0 9 2 out Ljava/io/Writer;
1 9 3 prevOut Ljava/io/Writer;
Exception table:
from to target type
2 4 4 any
Exceptions:
throws java.io.IOException, freemarker.template.TemplateException
MethodParameters:
Name Flags
elementBuffer
out
private freemarker.core.TemplateElement replaceTopElement(freemarker.core.TemplateElement);
descriptor: (Lfreemarker/core/TemplateElement;)Lfreemarker/core/TemplateElement;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\tSuppressFBWarnings cannot be resolved to a type\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/core/Environment;
RuntimeInvisibleAnnotations:
SuppressFBWarnings()
RuntimeInvisibleTypeAnnotations:
METHOD_RETURN
SuppressFBWarnings()
MethodParameters:
Name Flags
element
public void visit(freemarker.core.TemplateElement, freemarker.template.TemplateDirectiveModel, java.util.Map, java.util.List);
descriptor: (Lfreemarker/core/TemplateElement;Lfreemarker/template/TemplateDirectiveModel;Ljava/util/Map;Ljava/util/List;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
iconst_1
anewarray freemarker.core.TemplateElement
dup
iconst_0
aload 1
aastore
aload 2
aload 3
aload 4
invokevirtual freemarker.core.Environment.visit:([Lfreemarker/core/TemplateElement;Lfreemarker/template/TemplateDirectiveModel;Ljava/util/Map;Ljava/util/List;)V
1: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lfreemarker/core/Environment;
0 2 1 element Lfreemarker/core/TemplateElement;
0 2 2 directiveModel Lfreemarker/template/TemplateDirectiveModel;
0 2 3 args Ljava/util/Map;
0 2 4 bodyParameterNames Ljava/util/List;
Exceptions:
throws freemarker.template.TemplateException, java.io.IOException
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
element final
directiveModel
args
bodyParameterNames final
void visit(freemarker.core.TemplateElement[], freemarker.template.TemplateDirectiveModel, java.util.Map, java.util.List);
descriptor: ([Lfreemarker/core/TemplateElement;Lfreemarker/template/TemplateDirectiveModel;Ljava/util/Map;Ljava/util/List;)V
flags: (0x0000)
Code:
stack=6, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
ifnonnull 3
1: aconst_null
astore 5
start local 5 2: goto 4
end local 5 3: StackMap locals:
StackMap stack:
new freemarker.core.Environment$NestedElementTemplateDirectiveBody
dup
aload 0
aload 1
invokespecial freemarker.core.Environment$NestedElementTemplateDirectiveBody.<init>:(Lfreemarker/core/Environment;[Lfreemarker/core/TemplateElement;)V
astore 5
start local 5 4: StackMap locals: freemarker.template.TemplateDirectiveBody
StackMap stack:
aload 4
ifnull 5
aload 4
invokeinterface java.util.List.isEmpty:()Z
ifeq 7
5: StackMap locals:
StackMap stack:
getstatic freemarker.core.Environment.NO_OUT_ARGS:[Lfreemarker/template/TemplateModel;
astore 6
start local 6 6: goto 8
end local 6 7: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.List.size:()I
anewarray freemarker.template.TemplateModel
astore 6
start local 6 8: StackMap locals: freemarker.template.TemplateModel[]
StackMap stack:
aload 6
arraylength
ifle 10
9: aload 0
new freemarker.core.Environment$2
dup
aload 0
aload 4
aload 6
invokespecial freemarker.core.Environment$2.<init>:(Lfreemarker/core/Environment;Ljava/util/List;[Lfreemarker/template/TemplateModel;)V
invokevirtual freemarker.core.Environment.pushLocalContext:(Lfreemarker/core/LocalContext;)V
10: StackMap locals:
StackMap stack:
aload 2
aload 0
aload 3
aload 6
aload 5
invokeinterface freemarker.template.TemplateDirectiveModel.execute:(Lfreemarker/core/Environment;Ljava/util/Map;[Lfreemarker/template/TemplateModel;Lfreemarker/template/TemplateDirectiveBody;)V
11: goto 30
StackMap locals:
StackMap stack: freemarker.core.FlowControlException
12: astore 7
start local 7 13: aload 7
athrow
end local 7 14: StackMap locals:
StackMap stack: freemarker.template.TemplateException
astore 7
start local 7 15: aload 7
athrow
end local 7 16: StackMap locals:
StackMap stack: java.io.IOException
astore 7
start local 7 17: aload 7
athrow
end local 7 18: StackMap locals:
StackMap stack: java.lang.Exception
astore 7
start local 7 19: aload 7
aload 0
invokestatic freemarker.core.EvalUtil.shouldWrapUncheckedException:(Ljava/lang/Throwable;Lfreemarker/core/Environment;)Z
ifeq 23
20: new freemarker.core._MiscTemplateException
dup
21: aload 7
aload 0
ldc "Directive has thrown an unchecked exception; see the cause exception."
22: invokespecial freemarker.core._MiscTemplateException.<init>:(Ljava/lang/Throwable;Lfreemarker/core/Environment;Ljava/lang/String;)V
athrow
23: StackMap locals: java.lang.Exception
StackMap stack:
aload 7
instanceof java.lang.RuntimeException
ifeq 25
24: aload 7
checkcast java.lang.RuntimeException
athrow
25: StackMap locals:
StackMap stack:
new freemarker.template.utility.UndeclaredThrowableException
dup
aload 7
invokespecial freemarker.template.utility.UndeclaredThrowableException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 7 26: StackMap locals: freemarker.core.Environment freemarker.core.TemplateElement[] freemarker.template.TemplateDirectiveModel java.util.Map java.util.List freemarker.template.TemplateDirectiveBody freemarker.template.TemplateModel[]
StackMap stack: java.lang.Throwable
astore 8
27: aload 6
arraylength
ifle 29
28: aload 0
getfield freemarker.core.Environment.localContextStack:Lfreemarker/core/LocalContextStack;
invokevirtual freemarker.core.LocalContextStack.pop:()V
29: StackMap locals: freemarker.core.Environment freemarker.core.TemplateElement[] freemarker.template.TemplateDirectiveModel java.util.Map java.util.List freemarker.template.TemplateDirectiveBody freemarker.template.TemplateModel[] top java.lang.Throwable
StackMap stack:
aload 8
athrow
30: StackMap locals: freemarker.core.Environment freemarker.core.TemplateElement[] freemarker.template.TemplateDirectiveModel java.util.Map java.util.List freemarker.template.TemplateDirectiveBody freemarker.template.TemplateModel[]
StackMap stack:
aload 6
arraylength
ifle 32
31: aload 0
getfield freemarker.core.Environment.localContextStack:Lfreemarker/core/LocalContextStack;
invokevirtual freemarker.core.LocalContextStack.pop:()V
32: StackMap locals:
StackMap stack:
return
end local 6 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 33 0 this Lfreemarker/core/Environment;
0 33 1 childBuffer [Lfreemarker/core/TemplateElement;
0 33 2 directiveModel Lfreemarker/template/TemplateDirectiveModel;
0 33 3 args Ljava/util/Map;
0 33 4 bodyParameterNames Ljava/util/List;
2 3 5 nested Lfreemarker/template/TemplateDirectiveBody;
4 33 5 nested Lfreemarker/template/TemplateDirectiveBody;
6 7 6 outArgs [Lfreemarker/template/TemplateModel;
8 33 6 outArgs [Lfreemarker/template/TemplateModel;
13 14 7 e Lfreemarker/core/FlowControlException;
15 16 7 e Lfreemarker/template/TemplateException;
17 18 7 e Ljava/io/IOException;
19 26 7 e Ljava/lang/Exception;
Exception table:
from to target type
10 11 12 Class freemarker.core.FlowControlException
10 11 14 Class freemarker.template.TemplateException
10 11 16 Class java.io.IOException
10 11 18 Class java.lang.Exception
10 26 26 any
Exceptions:
throws freemarker.template.TemplateException, java.io.IOException
MethodParameters:
Name Flags
childBuffer final
directiveModel
args
bodyParameterNames final
void visitAndTransform(freemarker.core.TemplateElement[], freemarker.template.TemplateTransformModel, java.util.Map);
descriptor: ([Lfreemarker/core/TemplateElement;Lfreemarker/template/TemplateTransformModel;Ljava/util/Map;)V
flags: (0x0000)
Code:
stack=5, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
aload 0
getfield freemarker.core.Environment.out:Ljava/io/Writer;
aload 3
invokeinterface freemarker.template.TemplateTransformModel.getWriter:(Ljava/io/Writer;Ljava/util/Map;)Ljava/io/Writer;
astore 4
start local 4 1: aload 4
ifnonnull 2
getstatic freemarker.core.Environment.EMPTY_BODY_WRITER:Ljava/io/Writer;
astore 4
2: StackMap locals: java.io.Writer
StackMap stack:
aload 4
instanceof freemarker.template.TransformControl
ifeq 4
3: aload 4
checkcast freemarker.template.TransformControl
goto 5
4: StackMap locals:
StackMap stack:
aconst_null
5: StackMap locals:
StackMap stack: freemarker.template.TransformControl
astore 5
start local 5 6: aload 0
getfield freemarker.core.Environment.out:Ljava/io/Writer;
astore 6
start local 6 7: aload 0
aload 4
putfield freemarker.core.Environment.out:Ljava/io/Writer;
8: aload 5
ifnull 9
aload 5
invokeinterface freemarker.template.TransformControl.onStart:()I
ifeq 42
9: StackMap locals: freemarker.template.TransformControl java.io.Writer
StackMap stack:
aload 0
aload 1
invokevirtual freemarker.core.Environment.visit:([Lfreemarker/core/TemplateElement;)V
10: aload 5
ifnull 42
aload 5
invokeinterface freemarker.template.TransformControl.afterBody:()I
ifeq 9
11: goto 42
StackMap locals:
StackMap stack: java.lang.Throwable
12: astore 7
start local 7 13: aload 5
ifnull 19
14: aload 7
instanceof freemarker.core.FlowControlException
ifeq 17
15: aload 0
invokevirtual freemarker.core.Environment.getConfiguration:()Lfreemarker/template/Configuration;
invokevirtual freemarker.template.Configuration.getIncompatibleImprovements:()Lfreemarker/template/Version;
invokevirtual freemarker.template.Version.intValue:()I
16: getstatic freemarker.template._TemplateAPI.VERSION_INT_2_3_27:I
if_icmpge 19
17: StackMap locals: java.lang.Throwable
StackMap stack:
aload 5
aload 7
invokeinterface freemarker.template.TransformControl.onError:(Ljava/lang/Throwable;)V
18: goto 34
19: StackMap locals:
StackMap stack:
aload 7
athrow
20: StackMap locals:
StackMap stack: freemarker.template.TemplateException
astore 8
start local 8 21: aload 8
athrow
end local 8 22: StackMap locals:
StackMap stack: java.io.IOException
astore 8
start local 8 23: aload 8
athrow
end local 8 24: StackMap locals:
StackMap stack: java.lang.Error
astore 8
start local 8 25: aload 8
athrow
end local 8 26: StackMap locals:
StackMap stack: java.lang.Throwable
astore 8
start local 8 27: aload 8
aload 0
invokestatic freemarker.core.EvalUtil.shouldWrapUncheckedException:(Ljava/lang/Throwable;Lfreemarker/core/Environment;)Z
ifeq 31
28: new freemarker.core._MiscTemplateException
dup
29: aload 8
aload 0
ldc "Transform has thrown an unchecked exception; see the cause exception."
30: invokespecial freemarker.core._MiscTemplateException.<init>:(Ljava/lang/Throwable;Lfreemarker/core/Environment;Ljava/lang/String;)V
athrow
31: StackMap locals: java.lang.Throwable
StackMap stack:
aload 8
instanceof java.lang.RuntimeException
ifeq 33
32: aload 8
checkcast java.lang.RuntimeException
athrow
33: StackMap locals:
StackMap stack:
new freemarker.template.utility.UndeclaredThrowableException
dup
aload 8
invokespecial freemarker.template.utility.UndeclaredThrowableException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 8 end local 7 34: StackMap locals:
StackMap stack:
aload 0
aload 6
putfield freemarker.core.Environment.out:Ljava/io/Writer;
35: aload 6
aload 4
if_acmpeq 48
36: aload 4
invokevirtual java.io.Writer.close:()V
goto 48
37: StackMap locals:
StackMap stack: java.lang.Throwable
astore 9
38: aload 0
aload 6
putfield freemarker.core.Environment.out:Ljava/io/Writer;
39: aload 6
aload 4
if_acmpeq 41
40: aload 4
invokevirtual java.io.Writer.close:()V
41: StackMap locals: freemarker.core.Environment freemarker.core.TemplateElement[] freemarker.template.TemplateTransformModel java.util.Map java.io.Writer freemarker.template.TransformControl java.io.Writer top top java.lang.Throwable
StackMap stack:
aload 9
athrow
42: StackMap locals: freemarker.core.Environment freemarker.core.TemplateElement[] freemarker.template.TemplateTransformModel java.util.Map java.io.Writer freemarker.template.TransformControl java.io.Writer
StackMap stack:
aload 0
aload 6
putfield freemarker.core.Environment.out:Ljava/io/Writer;
43: aload 6
aload 4
if_acmpeq 48
44: aload 4
invokevirtual java.io.Writer.close:()V
end local 6 end local 5 end local 4 45: goto 48
StackMap locals: freemarker.core.Environment freemarker.core.TemplateElement[] freemarker.template.TemplateTransformModel java.util.Map
StackMap stack: freemarker.template.TemplateException
46: astore 4
start local 4 47: aload 0
aload 4
invokevirtual freemarker.core.Environment.handleTemplateException:(Lfreemarker/template/TemplateException;)V
end local 4 48: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 49 0 this Lfreemarker/core/Environment;
0 49 1 elementBuffer [Lfreemarker/core/TemplateElement;
0 49 2 transform Lfreemarker/template/TemplateTransformModel;
0 49 3 args Ljava/util/Map;
1 45 4 tw Ljava/io/Writer;
6 45 5 tc Lfreemarker/template/TransformControl;
7 45 6 prevOut Ljava/io/Writer;
13 34 7 t Ljava/lang/Throwable;
21 22 8 e Lfreemarker/template/TemplateException;
23 24 8 e Ljava/io/IOException;
25 26 8 e Ljava/lang/Error;
27 34 8 e Ljava/lang/Throwable;
47 48 4 te Lfreemarker/template/TemplateException;
Exception table:
from to target type
8 11 12 Class java.lang.Throwable
13 20 20 Class freemarker.template.TemplateException
13 20 22 Class java.io.IOException
13 20 24 Class java.lang.Error
13 20 26 Class java.lang.Throwable
8 34 37 any
0 45 46 Class freemarker.template.TemplateException
Exceptions:
throws freemarker.template.TemplateException, java.io.IOException
MethodParameters:
Name Flags
elementBuffer
transform
args
void visitAttemptRecover(freemarker.core.AttemptBlock, freemarker.core.TemplateElement, freemarker.core.RecoveryBlock);
descriptor: (Lfreemarker/core/AttemptBlock;Lfreemarker/core/TemplateElement;Lfreemarker/core/RecoveryBlock;)V
flags: (0x0000)
Code:
stack=4, locals=11, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield freemarker.core.Environment.out:Ljava/io/Writer;
astore 4
start local 4 1: new java.io.StringWriter
dup
invokespecial java.io.StringWriter.<init>:()V
astore 5
start local 5 2: aload 0
aload 5
putfield freemarker.core.Environment.out:Ljava/io/Writer;
3: aconst_null
astore 6
start local 6 4: aload 0
iconst_0
invokevirtual freemarker.core.Environment.setFastInvalidReferenceExceptions:(Z)Z
istore 7
start local 7 5: aload 0
getfield freemarker.core.Environment.inAttemptBlock:Z
istore 8
start local 8 6: aload 0
iconst_1
putfield freemarker.core.Environment.inAttemptBlock:Z
7: aload 0
aload 2
invokevirtual freemarker.core.Environment.visit:(Lfreemarker/core/TemplateElement;)V
8: goto 19
StackMap locals: freemarker.core.Environment freemarker.core.AttemptBlock freemarker.core.TemplateElement freemarker.core.RecoveryBlock java.io.Writer java.io.StringWriter freemarker.template.TemplateException int int
StackMap stack: freemarker.template.TemplateException
9: astore 9
start local 9 10: aload 9
astore 6
end local 9 11: aload 0
iload 8
putfield freemarker.core.Environment.inAttemptBlock:Z
12: aload 0
iload 7
invokevirtual freemarker.core.Environment.setFastInvalidReferenceExceptions:(Z)Z
pop
13: aload 0
aload 4
putfield freemarker.core.Environment.out:Ljava/io/Writer;
goto 22
14: StackMap locals:
StackMap stack: java.lang.Throwable
astore 10
15: aload 0
iload 8
putfield freemarker.core.Environment.inAttemptBlock:Z
16: aload 0
iload 7
invokevirtual freemarker.core.Environment.setFastInvalidReferenceExceptions:(Z)Z
pop
17: aload 0
aload 4
putfield freemarker.core.Environment.out:Ljava/io/Writer;
18: aload 10
athrow
19: StackMap locals:
StackMap stack:
aload 0
iload 8
putfield freemarker.core.Environment.inAttemptBlock:Z
20: aload 0
iload 7
invokevirtual freemarker.core.Environment.setFastInvalidReferenceExceptions:(Z)Z
pop
21: aload 0
aload 4
putfield freemarker.core.Environment.out:Ljava/io/Writer;
22: StackMap locals:
StackMap stack:
aload 6
ifnull 35
23: getstatic freemarker.core.Environment.ATTEMPT_LOGGER:Lfreemarker/log/Logger;
invokevirtual freemarker.log.Logger.isDebugEnabled:()Z
ifeq 27
24: getstatic freemarker.core.Environment.ATTEMPT_LOGGER:Lfreemarker/log/Logger;
new java.lang.StringBuilder
dup
ldc "Error in attempt block "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
25: aload 1
invokevirtual freemarker.core.AttemptBlock.getStartLocationQuoted:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 6
26: invokevirtual freemarker.log.Logger.debug:(Ljava/lang/String;Ljava/lang/Throwable;)V
27: StackMap locals:
StackMap stack:
aload 0
getfield freemarker.core.Environment.recoveredErrorStack:Ljava/util/ArrayList;
aload 6
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
28: aload 0
aload 3
invokevirtual freemarker.core.Environment.visit:(Lfreemarker/core/TemplateElement;)V
29: goto 33
StackMap locals:
StackMap stack: java.lang.Throwable
30: astore 9
31: aload 0
getfield freemarker.core.Environment.recoveredErrorStack:Ljava/util/ArrayList;
aload 0
getfield freemarker.core.Environment.recoveredErrorStack:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
iconst_1
isub
invokevirtual java.util.ArrayList.remove:(I)Ljava/lang/Object;
pop
32: aload 9
athrow
33: StackMap locals:
StackMap stack:
aload 0
getfield freemarker.core.Environment.recoveredErrorStack:Ljava/util/ArrayList;
aload 0
getfield freemarker.core.Environment.recoveredErrorStack:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
iconst_1
isub
invokevirtual java.util.ArrayList.remove:(I)Ljava/lang/Object;
pop
34: goto 36
35: StackMap locals:
StackMap stack:
aload 0
getfield freemarker.core.Environment.out:Ljava/io/Writer;
aload 5
invokevirtual java.io.StringWriter.toString:()Ljava/lang/String;
invokevirtual java.io.Writer.write:(Ljava/lang/String;)V
36: StackMap locals:
StackMap stack:
return
end local 8 end local 7 end local 6 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 37 0 this Lfreemarker/core/Environment;
0 37 1 attemptBlock Lfreemarker/core/AttemptBlock;
0 37 2 attemptedSection Lfreemarker/core/TemplateElement;
0 37 3 recoverySection Lfreemarker/core/RecoveryBlock;
1 37 4 prevOut Ljava/io/Writer;
2 37 5 sw Ljava/io/StringWriter;
4 37 6 thrownException Lfreemarker/template/TemplateException;
5 37 7 lastFIRE Z
6 37 8 lastInAttemptBlock Z
10 11 9 te Lfreemarker/template/TemplateException;
Exception table:
from to target type
6 8 9 Class freemarker.template.TemplateException
6 11 14 any
27 30 30 any
Exceptions:
throws freemarker.template.TemplateException, java.io.IOException
MethodParameters:
Name Flags
attemptBlock
attemptedSection
recoverySection
java.lang.String getCurrentRecoveredErrorMessage();
descriptor: ()Ljava/lang/String;
flags: (0x0000)
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield freemarker.core.Environment.recoveredErrorStack:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.isEmpty:()Z
ifeq 2
1: new freemarker.core._MiscTemplateException
dup
aload 0
ldc ".error is not available outside of a #recover block"
invokespecial freemarker.core._MiscTemplateException.<init>:(Lfreemarker/core/Environment;Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield freemarker.core.Environment.recoveredErrorStack:Ljava/util/ArrayList;
aload 0
getfield freemarker.core.Environment.recoveredErrorStack:Ljava/util/ArrayList;
invokevirtual java.util.ArrayList.size:()I
iconst_1
isub
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast java.lang.Throwable
invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lfreemarker/core/Environment;
Exceptions:
throws freemarker.template.TemplateException
public boolean isInAttemptBlock();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield freemarker.core.Environment.inAttemptBlock:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/core/Environment;
void invokeNestedContent(freemarker.core.BodyInstruction$Context);
descriptor: (Lfreemarker/core/BodyInstruction$Context;)V
flags: (0x0000)
Code:
stack=3, locals=9, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual freemarker.core.Environment.getCurrentMacroContext:()Lfreemarker/core/Macro$Context;
astore 2
start local 2 1: aload 0
getfield freemarker.core.Environment.localContextStack:Lfreemarker/core/LocalContextStack;
astore 3
start local 3 2: aload 2
getfield freemarker.core.Macro$Context.callPlace:Lfreemarker/core/TemplateObject;
astore 4
start local 4 3: aload 4
instanceof freemarker.core.TemplateElement
ifeq 5
4: aload 4
checkcast freemarker.core.TemplateElement
invokevirtual freemarker.core.TemplateElement.getChildBuffer:()[Lfreemarker/core/TemplateElement;
goto 6
StackMap locals: freemarker.core.Macro$Context freemarker.core.LocalContextStack freemarker.core.TemplateObject
StackMap stack:
5: aconst_null
6: StackMap locals:
StackMap stack: freemarker.core.TemplateElement[]
astore 5
start local 5 7: aload 5
ifnull 41
8: aload 0
aload 2
getfield freemarker.core.Macro$Context.prevMacroContext:Lfreemarker/core/Macro$Context;
putfield freemarker.core.Environment.currentMacroContext:Lfreemarker/core/Macro$Context;
9: aload 0
aload 2
getfield freemarker.core.Macro$Context.nestedContentNamespace:Lfreemarker/core/Environment$Namespace;
putfield freemarker.core.Environment.currentNamespace:Lfreemarker/core/Environment$Namespace;
10: aload 0
invokevirtual freemarker.core.Environment.isBeforeIcI2322:()Z
istore 7
start local 7 11: aload 0
invokevirtual freemarker.core.Environment.getParent:()Lfreemarker/core/Configurable;
astore 6
start local 6 12: iload 7
ifeq 15
13: aload 0
aload 0
getfield freemarker.core.Environment.currentNamespace:Lfreemarker/core/Environment$Namespace;
invokevirtual freemarker.core.Environment$Namespace.getTemplate:()Lfreemarker/template/Template;
invokevirtual freemarker.core.Environment.setParent:(Lfreemarker/core/Configurable;)V
14: goto 16
15: StackMap locals: freemarker.core.TemplateElement[] freemarker.core.Configurable int
StackMap stack:
aload 0
aload 0
getfield freemarker.core.Environment.currentNamespace:Lfreemarker/core/Environment$Namespace;
invokevirtual freemarker.core.Environment$Namespace.getTemplate:()Lfreemarker/template/Template;
putfield freemarker.core.Environment.legacyParent:Lfreemarker/core/Configurable;
16: StackMap locals:
StackMap stack:
aload 0
aload 2
getfield freemarker.core.Macro$Context.prevLocalContextStack:Lfreemarker/core/LocalContextStack;
putfield freemarker.core.Environment.localContextStack:Lfreemarker/core/LocalContextStack;
17: aload 2
getfield freemarker.core.Macro$Context.nestedContentParameterNames:Ljava/util/List;
ifnull 19
18: aload 0
aload 1
invokevirtual freemarker.core.Environment.pushLocalContext:(Lfreemarker/core/LocalContext;)V
19: StackMap locals:
StackMap stack:
aload 0
aload 5
invokevirtual freemarker.core.Environment.visit:([Lfreemarker/core/TemplateElement;)V
20: goto 32
StackMap locals:
StackMap stack: java.lang.Throwable
21: astore 8
22: aload 2
getfield freemarker.core.Macro$Context.nestedContentParameterNames:Ljava/util/List;
ifnull 24
23: aload 0
getfield freemarker.core.Environment.localContextStack:Lfreemarker/core/LocalContextStack;
invokevirtual freemarker.core.LocalContextStack.pop:()V
24: StackMap locals: java.lang.Throwable
StackMap stack:
aload 0
aload 2
putfield freemarker.core.Environment.currentMacroContext:Lfreemarker/core/Macro$Context;
25: aload 0
aload 0
aload 2
invokevirtual freemarker.core.Macro$Context.getMacro:()Lfreemarker/core/Macro;
invokevirtual freemarker.core.Environment.getMacroNamespace:(Lfreemarker/core/Macro;)Lfreemarker/core/Environment$Namespace;
putfield freemarker.core.Environment.currentNamespace:Lfreemarker/core/Environment$Namespace;
26: iload 7
ifeq 29
27: aload 0
aload 6
invokevirtual freemarker.core.Environment.setParent:(Lfreemarker/core/Configurable;)V
28: goto 30
29: StackMap locals:
StackMap stack:
aload 0
aload 6
putfield freemarker.core.Environment.legacyParent:Lfreemarker/core/Configurable;
30: StackMap locals:
StackMap stack:
aload 0
aload 3
putfield freemarker.core.Environment.localContextStack:Lfreemarker/core/LocalContextStack;
31: aload 8
athrow
32: StackMap locals:
StackMap stack:
aload 2
getfield freemarker.core.Macro$Context.nestedContentParameterNames:Ljava/util/List;
ifnull 34
33: aload 0
getfield freemarker.core.Environment.localContextStack:Lfreemarker/core/LocalContextStack;
invokevirtual freemarker.core.LocalContextStack.pop:()V
34: StackMap locals:
StackMap stack:
aload 0
aload 2
putfield freemarker.core.Environment.currentMacroContext:Lfreemarker/core/Macro$Context;
35: aload 0
aload 0
aload 2
invokevirtual freemarker.core.Macro$Context.getMacro:()Lfreemarker/core/Macro;
invokevirtual freemarker.core.Environment.getMacroNamespace:(Lfreemarker/core/Macro;)Lfreemarker/core/Environment$Namespace;
putfield freemarker.core.Environment.currentNamespace:Lfreemarker/core/Environment$Namespace;
36: iload 7
ifeq 39
37: aload 0
aload 6
invokevirtual freemarker.core.Environment.setParent:(Lfreemarker/core/Configurable;)V
38: goto 40
39: StackMap locals:
StackMap stack:
aload 0
aload 6
putfield freemarker.core.Environment.legacyParent:Lfreemarker/core/Configurable;
40: StackMap locals:
StackMap stack:
aload 0
aload 3
putfield freemarker.core.Environment.localContextStack:Lfreemarker/core/LocalContextStack;
end local 7 end local 6 41: StackMap locals:
StackMap stack:
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 42 0 this Lfreemarker/core/Environment;
0 42 1 bodyCtx Lfreemarker/core/BodyInstruction$Context;
1 42 2 invokingMacroContext Lfreemarker/core/Macro$Context;
2 42 3 prevLocalContextStack Lfreemarker/core/LocalContextStack;
3 42 4 callPlace Lfreemarker/core/TemplateObject;
7 42 5 nestedContentBuffer [Lfreemarker/core/TemplateElement;
12 41 6 prevParent Lfreemarker/core/Configurable;
11 41 7 parentReplacementOn Z
Exception table:
from to target type
19 21 21 any
Exceptions:
throws freemarker.template.TemplateException, java.io.IOException
MethodParameters:
Name Flags
bodyCtx
boolean visitIteratorBlock(freemarker.core.IteratorBlock$IterationContext);
descriptor: (Lfreemarker/core/IteratorBlock$IterationContext;)Z
flags: (0x0000)
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual freemarker.core.Environment.pushLocalContext:(Lfreemarker/core/LocalContext;)V
1: aload 1
aload 0
invokevirtual freemarker.core.IteratorBlock$IterationContext.accept:(Lfreemarker/core/Environment;)Z
istore 4
2: aload 0
getfield freemarker.core.Environment.localContextStack:Lfreemarker/core/LocalContextStack;
invokevirtual freemarker.core.LocalContextStack.pop:()V
3: iload 4
ireturn
4: StackMap locals:
StackMap stack: freemarker.template.TemplateException
astore 2
start local 2 5: aload 0
aload 2
invokevirtual freemarker.core.Environment.handleTemplateException:(Lfreemarker/template/TemplateException;)V
6: aload 0
getfield freemarker.core.Environment.localContextStack:Lfreemarker/core/LocalContextStack;
invokevirtual freemarker.core.LocalContextStack.pop:()V
7: iconst_1
ireturn
end local 2 8: StackMap locals:
StackMap stack: java.lang.Throwable
astore 3
9: aload 0
getfield freemarker.core.Environment.localContextStack:Lfreemarker/core/LocalContextStack;
invokevirtual freemarker.core.LocalContextStack.pop:()V
10: aload 3
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lfreemarker/core/Environment;
0 11 1 ictxt Lfreemarker/core/IteratorBlock$IterationContext;
5 8 2 te Lfreemarker/template/TemplateException;
Exception table:
from to target type
1 2 4 Class freemarker.template.TemplateException
1 2 8 any
4 6 8 any
Exceptions:
throws freemarker.template.TemplateException, java.io.IOException
MethodParameters:
Name Flags
ictxt
void invokeNodeHandlerFor(freemarker.template.TemplateNodeModel, freemarker.template.TemplateSequenceModel);
descriptor: (Lfreemarker/template/TemplateNodeModel;Lfreemarker/template/TemplateSequenceModel;)V
flags: (0x0000)
Code:
stack=7, locals=11, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield freemarker.core.Environment.nodeNamespaces:Lfreemarker/template/TemplateSequenceModel;
ifnonnull 4
1: new freemarker.template.SimpleSequence
dup
iconst_1
invokespecial freemarker.template.SimpleSequence.<init>:(I)V
astore 3
start local 3 2: aload 3
aload 0
getfield freemarker.core.Environment.currentNamespace:Lfreemarker/core/Environment$Namespace;
invokevirtual freemarker.template.SimpleSequence.add:(Ljava/lang/Object;)V
3: aload 0
aload 3
putfield freemarker.core.Environment.nodeNamespaces:Lfreemarker/template/TemplateSequenceModel;
end local 3 4: StackMap locals:
StackMap stack:
aload 0
getfield freemarker.core.Environment.nodeNamespaceIndex:I
istore 3
start local 3 5: aload 0
getfield freemarker.core.Environment.currentNodeName:Ljava/lang/String;
astore 4
start local 4 6: aload 0
getfield freemarker.core.Environment.currentNodeNS:Ljava/lang/String;
astore 5
start local 5 7: aload 0
getfield freemarker.core.Environment.nodeNamespaces:Lfreemarker/template/TemplateSequenceModel;
astore 6
start local 6 8: aload 0
getfield freemarker.core.Environment.currentVisitorNode:Lfreemarker/template/TemplateNodeModel;
astore 7
start local 7 9: aload 0
aload 1
putfield freemarker.core.Environment.currentVisitorNode:Lfreemarker/template/TemplateNodeModel;
10: aload 2
ifnull 12
11: aload 0
aload 2
putfield freemarker.core.Environment.nodeNamespaces:Lfreemarker/template/TemplateSequenceModel;
12: StackMap locals: freemarker.core.Environment freemarker.template.TemplateNodeModel freemarker.template.TemplateSequenceModel int java.lang.String java.lang.String freemarker.template.TemplateSequenceModel freemarker.template.TemplateNodeModel
StackMap stack:
aload 0
aload 1
invokevirtual freemarker.core.Environment.getNodeProcessor:(Lfreemarker/template/TemplateNodeModel;)Lfreemarker/template/TemplateModel;
astore 8
start local 8 13: aload 8
instanceof freemarker.core.Macro
ifeq 16
14: aload 0
aload 8
checkcast freemarker.core.Macro
aconst_null
aconst_null
aconst_null
aconst_null
invokevirtual freemarker.core.Environment.invoke:(Lfreemarker/core/Macro;Ljava/util/Map;Ljava/util/List;Ljava/util/List;Lfreemarker/core/TemplateObject;)V
15: goto 43
StackMap locals: freemarker.template.TemplateModel
StackMap stack:
16: aload 8
instanceof freemarker.template.TemplateTransformModel
ifeq 19
17: aload 0
aconst_null
aload 8
checkcast freemarker.template.TemplateTransformModel
aconst_null
invokevirtual freemarker.core.Environment.visitAndTransform:([Lfreemarker/core/TemplateElement;Lfreemarker/template/TemplateTransformModel;Ljava/util/Map;)V
18: goto 43
19: StackMap locals:
StackMap stack:
aload 1
invokeinterface freemarker.template.TemplateNodeModel.getNodeType:()Ljava/lang/String;
astore 9
start local 9 20: aload 9
ifnull 33
21: aload 9
ldc "text"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 24
aload 1
instanceof freemarker.template.TemplateScalarModel
ifeq 24
22: aload 0
getfield freemarker.core.Environment.out:Ljava/io/Writer;
aload 1
checkcast freemarker.template.TemplateScalarModel
invokeinterface freemarker.template.TemplateScalarModel.getAsString:()Ljava/lang/String;
invokevirtual java.io.Writer.write:(Ljava/lang/String;)V
23: goto 43
StackMap locals: java.lang.String
StackMap stack:
24: aload 9
ldc "document"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 27
25: aload 0
aload 1
aload 2
invokevirtual freemarker.core.Environment.recurse:(Lfreemarker/template/TemplateNodeModel;Lfreemarker/template/TemplateSequenceModel;)V
26: goto 43
27: StackMap locals:
StackMap stack:
aload 9
ldc "pi"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 43
28: aload 9
ldc "comment"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 43
29: aload 9
ldc "document_type"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 43
30: new freemarker.core._MiscTemplateException
dup
31: aload 0
aload 0
aload 1
aload 1
invokeinterface freemarker.template.TemplateNodeModel.getNodeNamespace:()Ljava/lang/String;
aload 9
invokevirtual freemarker.core.Environment.noNodeHandlerDefinedDescription:(Lfreemarker/template/TemplateNodeModel;Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/Object;
32: invokespecial freemarker.core._MiscTemplateException.<init>:(Lfreemarker/core/Environment;[Ljava/lang/Object;)V
athrow
33: StackMap locals:
StackMap stack:
new freemarker.core._MiscTemplateException
dup
34: aload 0
aload 0
aload 1
aload 1
invokeinterface freemarker.template.TemplateNodeModel.getNodeNamespace:()Ljava/lang/String;
ldc "default"
invokevirtual freemarker.core.Environment.noNodeHandlerDefinedDescription:(Lfreemarker/template/TemplateNodeModel;Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/Object;
35: invokespecial freemarker.core._MiscTemplateException.<init>:(Lfreemarker/core/Environment;[Ljava/lang/Object;)V
athrow
end local 9 end local 8 36: StackMap locals: freemarker.core.Environment freemarker.template.TemplateNodeModel freemarker.template.TemplateSequenceModel int java.lang.String java.lang.String freemarker.template.TemplateSequenceModel freemarker.template.TemplateNodeModel
StackMap stack: java.lang.Throwable
astore 10
37: aload 0
aload 7
putfield freemarker.core.Environment.currentVisitorNode:Lfreemarker/template/TemplateNodeModel;
38: aload 0
iload 3
putfield freemarker.core.Environment.nodeNamespaceIndex:I
39: aload 0
aload 4
putfield freemarker.core.Environment.currentNodeName:Ljava/lang/String;
40: aload 0
aload 5
putfield freemarker.core.Environment.currentNodeNS:Ljava/lang/String;
41: aload 0
aload 6
putfield freemarker.core.Environment.nodeNamespaces:Lfreemarker/template/TemplateSequenceModel;
42: aload 10
athrow
43: StackMap locals:
StackMap stack:
aload 0
aload 7
putfield freemarker.core.Environment.currentVisitorNode:Lfreemarker/template/TemplateNodeModel;
44: aload 0
iload 3
putfield freemarker.core.Environment.nodeNamespaceIndex:I
45: aload 0
aload 4
putfield freemarker.core.Environment.currentNodeName:Ljava/lang/String;
46: aload 0
aload 5
putfield freemarker.core.Environment.currentNodeNS:Ljava/lang/String;
47: aload 0
aload 6
putfield freemarker.core.Environment.nodeNamespaces:Lfreemarker/template/TemplateSequenceModel;
48: return
end local 7 end local 6 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 49 0 this Lfreemarker/core/Environment;
0 49 1 node Lfreemarker/template/TemplateNodeModel;
0 49 2 namespaces Lfreemarker/template/TemplateSequenceModel;
2 4 3 ss Lfreemarker/template/SimpleSequence;
5 49 3 prevNodeNamespaceIndex I
6 49 4 prevNodeName Ljava/lang/String;
7 49 5 prevNodeNS Ljava/lang/String;
8 49 6 prevNodeNamespaces Lfreemarker/template/TemplateSequenceModel;
9 49 7 prevVisitorNode Lfreemarker/template/TemplateNodeModel;
13 36 8 macroOrTransform Lfreemarker/template/TemplateModel;
20 36 9 nodeType Ljava/lang/String;
Exception table:
from to target type
12 36 36 any
Exceptions:
throws freemarker.template.TemplateException, java.io.IOException
MethodParameters:
Name Flags
node
namespaces
private java.lang.Object[] noNodeHandlerDefinedDescription(freemarker.template.TemplateNodeModel, java.lang.String, java.lang.String);
descriptor: (Lfreemarker/template/TemplateNodeModel;Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
ifnull 6
1: aload 2
invokevirtual java.lang.String.length:()I
ifle 4
2: ldc " and namespace "
astore 4
start local 4 3: goto 8
end local 4 4: StackMap locals:
StackMap stack:
ldc " and no namespace"
astore 4
start local 4 5: goto 8
end local 4 6: StackMap locals:
StackMap stack:
ldc ""
astore 4
start local 4 7: ldc ""
astore 2
8: StackMap locals: java.lang.String
StackMap stack:
bipush 7
anewarray java.lang.Object
dup
iconst_0
ldc "No macro or directive is defined for node named "
aastore
dup
iconst_1
9: new freemarker.core._DelayedJQuote
dup
aload 1
invokeinterface freemarker.template.TemplateNodeModel.getNodeName:()Ljava/lang/String;
invokespecial freemarker.core._DelayedJQuote.<init>:(Ljava/lang/Object;)V
aastore
dup
iconst_2
aload 4
aastore
dup
iconst_3
aload 2
aastore
dup
iconst_4
10: ldc ", and there is no fallback handler called @"
aastore
dup
iconst_5
aload 3
aastore
dup
bipush 6
ldc " either."
aastore
11: areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lfreemarker/core/Environment;
0 12 1 node Lfreemarker/template/TemplateNodeModel;
0 12 2 ns Ljava/lang/String;
0 12 3 nodeType Ljava/lang/String;
3 4 4 nsPrefix Ljava/lang/String;
5 6 4 nsPrefix Ljava/lang/String;
7 12 4 nsPrefix Ljava/lang/String;
Exceptions:
throws freemarker.template.TemplateModelException
MethodParameters:
Name Flags
node
ns
nodeType
void fallback();
descriptor: ()V
flags: (0x0000)
Code:
stack=6, locals=2, args_size=1
start local 0 0: aload 0
aload 0
getfield freemarker.core.Environment.currentNodeName:Ljava/lang/String;
aload 0
getfield freemarker.core.Environment.currentNodeNS:Ljava/lang/String;
aload 0
getfield freemarker.core.Environment.nodeNamespaceIndex:I
invokevirtual freemarker.core.Environment.getNodeProcessor:(Ljava/lang/String;Ljava/lang/String;I)Lfreemarker/template/TemplateModel;
astore 1
start local 1 1: aload 1
instanceof freemarker.core.Macro
ifeq 4
2: aload 0
aload 1
checkcast freemarker.core.Macro
aconst_null
aconst_null
aconst_null
aconst_null
invokevirtual freemarker.core.Environment.invoke:(Lfreemarker/core/Macro;Ljava/util/Map;Ljava/util/List;Ljava/util/List;Lfreemarker/core/TemplateObject;)V
3: goto 6
StackMap locals: freemarker.template.TemplateModel
StackMap stack:
4: aload 1
instanceof freemarker.template.TemplateTransformModel
ifeq 6
5: aload 0
aconst_null
aload 1
checkcast freemarker.template.TemplateTransformModel
aconst_null
invokevirtual freemarker.core.Environment.visitAndTransform:([Lfreemarker/core/TemplateElement;Lfreemarker/template/TemplateTransformModel;Ljava/util/Map;)V
6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lfreemarker/core/Environment;
1 7 1 macroOrTransform Lfreemarker/template/TemplateModel;
Exceptions:
throws freemarker.template.TemplateException, java.io.IOException
void invoke(freemarker.core.Macro, java.util.Map, java.util.List, java.util.List, freemarker.core.TemplateObject);
descriptor: (Lfreemarker/core/Macro;Ljava/util/Map;Ljava/util/List;Ljava/util/List;Lfreemarker/core/TemplateObject;)V
flags: (0x0000)
Code:
stack=6, locals=14, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 1
getstatic freemarker.core.Macro.DO_NOTHING_MACRO:Lfreemarker/core/Macro;
if_acmpne 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield freemarker.core.Environment.incompatibleImprovementsGE2328:Z
ifne 6
3: aload 0
aload 1
invokevirtual freemarker.core.Environment.pushElement:(Lfreemarker/core/TemplateElement;)V
4: iconst_1
istore 6
start local 6 5: goto 7
end local 6 6: StackMap locals:
StackMap stack:
iconst_0
istore 6
start local 6 7: StackMap locals: int
StackMap stack:
new freemarker.core.Macro$Context
dup
aload 1
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
aload 0
aload 5
aload 4
invokespecial freemarker.core.Macro$Context.<init>:(Lfreemarker/core/Macro;Lfreemarker/core/Environment;Lfreemarker/core/TemplateObject;Ljava/util/List;)V
astore 7
start local 7 8: aload 0
aload 7
aload 1
aload 2
aload 3
invokevirtual freemarker.core.Environment.setMacroContextLocalsFromArguments:(Lfreemarker/core/Macro$Context;Lfreemarker/core/Macro;Ljava/util/Map;Ljava/util/List;)V
9: iload 6
ifne 12
10: aload 0
aload 1
invokevirtual freemarker.core.Environment.pushElement:(Lfreemarker/core/TemplateElement;)V
11: iconst_1
istore 6
12: StackMap locals: freemarker.core.Macro$Context
StackMap stack:
aload 0
getfield freemarker.core.Environment.currentMacroContext:Lfreemarker/core/Macro$Context;
astore 8
start local 8 13: aload 0
aload 7
putfield freemarker.core.Environment.currentMacroContext:Lfreemarker/core/Macro$Context;
14: aload 0
getfield freemarker.core.Environment.localContextStack:Lfreemarker/core/LocalContextStack;
astore 9
start local 9 15: aload 0
aconst_null
putfield freemarker.core.Environment.localContextStack:Lfreemarker/core/LocalContextStack;
16: aload 0
getfield freemarker.core.Environment.currentNamespace:Lfreemarker/core/Environment$Namespace;
astore 10
start local 10 17: aload 0
aload 0
getfield freemarker.core.Environment.macroToNamespaceLookup:Ljava/util/HashMap;
aload 1
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast freemarker.core.Environment$Namespace
putfield freemarker.core.Environment.currentNamespace:Lfreemarker/core/Environment$Namespace;
18: aload 7
aload 0
invokevirtual freemarker.core.Macro$Context.sanityCheck:(Lfreemarker/core/Environment;)V
19: aload 0
aload 1
invokevirtual freemarker.core.Macro.getChildBuffer:()[Lfreemarker/core/TemplateElement;
invokevirtual freemarker.core.Environment.visit:([Lfreemarker/core/TemplateElement;)V
20: goto 35
StackMap locals: freemarker.core.Environment freemarker.core.Macro java.util.Map java.util.List java.util.List freemarker.core.TemplateObject int freemarker.core.Macro$Context freemarker.core.Macro$Context freemarker.core.LocalContextStack freemarker.core.Environment$Namespace
StackMap stack: freemarker.core.ReturnInstruction$Return
21: pop
22: aload 0
aload 8
putfield freemarker.core.Environment.currentMacroContext:Lfreemarker/core/Macro$Context;
23: aload 0
aload 9
putfield freemarker.core.Environment.localContextStack:Lfreemarker/core/LocalContextStack;
24: aload 0
aload 10
putfield freemarker.core.Environment.currentNamespace:Lfreemarker/core/Environment$Namespace;
goto 43
25: StackMap locals:
StackMap stack: freemarker.template.TemplateException
astore 11
start local 11 26: aload 0
aload 11
invokevirtual freemarker.core.Environment.handleTemplateException:(Lfreemarker/template/TemplateException;)V
end local 11 27: aload 0
aload 8
putfield freemarker.core.Environment.currentMacroContext:Lfreemarker/core/Macro$Context;
28: aload 0
aload 9
putfield freemarker.core.Environment.localContextStack:Lfreemarker/core/LocalContextStack;
29: aload 0
aload 10
putfield freemarker.core.Environment.currentNamespace:Lfreemarker/core/Environment$Namespace;
goto 43
30: StackMap locals:
StackMap stack: java.lang.Throwable
astore 12
31: aload 0
aload 8
putfield freemarker.core.Environment.currentMacroContext:Lfreemarker/core/Macro$Context;
32: aload 0
aload 9
putfield freemarker.core.Environment.localContextStack:Lfreemarker/core/LocalContextStack;
33: aload 0
aload 10
putfield freemarker.core.Environment.currentNamespace:Lfreemarker/core/Environment$Namespace;
34: aload 12
athrow
35: StackMap locals:
StackMap stack:
aload 0
aload 8
putfield freemarker.core.Environment.currentMacroContext:Lfreemarker/core/Macro$Context;
36: aload 0
aload 9
putfield freemarker.core.Environment.localContextStack:Lfreemarker/core/LocalContextStack;
37: aload 0
aload 10
putfield freemarker.core.Environment.currentNamespace:Lfreemarker/core/Environment$Namespace;
end local 10 end local 9 end local 8 end local 7 38: goto 43
StackMap locals: freemarker.core.Environment freemarker.core.Macro java.util.Map java.util.List java.util.List freemarker.core.TemplateObject int
StackMap stack: java.lang.Throwable
39: astore 13
40: iload 6
ifeq 42
41: aload 0
invokevirtual freemarker.core.Environment.popElement:()V
42: StackMap locals: freemarker.core.Environment freemarker.core.Macro java.util.Map java.util.List java.util.List freemarker.core.TemplateObject int top top top top top top java.lang.Throwable
StackMap stack:
aload 13
athrow
43: StackMap locals: freemarker.core.Environment freemarker.core.Macro java.util.Map java.util.List java.util.List freemarker.core.TemplateObject int
StackMap stack:
iload 6
ifeq 45
44: aload 0
invokevirtual freemarker.core.Environment.popElement:()V
45: StackMap locals:
StackMap stack:
return
end local 6 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 46 0 this Lfreemarker/core/Environment;
0 46 1 macro Lfreemarker/core/Macro;
0 46 2 namedArgs Ljava/util/Map;
0 46 3 positionalArgs Ljava/util/List;
0 46 4 bodyParameterNames Ljava/util/List;
0 46 5 callPlace Lfreemarker/core/TemplateObject;
5 6 6 elementPushed Z
7 46 6 elementPushed Z
8 38 7 macroCtx Lfreemarker/core/Macro$Context;
13 38 8 prevMacroCtx Lfreemarker/core/Macro$Context;
15 38 9 prevLocalContextStack Lfreemarker/core/LocalContextStack;
17 38 10 prevNamespace Lfreemarker/core/Environment$Namespace;
26 27 11 te Lfreemarker/template/TemplateException;
Exception table:
from to target type
18 20 21 Class freemarker.core.ReturnInstruction$Return
18 20 25 Class freemarker.template.TemplateException
18 22 30 any
25 27 30 any
7 39 39 any
Exceptions:
throws freemarker.template.TemplateException, java.io.IOException
MethodParameters:
Name Flags
macro
namedArgs
positionalArgs
bodyParameterNames
callPlace
private void setMacroContextLocalsFromArguments(freemarker.core.Macro$Context, freemarker.core.Macro, java.util.Map, java.util.List);
descriptor: (Lfreemarker/core/Macro$Context;Lfreemarker/core/Macro;Ljava/util/Map;Ljava/util/List;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=13, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 2
invokevirtual freemarker.core.Macro.getCatchAll:()Ljava/lang/String;
astore 5
start local 5 1: aload 3
ifnull 28
2: aload 5
ifnull 6
3: new freemarker.template.SimpleHash
dup
aconst_null
invokespecial freemarker.template.SimpleHash.<init>:(Lfreemarker/template/ObjectWrapper;)V
astore 6
start local 6 4: aload 1
aload 5
aload 6
invokevirtual freemarker.core.Macro$Context.setLocalVar:(Ljava/lang/String;Lfreemarker/template/TemplateModel;)V
5: goto 7
end local 6 6: StackMap locals: java.lang.String
StackMap stack:
aconst_null
astore 6
start local 6 7: StackMap locals: freemarker.template.SimpleHash
StackMap stack:
aload 3
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 7
start local 7 8: goto 26
9: StackMap locals: java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 8
start local 8 10: aload 8
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
astore 9
start local 9 11: aload 2
aload 9
invokevirtual freemarker.core.Macro.hasArgNamed:(Ljava/lang/String;)Z
istore 10
start local 10 12: iload 10
ifne 13
aload 5
ifnull 20
13: StackMap locals: java.util.Map$Entry java.lang.String int
StackMap stack:
aload 8
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast freemarker.core.Expression
astore 11
start local 11 14: aload 11
aload 0
invokevirtual freemarker.core.Expression.eval:(Lfreemarker/core/Environment;)Lfreemarker/template/TemplateModel;
astore 12
start local 12 15: iload 10
ifeq 18
16: aload 1
aload 9
aload 12
invokevirtual freemarker.core.Macro$Context.setLocalVar:(Ljava/lang/String;Lfreemarker/template/TemplateModel;)V
17: goto 26
18: StackMap locals: freemarker.core.Expression freemarker.template.TemplateModel
StackMap stack:
aload 6
aload 9
aload 12
invokevirtual freemarker.template.SimpleHash.put:(Ljava/lang/String;Ljava/lang/Object;)V
end local 12 end local 11 19: goto 26
20: StackMap locals:
StackMap stack:
new freemarker.core._MiscTemplateException
dup
aload 0
iconst_5
anewarray java.lang.Object
dup
iconst_0
21: aload 2
invokevirtual freemarker.core.Macro.isFunction:()Z
ifeq 22
ldc "Function "
goto 23
StackMap locals: freemarker.core.Environment freemarker.core.Macro$Context freemarker.core.Macro java.util.Map java.util.List java.lang.String freemarker.template.SimpleHash java.util.Iterator java.util.Map$Entry java.lang.String int
StackMap stack: new 20 new 20 freemarker.core.Environment java.lang.Object[] java.lang.Object[] int
22: ldc "Macro "
StackMap locals: freemarker.core.Environment freemarker.core.Macro$Context freemarker.core.Macro java.util.Map java.util.List java.lang.String freemarker.template.SimpleHash java.util.Iterator java.util.Map$Entry java.lang.String int
StackMap stack: new 20 new 20 freemarker.core.Environment java.lang.Object[] java.lang.Object[] int java.lang.String
23: aastore
dup
iconst_1
new freemarker.core._DelayedJQuote
dup
aload 2
invokevirtual freemarker.core.Macro.getName:()Ljava/lang/String;
invokespecial freemarker.core._DelayedJQuote.<init>:(Ljava/lang/Object;)V
aastore
dup
iconst_2
24: ldc " has no parameter with name "
aastore
dup
iconst_3
new freemarker.core._DelayedJQuote
dup
aload 9
invokespecial freemarker.core._DelayedJQuote.<init>:(Ljava/lang/Object;)V
aastore
dup
iconst_4
ldc "."
25: aastore
invokespecial freemarker.core._MiscTemplateException.<init>:(Lfreemarker/core/Environment;[Ljava/lang/Object;)V
athrow
end local 10 end local 9 end local 8 26: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 9
end local 7 end local 6 27: goto 58
StackMap locals:
StackMap stack:
28: aload 4
ifnull 58
29: aload 5
ifnull 33
30: new freemarker.template.SimpleSequence
dup
aconst_null
invokespecial freemarker.template.SimpleSequence.<init>:(Lfreemarker/template/ObjectWrapper;)V
astore 6
start local 6 31: aload 1
aload 5
aload 6
invokevirtual freemarker.core.Macro$Context.setLocalVar:(Ljava/lang/String;Lfreemarker/template/TemplateModel;)V
32: goto 34
end local 6 33: StackMap locals:
StackMap stack:
aconst_null
astore 6
start local 6 34: StackMap locals: freemarker.template.SimpleSequence
StackMap stack:
aload 2
invokevirtual freemarker.core.Macro.getArgumentNamesInternal:()[Ljava/lang/String;
astore 7
start local 7 35: aload 4
invokeinterface java.util.List.size:()I
istore 8
start local 8 36: aload 7
arraylength
iload 8
if_icmpge 44
aload 5
ifnonnull 44
37: new freemarker.core._MiscTemplateException
dup
aload 0
bipush 7
anewarray java.lang.Object
dup
iconst_0
38: aload 2
invokevirtual freemarker.core.Macro.isFunction:()Z
ifeq 39
ldc "Function "
goto 40
StackMap locals: freemarker.core.Environment freemarker.core.Macro$Context freemarker.core.Macro java.util.Map java.util.List java.lang.String freemarker.template.SimpleSequence java.lang.String[] int
StackMap stack: new 37 new 37 freemarker.core.Environment java.lang.Object[] java.lang.Object[] int
39: ldc "Macro "
StackMap locals: freemarker.core.Environment freemarker.core.Macro$Context freemarker.core.Macro java.util.Map java.util.List java.lang.String freemarker.template.SimpleSequence java.lang.String[] int
StackMap stack: new 37 new 37 freemarker.core.Environment java.lang.Object[] java.lang.Object[] int java.lang.String
40: aastore
dup
iconst_1
new freemarker.core._DelayedJQuote
dup
aload 2
invokevirtual freemarker.core.Macro.getName:()Ljava/lang/String;
invokespecial freemarker.core._DelayedJQuote.<init>:(Ljava/lang/Object;)V
aastore
dup
iconst_2
41: ldc " only accepts "
aastore
dup
iconst_3
new freemarker.core._DelayedToString
dup
aload 7
arraylength
invokespecial freemarker.core._DelayedToString.<init>:(I)V
aastore
dup
iconst_4
ldc " parameters, but got "
aastore
dup
iconst_5
42: new freemarker.core._DelayedToString
dup
iload 8
invokespecial freemarker.core._DelayedToString.<init>:(I)V
aastore
dup
bipush 6
ldc "."
43: aastore
invokespecial freemarker.core._MiscTemplateException.<init>:(Lfreemarker/core/Environment;[Ljava/lang/Object;)V
athrow
44: StackMap locals:
StackMap stack:
iconst_0
istore 9
start local 9 45: goto 57
46: StackMap locals: int
StackMap stack:
aload 4
iload 9
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast freemarker.core.Expression
astore 10
start local 10 47: aload 10
aload 0
invokevirtual freemarker.core.Expression.eval:(Lfreemarker/core/Environment;)Lfreemarker/template/TemplateModel;
astore 11
start local 11 48: iload 9
aload 7
arraylength
if_icmpge 52
49: aload 7
iload 9
aaload
astore 12
start local 12 50: aload 1
aload 12
aload 11
invokevirtual freemarker.core.Macro$Context.setLocalVar:(Ljava/lang/String;Lfreemarker/template/TemplateModel;)V
end local 12 51: goto 56
52: StackMap locals: freemarker.core.Expression freemarker.template.TemplateModel
StackMap stack:
aload 6
aload 11
invokevirtual freemarker.template.SimpleSequence.add:(Ljava/lang/Object;)V
53: goto 56
StackMap locals:
StackMap stack: java.lang.RuntimeException
54: astore 12
start local 12 55: new freemarker.core._MiscTemplateException
dup
aload 12
aload 0
invokespecial freemarker.core._MiscTemplateException.<init>:(Ljava/lang/Throwable;Lfreemarker/core/Environment;)V
athrow
end local 12 end local 11 end local 10 56: StackMap locals:
StackMap stack:
iinc 9 1
StackMap locals:
StackMap stack:
57: iload 9
iload 8
if_icmplt 46
end local 9 end local 8 end local 7 end local 6 58: StackMap locals: freemarker.core.Environment freemarker.core.Macro$Context freemarker.core.Macro java.util.Map java.util.List java.lang.String
StackMap stack:
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 59 0 this Lfreemarker/core/Environment;
0 59 1 macroCtx Lfreemarker/core/Macro$Context;
0 59 2 macro Lfreemarker/core/Macro;
0 59 3 namedArgs Ljava/util/Map;
0 59 4 positionalArgs Ljava/util/List;
1 59 5 catchAllParamName Ljava/lang/String;
4 6 6 catchAllParamValue Lfreemarker/template/SimpleHash;
7 27 6 catchAllParamValue Lfreemarker/template/SimpleHash;
8 27 7 it Ljava/util/Iterator;
10 26 8 argNameAndValExp Ljava/util/Map$Entry;
11 26 9 argName Ljava/lang/String;
12 26 10 isArgNameDeclared Z
14 19 11 argValueExp Lfreemarker/core/Expression;
15 19 12 argValue Lfreemarker/template/TemplateModel;
31 33 6 catchAllParamValue Lfreemarker/template/SimpleSequence;
34 58 6 catchAllParamValue Lfreemarker/template/SimpleSequence;
35 58 7 argNames [Ljava/lang/String;
36 58 8 argsCnt I
45 58 9 i I
47 56 10 argValueExp Lfreemarker/core/Expression;
48 56 11 argValue Lfreemarker/template/TemplateModel;
50 51 12 argName Ljava/lang/String;
55 56 12 re Ljava/lang/RuntimeException;
Exception table:
from to target type
48 53 54 Class java.lang.RuntimeException
Exceptions:
throws freemarker.template.TemplateException, freemarker.core._MiscTemplateException
MethodParameters:
Name Flags
macroCtx final
macro final
namedArgs final
positionalArgs final
void visitMacroDef(freemarker.core.Macro);
descriptor: (Lfreemarker/core/Macro;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield freemarker.core.Environment.macroToNamespaceLookup:Ljava/util/HashMap;
aload 1
aload 0
getfield freemarker.core.Environment.currentNamespace:Lfreemarker/core/Environment$Namespace;
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 0
getfield freemarker.core.Environment.currentNamespace:Lfreemarker/core/Environment$Namespace;
aload 1
invokevirtual freemarker.core.Macro.getName:()Ljava/lang/String;
aload 1
invokevirtual freemarker.core.Environment$Namespace.put:(Ljava/lang/String;Ljava/lang/Object;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lfreemarker/core/Environment;
0 3 1 macro Lfreemarker/core/Macro;
MethodParameters:
Name Flags
macro
freemarker.core.Environment$Namespace getMacroNamespace(freemarker.core.Macro);
descriptor: (Lfreemarker/core/Macro;)Lfreemarker/core/Environment$Namespace;
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield freemarker.core.Environment.macroToNamespaceLookup:Ljava/util/HashMap;
aload 1
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast freemarker.core.Environment$Namespace
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/core/Environment;
0 1 1 macro Lfreemarker/core/Macro;
MethodParameters:
Name Flags
macro
void recurse(freemarker.template.TemplateNodeModel, freemarker.template.TemplateSequenceModel);
descriptor: (Lfreemarker/template/TemplateNodeModel;Lfreemarker/template/TemplateSequenceModel;)V
flags: (0x0000)
Code:
stack=3, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnonnull 6
1: aload 0
invokevirtual freemarker.core.Environment.getCurrentVisitorNode:()Lfreemarker/template/TemplateNodeModel;
astore 1
2: aload 1
ifnonnull 6
3: new freemarker.core._TemplateModelException
dup
4: ldc "The target node of recursion is missing or null."
5: invokespecial freemarker.core._TemplateModelException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 1
invokeinterface freemarker.template.TemplateNodeModel.getChildNodes:()Lfreemarker/template/TemplateSequenceModel;
astore 3
start local 3 7: aload 3
ifnonnull 9
8: return
9: StackMap locals: freemarker.template.TemplateSequenceModel
StackMap stack:
aload 3
invokeinterface freemarker.template.TemplateSequenceModel.size:()I
istore 4
start local 4 10: iconst_0
istore 5
start local 5 11: goto 16
12: StackMap locals: int int
StackMap stack:
aload 3
iload 5
invokeinterface freemarker.template.TemplateSequenceModel.get:(I)Lfreemarker/template/TemplateModel;
checkcast freemarker.template.TemplateNodeModel
astore 6
start local 6 13: aload 6
ifnull 15
14: aload 0
aload 6
aload 2
invokevirtual freemarker.core.Environment.invokeNodeHandlerFor:(Lfreemarker/template/TemplateNodeModel;Lfreemarker/template/TemplateSequenceModel;)V
end local 6 15: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
16: iload 5
iload 4
if_icmplt 12
end local 5 17: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lfreemarker/core/Environment;
0 18 1 node Lfreemarker/template/TemplateNodeModel;
0 18 2 namespaces Lfreemarker/template/TemplateSequenceModel;
7 18 3 children Lfreemarker/template/TemplateSequenceModel;
10 18 4 size I
11 17 5 i I
13 15 6 child Lfreemarker/template/TemplateNodeModel;
Exceptions:
throws freemarker.template.TemplateException, java.io.IOException
MethodParameters:
Name Flags
node
namespaces
freemarker.core.Macro$Context getCurrentMacroContext();
descriptor: ()Lfreemarker/core/Macro$Context;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield freemarker.core.Environment.currentMacroContext:Lfreemarker/core/Macro$Context;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/core/Environment;
private void handleTemplateException(freemarker.template.TemplateException);
descriptor: (Lfreemarker/template/TemplateException;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 1
instanceof freemarker.template.TemplateModelException
ifeq 4
1: aload 1
checkcast freemarker.template.TemplateModelException
invokevirtual freemarker.template.TemplateModelException.getReplaceWithCause:()Z
ifeq 4
2: aload 1
invokevirtual freemarker.template.TemplateException.getCause:()Ljava/lang/Throwable;
instanceof freemarker.template.TemplateException
ifeq 4
3: aload 1
invokevirtual freemarker.template.TemplateException.getCause:()Ljava/lang/Throwable;
checkcast freemarker.template.TemplateException
astore 1
4: StackMap locals:
StackMap stack:
aload 0
getfield freemarker.core.Environment.lastThrowable:Ljava/lang/Throwable;
aload 1
if_acmpne 6
5: aload 1
athrow
6: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield freemarker.core.Environment.lastThrowable:Ljava/lang/Throwable;
7: aload 0
invokevirtual freemarker.core.Environment.getLogTemplateExceptions:()Z
ifeq 10
getstatic freemarker.core.Environment.LOG:Lfreemarker/log/Logger;
invokevirtual freemarker.log.Logger.isErrorEnabled:()Z
ifeq 10
8: aload 0
invokevirtual freemarker.core.Environment.isInAttemptBlock:()Z
ifne 10
9: getstatic freemarker.core.Environment.LOG:Lfreemarker/log/Logger;
ldc "Error executing FreeMarker template"
aload 1
invokevirtual freemarker.log.Logger.error:(Ljava/lang/String;Ljava/lang/Throwable;)V
10: StackMap locals:
StackMap stack:
aload 1
instanceof freemarker.core.StopException
ifeq 12
11: aload 1
athrow
12: StackMap locals:
StackMap stack:
aload 0
invokevirtual freemarker.core.Environment.getTemplateExceptionHandler:()Lfreemarker/template/TemplateExceptionHandler;
aload 1
aload 0
aload 0
getfield freemarker.core.Environment.out:Ljava/io/Writer;
invokeinterface freemarker.template.TemplateExceptionHandler.handleTemplateException:(Lfreemarker/template/TemplateException;Lfreemarker/core/Environment;Ljava/io/Writer;)V
13: goto 18
StackMap locals:
StackMap stack: freemarker.template.TemplateException
14: astore 2
start local 2 15: aload 0
invokevirtual freemarker.core.Environment.isInAttemptBlock:()Z
ifeq 17
16: aload 0
invokevirtual freemarker.core.Environment.getAttemptExceptionReporter:()Lfreemarker/template/AttemptExceptionReporter;
aload 1
aload 0
invokeinterface freemarker.template.AttemptExceptionReporter.report:(Lfreemarker/template/TemplateException;Lfreemarker/core/Environment;)V
17: StackMap locals: freemarker.template.TemplateException
StackMap stack:
aload 2
athrow
end local 2 18: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lfreemarker/core/Environment;
0 19 1 templateException Lfreemarker/template/TemplateException;
15 18 2 e Lfreemarker/template/TemplateException;
Exception table:
from to target type
10 13 14 Class freemarker.template.TemplateException
Exceptions:
throws freemarker.template.TemplateException
MethodParameters:
Name Flags
templateException
public void setTemplateExceptionHandler(freemarker.template.TemplateExceptionHandler);
descriptor: (Lfreemarker/template/TemplateExceptionHandler;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial freemarker.core.Configurable.setTemplateExceptionHandler:(Lfreemarker/template/TemplateExceptionHandler;)V
1: aload 0
aconst_null
putfield freemarker.core.Environment.lastThrowable:Ljava/lang/Throwable;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lfreemarker/core/Environment;
0 3 1 templateExceptionHandler Lfreemarker/template/TemplateExceptionHandler;
MethodParameters:
Name Flags
templateExceptionHandler
public void setLocale(java.util.Locale);
descriptor: (Ljava/util/Locale;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual freemarker.core.Environment.getLocale:()Ljava/util/Locale;
astore 2
start local 2 1: aload 0
aload 1
invokespecial freemarker.core.Configurable.setLocale:(Ljava/util/Locale;)V
2: aload 1
aload 2
invokevirtual java.util.Locale.equals:(Ljava/lang/Object;)Z
ifne 16
3: aload 0
aconst_null
putfield freemarker.core.Environment.cachedTemplateNumberFormats:Ljava/util/Map;
4: aload 0
getfield freemarker.core.Environment.cachedTemplateNumberFormat:Lfreemarker/core/TemplateNumberFormat;
ifnull 6
aload 0
getfield freemarker.core.Environment.cachedTemplateNumberFormat:Lfreemarker/core/TemplateNumberFormat;
invokevirtual freemarker.core.TemplateNumberFormat.isLocaleBound:()Z
ifeq 6
5: aload 0
aconst_null
putfield freemarker.core.Environment.cachedTemplateNumberFormat:Lfreemarker/core/TemplateNumberFormat;
6: StackMap locals: java.util.Locale
StackMap stack:
aload 0
getfield freemarker.core.Environment.cachedTempDateFormatArray:[Lfreemarker/core/TemplateDateFormat;
ifnull 14
7: iconst_0
istore 3
start local 3 8: goto 13
9: StackMap locals: int
StackMap stack:
aload 0
getfield freemarker.core.Environment.cachedTempDateFormatArray:[Lfreemarker/core/TemplateDateFormat;
iload 3
aaload
astore 4
start local 4 10: aload 4
ifnull 12
aload 4
invokevirtual freemarker.core.TemplateDateFormat.isLocaleBound:()Z
ifeq 12
11: aload 0
getfield freemarker.core.Environment.cachedTempDateFormatArray:[Lfreemarker/core/TemplateDateFormat;
iload 3
aconst_null
aastore
end local 4 12: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
13: iload 3
bipush 16
if_icmplt 9
end local 3 14: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield freemarker.core.Environment.cachedTempDateFormatsByFmtStrArray:[Ljava/util/HashMap;
15: aload 0
aconst_null
putfield freemarker.core.Environment.cachedCollator:Ljava/text/Collator;
16: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lfreemarker/core/Environment;
0 17 1 locale Ljava/util/Locale;
1 17 2 prevLocale Ljava/util/Locale;
8 14 3 i I
10 12 4 f Lfreemarker/core/TemplateDateFormat;
MethodParameters:
Name Flags
locale
public void setTimeZone(java.util.TimeZone);
descriptor: (Ljava/util/TimeZone;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual freemarker.core.Environment.getTimeZone:()Ljava/util/TimeZone;
astore 2
start local 2 1: aload 0
aload 1
invokespecial freemarker.core.Configurable.setTimeZone:(Ljava/util/TimeZone;)V
2: aload 1
aload 2
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 18
3: aload 0
getfield freemarker.core.Environment.cachedTempDateFormatArray:[Lfreemarker/core/TemplateDateFormat;
ifnull 11
4: iconst_0
istore 3
start local 3 5: goto 10
6: StackMap locals: java.util.TimeZone int
StackMap stack:
aload 0
getfield freemarker.core.Environment.cachedTempDateFormatArray:[Lfreemarker/core/TemplateDateFormat;
iload 3
aaload
astore 4
start local 4 7: aload 4
ifnull 9
aload 4
invokevirtual freemarker.core.TemplateDateFormat.isTimeZoneBound:()Z
ifeq 9
8: aload 0
getfield freemarker.core.Environment.cachedTempDateFormatArray:[Lfreemarker/core/TemplateDateFormat;
iload 3
aconst_null
aastore
end local 4 9: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
10: iload 3
bipush 8
if_icmplt 6
end local 3 11: StackMap locals:
StackMap stack:
aload 0
getfield freemarker.core.Environment.cachedTempDateFormatsByFmtStrArray:[Ljava/util/HashMap;
ifnull 17
12: iconst_0
istore 3
start local 3 13: goto 16
14: StackMap locals: int
StackMap stack:
aload 0
getfield freemarker.core.Environment.cachedTempDateFormatsByFmtStrArray:[Ljava/util/HashMap;
iload 3
aconst_null
aastore
15: iinc 3 1
StackMap locals:
StackMap stack:
16: iload 3
bipush 8
if_icmplt 14
end local 3 17: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield freemarker.core.Environment.cachedSQLDateAndTimeTimeZoneSameAsNormal:Ljava/lang/Boolean;
18: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lfreemarker/core/Environment;
0 19 1 timeZone Ljava/util/TimeZone;
1 19 2 prevTimeZone Ljava/util/TimeZone;
5 11 3 i I
7 9 4 f Lfreemarker/core/TemplateDateFormat;
13 17 3 i I
MethodParameters:
Name Flags
timeZone
public void setSQLDateAndTimeTimeZone(java.util.TimeZone);
descriptor: (Ljava/util/TimeZone;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual freemarker.core.Environment.getSQLDateAndTimeTimeZone:()Ljava/util/TimeZone;
astore 2
start local 2 1: aload 0
aload 1
invokespecial freemarker.core.Configurable.setSQLDateAndTimeTimeZone:(Ljava/util/TimeZone;)V
2: aload 1
aload 2
invokestatic freemarker.core.Environment.nullSafeEquals:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifne 18
3: aload 0
getfield freemarker.core.Environment.cachedTempDateFormatArray:[Lfreemarker/core/TemplateDateFormat;
ifnull 11
4: bipush 8
istore 3
start local 3 5: goto 10
6: StackMap locals: java.util.TimeZone int
StackMap stack:
aload 0
getfield freemarker.core.Environment.cachedTempDateFormatArray:[Lfreemarker/core/TemplateDateFormat;
iload 3
aaload
astore 4
start local 4 7: aload 4
ifnull 9
aload 4
invokevirtual freemarker.core.TemplateDateFormat.isTimeZoneBound:()Z
ifeq 9
8: aload 0
getfield freemarker.core.Environment.cachedTempDateFormatArray:[Lfreemarker/core/TemplateDateFormat;
iload 3
aconst_null
aastore
end local 4 9: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
10: iload 3
bipush 16
if_icmplt 6
end local 3 11: StackMap locals:
StackMap stack:
aload 0
getfield freemarker.core.Environment.cachedTempDateFormatsByFmtStrArray:[Ljava/util/HashMap;
ifnull 17
12: bipush 8
istore 3
start local 3 13: goto 16
14: StackMap locals: int
StackMap stack:
aload 0
getfield freemarker.core.Environment.cachedTempDateFormatsByFmtStrArray:[Ljava/util/HashMap;
iload 3
aconst_null
aastore
15: iinc 3 1
StackMap locals:
StackMap stack:
16: iload 3
bipush 16
if_icmplt 14
end local 3 17: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield freemarker.core.Environment.cachedSQLDateAndTimeTimeZoneSameAsNormal:Ljava/lang/Boolean;
18: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lfreemarker/core/Environment;
0 19 1 timeZone Ljava/util/TimeZone;
1 19 2 prevTimeZone Ljava/util/TimeZone;
5 11 3 i I
7 9 4 format Lfreemarker/core/TemplateDateFormat;
13 17 3 i I
MethodParameters:
Name Flags
timeZone
private static boolean nullSafeEquals(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
if_acmpne 1
iconst_1
ireturn
1: StackMap locals:
StackMap stack:
aload 0
ifnull 2
aload 1
ifnonnull 3
StackMap locals:
StackMap stack:
2: iconst_0
ireturn
3: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 o1 Ljava/lang/Object;
0 4 1 o2 Ljava/lang/Object;
MethodParameters:
Name Flags
o1
o2
boolean isSQLDateAndTimeTimeZoneSameAsNormal();
descriptor: ()Z
flags: (0x0000)
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield freemarker.core.Environment.cachedSQLDateAndTimeTimeZoneSameAsNormal:Ljava/lang/Boolean;
ifnonnull 6
1: aload 0
2: aload 0
invokevirtual freemarker.core.Environment.getSQLDateAndTimeTimeZone:()Ljava/util/TimeZone;
ifnull 4
3: aload 0
invokevirtual freemarker.core.Environment.getSQLDateAndTimeTimeZone:()Ljava/util/TimeZone;
aload 0
invokevirtual freemarker.core.Environment.getTimeZone:()Ljava/util/TimeZone;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 4
iconst_0
goto 5
StackMap locals:
StackMap stack: freemarker.core.Environment
4: iconst_1
5: StackMap locals: freemarker.core.Environment
StackMap stack: freemarker.core.Environment int
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
putfield freemarker.core.Environment.cachedSQLDateAndTimeTimeZoneSameAsNormal:Ljava/lang/Boolean;
6: StackMap locals:
StackMap stack:
aload 0
getfield freemarker.core.Environment.cachedSQLDateAndTimeTimeZoneSameAsNormal:Ljava/lang/Boolean;
invokevirtual java.lang.Boolean.booleanValue:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lfreemarker/core/Environment;
public void setURLEscapingCharset(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iconst_0
putfield freemarker.core.Environment.cachedURLEscapingCharsetSet:Z
1: aload 0
aload 1
invokespecial freemarker.core.Configurable.setURLEscapingCharset:(Ljava/lang/String;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lfreemarker/core/Environment;
0 3 1 urlEscapingCharset Ljava/lang/String;
MethodParameters:
Name Flags
urlEscapingCharset
public void setOutputEncoding(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iconst_0
putfield freemarker.core.Environment.cachedURLEscapingCharsetSet:Z
1: aload 0
aload 1
invokespecial freemarker.core.Configurable.setOutputEncoding:(Ljava/lang/String;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lfreemarker/core/Environment;
0 3 1 outputEncoding Ljava/lang/String;
MethodParameters:
Name Flags
outputEncoding
java.lang.String getEffectiveURLEscapingCharset();
descriptor: ()Ljava/lang/String;
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield freemarker.core.Environment.cachedURLEscapingCharsetSet:Z
ifne 5
1: aload 0
aload 0
invokevirtual freemarker.core.Environment.getURLEscapingCharset:()Ljava/lang/String;
putfield freemarker.core.Environment.cachedURLEscapingCharset:Ljava/lang/String;
2: aload 0
getfield freemarker.core.Environment.cachedURLEscapingCharset:Ljava/lang/String;
ifnonnull 4
3: aload 0
aload 0
invokevirtual freemarker.core.Environment.getOutputEncoding:()Ljava/lang/String;
putfield freemarker.core.Environment.cachedURLEscapingCharset:Ljava/lang/String;
4: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield freemarker.core.Environment.cachedURLEscapingCharsetSet:Z
5: StackMap locals:
StackMap stack:
aload 0
getfield freemarker.core.Environment.cachedURLEscapingCharset:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lfreemarker/core/Environment;
java.text.Collator getCollator();
descriptor: ()Ljava/text/Collator;
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield freemarker.core.Environment.cachedCollator:Ljava/text/Collator;
ifnonnull 2
1: aload 0
aload 0
invokevirtual freemarker.core.Environment.getLocale:()Ljava/util/Locale;
invokestatic java.text.Collator.getInstance:(Ljava/util/Locale;)Ljava/text/Collator;
putfield freemarker.core.Environment.cachedCollator:Ljava/text/Collator;
2: StackMap locals:
StackMap stack:
aload 0
getfield freemarker.core.Environment.cachedCollator:Ljava/text/Collator;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lfreemarker/core/Environment;
public boolean applyEqualsOperator(freemarker.template.TemplateModel, freemarker.template.TemplateModel);
descriptor: (Lfreemarker/template/TemplateModel;Lfreemarker/template/TemplateModel;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
iconst_1
aload 2
aload 0
invokestatic freemarker.core.EvalUtil.compare:(Lfreemarker/template/TemplateModel;ILfreemarker/template/TemplateModel;Lfreemarker/core/Environment;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/core/Environment;
0 1 1 leftValue Lfreemarker/template/TemplateModel;
0 1 2 rightValue Lfreemarker/template/TemplateModel;
Exceptions:
throws freemarker.template.TemplateException
MethodParameters:
Name Flags
leftValue
rightValue
public boolean applyEqualsOperatorLenient(freemarker.template.TemplateModel, freemarker.template.TemplateModel);
descriptor: (Lfreemarker/template/TemplateModel;Lfreemarker/template/TemplateModel;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
iconst_1
aload 2
aload 0
invokestatic freemarker.core.EvalUtil.compareLenient:(Lfreemarker/template/TemplateModel;ILfreemarker/template/TemplateModel;Lfreemarker/core/Environment;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/core/Environment;
0 1 1 leftValue Lfreemarker/template/TemplateModel;
0 1 2 rightValue Lfreemarker/template/TemplateModel;
Exceptions:
throws freemarker.template.TemplateException
MethodParameters:
Name Flags
leftValue
rightValue
public boolean applyLessThanOperator(freemarker.template.TemplateModel, freemarker.template.TemplateModel);
descriptor: (Lfreemarker/template/TemplateModel;Lfreemarker/template/TemplateModel;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
iconst_3
aload 2
aload 0
invokestatic freemarker.core.EvalUtil.compare:(Lfreemarker/template/TemplateModel;ILfreemarker/template/TemplateModel;Lfreemarker/core/Environment;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/core/Environment;
0 1 1 leftValue Lfreemarker/template/TemplateModel;
0 1 2 rightValue Lfreemarker/template/TemplateModel;
Exceptions:
throws freemarker.template.TemplateException
MethodParameters:
Name Flags
leftValue
rightValue
public boolean applyLessThanOrEqualsOperator(freemarker.template.TemplateModel, freemarker.template.TemplateModel);
descriptor: (Lfreemarker/template/TemplateModel;Lfreemarker/template/TemplateModel;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
iconst_5
aload 2
aload 0
invokestatic freemarker.core.EvalUtil.compare:(Lfreemarker/template/TemplateModel;ILfreemarker/template/TemplateModel;Lfreemarker/core/Environment;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/core/Environment;
0 1 1 leftValue Lfreemarker/template/TemplateModel;
0 1 2 rightValue Lfreemarker/template/TemplateModel;
Exceptions:
throws freemarker.template.TemplateException
MethodParameters:
Name Flags
leftValue
rightValue
public boolean applyGreaterThanOperator(freemarker.template.TemplateModel, freemarker.template.TemplateModel);
descriptor: (Lfreemarker/template/TemplateModel;Lfreemarker/template/TemplateModel;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
iconst_4
aload 2
aload 0
invokestatic freemarker.core.EvalUtil.compare:(Lfreemarker/template/TemplateModel;ILfreemarker/template/TemplateModel;Lfreemarker/core/Environment;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/core/Environment;
0 1 1 leftValue Lfreemarker/template/TemplateModel;
0 1 2 rightValue Lfreemarker/template/TemplateModel;
Exceptions:
throws freemarker.template.TemplateException
MethodParameters:
Name Flags
leftValue
rightValue
public boolean applyWithGreaterThanOrEqualsOperator(freemarker.template.TemplateModel, freemarker.template.TemplateModel);
descriptor: (Lfreemarker/template/TemplateModel;Lfreemarker/template/TemplateModel;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
bipush 6
aload 2
aload 0
invokestatic freemarker.core.EvalUtil.compare:(Lfreemarker/template/TemplateModel;ILfreemarker/template/TemplateModel;Lfreemarker/core/Environment;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/core/Environment;
0 1 1 leftValue Lfreemarker/template/TemplateModel;
0 1 2 rightValue Lfreemarker/template/TemplateModel;
Exceptions:
throws freemarker.template.TemplateException
MethodParameters:
Name Flags
leftValue
rightValue
public void setOut(java.io.Writer);
descriptor: (Ljava/io/Writer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield freemarker.core.Environment.out:Ljava/io/Writer;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lfreemarker/core/Environment;
0 2 1 out Ljava/io/Writer;
MethodParameters:
Name Flags
out
public java.io.Writer getOut();
descriptor: ()Ljava/io/Writer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield freemarker.core.Environment.out:Ljava/io/Writer;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/core/Environment;
public void setNumberFormat(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial freemarker.core.Configurable.setNumberFormat:(Ljava/lang/String;)V
1: aload 0
aconst_null
putfield freemarker.core.Environment.cachedTemplateNumberFormat:Lfreemarker/core/TemplateNumberFormat;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lfreemarker/core/Environment;
0 3 1 formatName Ljava/lang/String;
MethodParameters:
Name Flags
formatName
java.lang.String formatNumberToPlainText(freemarker.template.TemplateNumberModel, freemarker.core.Expression, boolean);
descriptor: (Lfreemarker/template/TemplateNumberModel;Lfreemarker/core/Expression;Z)Ljava/lang/String;
flags: (0x0000)
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 0
aload 2
iload 3
invokevirtual freemarker.core.Environment.getTemplateNumberFormat:(Lfreemarker/core/Expression;Z)Lfreemarker/core/TemplateNumberFormat;
aload 2
iload 3
invokevirtual freemarker.core.Environment.formatNumberToPlainText:(Lfreemarker/template/TemplateNumberModel;Lfreemarker/core/TemplateNumberFormat;Lfreemarker/core/Expression;Z)Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/core/Environment;
0 1 1 number Lfreemarker/template/TemplateNumberModel;
0 1 2 exp Lfreemarker/core/Expression;
0 1 3 useTempModelExc Z
Exceptions:
throws freemarker.template.TemplateException
MethodParameters:
Name Flags
number
exp
useTempModelExc
java.lang.String formatNumberToPlainText(freemarker.template.TemplateNumberModel, freemarker.core.TemplateNumberFormat, freemarker.core.Expression, boolean);
descriptor: (Lfreemarker/template/TemplateNumberModel;Lfreemarker/core/TemplateNumberFormat;Lfreemarker/core/Expression;Z)Ljava/lang/String;
flags: (0x0000)
Code:
stack=4, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 2
aload 1
invokevirtual freemarker.core.TemplateNumberFormat.formatToPlainText:(Lfreemarker/template/TemplateNumberModel;)Ljava/lang/String;
invokestatic freemarker.core.EvalUtil.assertFormatResultNotNull:(Ljava/lang/String;)Ljava/lang/String;
1: areturn
2: StackMap locals:
StackMap stack: freemarker.core.TemplateValueFormatException
astore 5
start local 5 3: aload 2
aload 3
aload 5
iload 4
invokestatic freemarker.core._MessageUtil.newCantFormatNumberException:(Lfreemarker/core/TemplateNumberFormat;Lfreemarker/core/Expression;Lfreemarker/core/TemplateValueFormatException;Z)Lfreemarker/template/TemplateException;
athrow
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/Environment;
0 4 1 number Lfreemarker/template/TemplateNumberModel;
0 4 2 format Lfreemarker/core/TemplateNumberFormat;
0 4 3 exp Lfreemarker/core/Expression;
0 4 4 useTempModelExc Z
3 4 5 e Lfreemarker/core/TemplateValueFormatException;
Exception table:
from to target type
0 1 2 Class freemarker.core.TemplateValueFormatException
Exceptions:
throws freemarker.template.TemplateException
MethodParameters:
Name Flags
number
format
exp
useTempModelExc
java.lang.String formatNumberToPlainText(java.lang.Number, freemarker.core.BackwardCompatibleTemplateNumberFormat, freemarker.core.Expression);
descriptor: (Ljava/lang/Number;Lfreemarker/core/BackwardCompatibleTemplateNumberFormat;Lfreemarker/core/Expression;)Ljava/lang/String;
flags: (0x0000)
Code:
stack=11, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
aload 1
invokevirtual freemarker.core.BackwardCompatibleTemplateNumberFormat.format:(Ljava/lang/Number;)Ljava/lang/String;
1: areturn
2: StackMap locals:
StackMap stack: freemarker.core.UnformattableValueException
astore 4
start local 4 3: new freemarker.core._MiscTemplateException
dup
aload 3
aload 4
aload 0
iconst_4
anewarray java.lang.Object
dup
iconst_0
4: ldc "Failed to format number with "
aastore
dup
iconst_1
new freemarker.core._DelayedJQuote
dup
aload 2
invokevirtual freemarker.core.BackwardCompatibleTemplateNumberFormat.getDescription:()Ljava/lang/String;
invokespecial freemarker.core._DelayedJQuote.<init>:(Ljava/lang/Object;)V
aastore
dup
iconst_2
ldc ": "
aastore
dup
iconst_3
5: aload 4
invokevirtual freemarker.core.UnformattableValueException.getMessage:()Ljava/lang/String;
6: aastore
invokespecial freemarker.core._MiscTemplateException.<init>:(Lfreemarker/core/Expression;Ljava/lang/Throwable;Lfreemarker/core/Environment;[Ljava/lang/Object;)V
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lfreemarker/core/Environment;
0 7 1 number Ljava/lang/Number;
0 7 2 format Lfreemarker/core/BackwardCompatibleTemplateNumberFormat;
0 7 3 exp Lfreemarker/core/Expression;
3 7 4 e Lfreemarker/core/UnformattableValueException;
Exception table:
from to target type
0 1 2 Class freemarker.core.UnformattableValueException
Exceptions:
throws freemarker.template.TemplateModelException, freemarker.core._MiscTemplateException
MethodParameters:
Name Flags
number
format
exp
public freemarker.core.TemplateNumberFormat getTemplateNumberFormat();
descriptor: ()Lfreemarker/core/TemplateNumberFormat;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield freemarker.core.Environment.cachedTemplateNumberFormat:Lfreemarker/core/TemplateNumberFormat;
astore 1
start local 1 1: aload 1
ifnonnull 4
2: aload 0
aload 0
invokevirtual freemarker.core.Environment.getNumberFormat:()Ljava/lang/String;
iconst_0
invokevirtual freemarker.core.Environment.getTemplateNumberFormat:(Ljava/lang/String;Z)Lfreemarker/core/TemplateNumberFormat;
astore 1
3: aload 0
aload 1
putfield freemarker.core.Environment.cachedTemplateNumberFormat:Lfreemarker/core/TemplateNumberFormat;
4: StackMap locals: freemarker.core.TemplateNumberFormat
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lfreemarker/core/Environment;
1 5 1 format Lfreemarker/core/TemplateNumberFormat;
Exceptions:
throws freemarker.core.TemplateValueFormatException
public freemarker.core.TemplateNumberFormat getTemplateNumberFormat(java.lang.String);
descriptor: (Ljava/lang/String;)Lfreemarker/core/TemplateNumberFormat;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_1
invokevirtual freemarker.core.Environment.getTemplateNumberFormat:(Ljava/lang/String;Z)Lfreemarker/core/TemplateNumberFormat;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/core/Environment;
0 1 1 formatString Ljava/lang/String;
Exceptions:
throws freemarker.core.TemplateValueFormatException
MethodParameters:
Name Flags
formatString
public freemarker.core.TemplateNumberFormat getTemplateNumberFormat(java.lang.String, java.util.Locale);
descriptor: (Ljava/lang/String;Ljava/util/Locale;)Lfreemarker/core/TemplateNumberFormat;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
aload 0
invokevirtual freemarker.core.Environment.getLocale:()Ljava/util/Locale;
invokevirtual java.util.Locale.equals:(Ljava/lang/Object;)Z
ifeq 2
1: aload 0
aload 1
invokevirtual freemarker.core.Environment.getTemplateNumberFormat:(Ljava/lang/String;)Lfreemarker/core/TemplateNumberFormat;
pop
2: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual freemarker.core.Environment.getTemplateNumberFormatWithoutCache:(Ljava/lang/String;Ljava/util/Locale;)Lfreemarker/core/TemplateNumberFormat;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lfreemarker/core/Environment;
0 3 1 formatString Ljava/lang/String;
0 3 2 locale Ljava/util/Locale;
Exceptions:
throws freemarker.core.TemplateValueFormatException
MethodParameters:
Name Flags
formatString
locale
freemarker.core.TemplateNumberFormat getTemplateNumberFormat(freemarker.core.Expression, boolean);
descriptor: (Lfreemarker/core/Expression;Z)Lfreemarker/core/TemplateNumberFormat;
flags: (0x0000)
Code:
stack=8, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual freemarker.core.Environment.getTemplateNumberFormat:()Lfreemarker/core/TemplateNumberFormat;
astore 3
start local 3 1: goto 13
end local 3 StackMap locals:
StackMap stack: freemarker.core.TemplateValueFormatException
2: astore 4
start local 4 3: new freemarker.core._ErrorDescriptionBuilder
dup
iconst_4
anewarray java.lang.Object
dup
iconst_0
4: ldc "Failed to get number format object for the current number format string, "
aastore
dup
iconst_1
5: new freemarker.core._DelayedJQuote
dup
aload 0
invokevirtual freemarker.core.Environment.getNumberFormat:()Ljava/lang/String;
invokespecial freemarker.core._DelayedJQuote.<init>:(Ljava/lang/Object;)V
aastore
dup
iconst_2
ldc ": "
aastore
dup
iconst_3
aload 4
invokevirtual freemarker.core.TemplateValueFormatException.getMessage:()Ljava/lang/String;
6: aastore
invokespecial freemarker.core._ErrorDescriptionBuilder.<init>:([Ljava/lang/Object;)V
7: aload 1
invokevirtual freemarker.core._ErrorDescriptionBuilder.blame:(Lfreemarker/core/Expression;)Lfreemarker/core/_ErrorDescriptionBuilder;
8: astore 5
start local 5 9: iload 2
ifeq 11
10: new freemarker.core._TemplateModelException
dup
aload 4
aload 0
aload 5
invokespecial freemarker.core._TemplateModelException.<init>:(Ljava/lang/Throwable;Lfreemarker/core/Environment;Lfreemarker/core/_ErrorDescriptionBuilder;)V
goto 12
StackMap locals: freemarker.core.Environment freemarker.core.Expression int top freemarker.core.TemplateValueFormatException freemarker.core._ErrorDescriptionBuilder
StackMap stack:
11: new freemarker.core._MiscTemplateException
dup
aload 4
aload 0
aload 5
invokespecial freemarker.core._MiscTemplateException.<init>:(Ljava/lang/Throwable;Lfreemarker/core/Environment;Lfreemarker/core/_ErrorDescriptionBuilder;)V
12: StackMap locals:
StackMap stack: freemarker.template.TemplateException
athrow
end local 5 end local 4 start local 3 13: StackMap locals: freemarker.core.Environment freemarker.core.Expression int freemarker.core.TemplateNumberFormat
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lfreemarker/core/Environment;
0 14 1 exp Lfreemarker/core/Expression;
0 14 2 useTempModelExc Z
1 2 3 format Lfreemarker/core/TemplateNumberFormat;
13 14 3 format Lfreemarker/core/TemplateNumberFormat;
3 13 4 e Lfreemarker/core/TemplateValueFormatException;
9 13 5 desc Lfreemarker/core/_ErrorDescriptionBuilder;
Exception table:
from to target type
0 1 2 Class freemarker.core.TemplateValueFormatException
Exceptions:
throws freemarker.template.TemplateException
MethodParameters:
Name Flags
exp
useTempModelExc
freemarker.core.TemplateNumberFormat getTemplateNumberFormat(java.lang.String, freemarker.core.Expression, boolean);
descriptor: (Ljava/lang/String;Lfreemarker/core/Expression;Z)Lfreemarker/core/TemplateNumberFormat;
flags: (0x0000)
Code:
stack=8, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
invokevirtual freemarker.core.Environment.getTemplateNumberFormat:(Ljava/lang/String;)Lfreemarker/core/TemplateNumberFormat;
astore 4
start local 4 1: goto 13
end local 4 StackMap locals:
StackMap stack: freemarker.core.TemplateValueFormatException
2: astore 5
start local 5 3: new freemarker.core._ErrorDescriptionBuilder
dup
iconst_4
anewarray java.lang.Object
dup
iconst_0
4: ldc "Failed to get number format object for the "
aastore
dup
iconst_1
new freemarker.core._DelayedJQuote
dup
aload 1
invokespecial freemarker.core._DelayedJQuote.<init>:(Ljava/lang/Object;)V
aastore
dup
iconst_2
5: ldc " number format string: "
aastore
dup
iconst_3
aload 5
invokevirtual freemarker.core.TemplateValueFormatException.getMessage:()Ljava/lang/String;
6: aastore
invokespecial freemarker.core._ErrorDescriptionBuilder.<init>:([Ljava/lang/Object;)V
7: aload 2
invokevirtual freemarker.core._ErrorDescriptionBuilder.blame:(Lfreemarker/core/Expression;)Lfreemarker/core/_ErrorDescriptionBuilder;
8: astore 6
start local 6 9: iload 3
ifeq 11
10: new freemarker.core._TemplateModelException
dup
aload 5
aload 0
aload 6
invokespecial freemarker.core._TemplateModelException.<init>:(Ljava/lang/Throwable;Lfreemarker/core/Environment;Lfreemarker/core/_ErrorDescriptionBuilder;)V
goto 12
StackMap locals: freemarker.core.Environment java.lang.String freemarker.core.Expression int top freemarker.core.TemplateValueFormatException freemarker.core._ErrorDescriptionBuilder
StackMap stack:
11: new freemarker.core._MiscTemplateException
dup
aload 5
aload 0
aload 6
invokespecial freemarker.core._MiscTemplateException.<init>:(Ljava/lang/Throwable;Lfreemarker/core/Environment;Lfreemarker/core/_ErrorDescriptionBuilder;)V
12: StackMap locals:
StackMap stack: freemarker.template.TemplateException
athrow
end local 6 end local 5 start local 4 13: StackMap locals: freemarker.core.Environment java.lang.String freemarker.core.Expression int freemarker.core.TemplateNumberFormat
StackMap stack:
aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lfreemarker/core/Environment;
0 14 1 formatString Ljava/lang/String;
0 14 2 exp Lfreemarker/core/Expression;
0 14 3 useTempModelExc Z
1 2 4 format Lfreemarker/core/TemplateNumberFormat;
13 14 4 format Lfreemarker/core/TemplateNumberFormat;
3 13 5 e Lfreemarker/core/TemplateValueFormatException;
9 13 6 desc Lfreemarker/core/_ErrorDescriptionBuilder;
Exception table:
from to target type
0 1 2 Class freemarker.core.TemplateValueFormatException
Exceptions:
throws freemarker.template.TemplateException
MethodParameters:
Name Flags
formatString
exp
useTempModelExc
private freemarker.core.TemplateNumberFormat getTemplateNumberFormat(java.lang.String, boolean);
descriptor: (Ljava/lang/String;Z)Lfreemarker/core/TemplateNumberFormat;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield freemarker.core.Environment.cachedTemplateNumberFormats:Ljava/util/Map;
ifnonnull 4
1: iload 2
ifeq 7
2: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield freemarker.core.Environment.cachedTemplateNumberFormats:Ljava/util/Map;
3: goto 7
4: StackMap locals:
StackMap stack:
aload 0
getfield freemarker.core.Environment.cachedTemplateNumberFormats:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast freemarker.core.TemplateNumberFormat
astore 3
start local 3 5: aload 3
ifnull 7
6: aload 3
areturn
end local 3 7: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 0
invokevirtual freemarker.core.Environment.getLocale:()Ljava/util/Locale;
invokevirtual freemarker.core.Environment.getTemplateNumberFormatWithoutCache:(Ljava/lang/String;Ljava/util/Locale;)Lfreemarker/core/TemplateNumberFormat;
astore 3
start local 3 8: iload 2
ifeq 10
9: aload 0
getfield freemarker.core.Environment.cachedTemplateNumberFormats:Ljava/util/Map;
aload 1
aload 3
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
10: StackMap locals: freemarker.core.TemplateNumberFormat
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lfreemarker/core/Environment;
0 11 1 formatString Ljava/lang/String;
0 11 2 cacheResult Z
5 7 3 format Lfreemarker/core/TemplateNumberFormat;
8 11 3 format Lfreemarker/core/TemplateNumberFormat;
Exceptions:
throws freemarker.core.TemplateValueFormatException
MethodParameters:
Name Flags
formatString
cacheResult
private freemarker.core.TemplateNumberFormat getTemplateNumberFormatWithoutCache(java.lang.String, java.util.Locale);
descriptor: (Ljava/lang/String;Ljava/util/Locale;)Lfreemarker/core/TemplateNumberFormat;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual java.lang.String.length:()I
istore 3
start local 3 1: iload 3
iconst_1
if_icmple 22
2: aload 1
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 64
if_icmpne 22
3: aload 0
invokevirtual freemarker.core.Environment.isIcI2324OrLater:()Z
ifne 4
aload 0
invokevirtual freemarker.core.Environment.hasCustomFormats:()Z
ifeq 22
4: StackMap locals: int
StackMap stack:
aload 1
iconst_1
invokevirtual java.lang.String.charAt:(I)C
invokestatic java.lang.Character.isLetter:(C)Z
ifeq 22
5: iconst_1
istore 6
start local 6 6: goto 11
7: StackMap locals: freemarker.core.Environment java.lang.String java.util.Locale int top top int
StackMap stack:
aload 1
iload 6
invokevirtual java.lang.String.charAt:(I)C
istore 7
start local 7 8: iload 7
bipush 32
if_icmpeq 12
iload 7
bipush 95
if_icmpne 10
9: goto 12
end local 7 10: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
11: iload 6
iload 3
if_icmplt 7
12: StackMap locals:
StackMap stack:
aload 1
iconst_1
iload 6
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 4
start local 4 13: iload 6
iload 3
if_icmpge 14
aload 1
iload 6
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
goto 15
StackMap locals: freemarker.core.Environment java.lang.String java.util.Locale int java.lang.String top int
StackMap stack:
14: ldc ""
StackMap locals:
StackMap stack: java.lang.String
15: astore 5
end local 6 start local 5 16: aload 0
aload 4
invokevirtual freemarker.core.Environment.getCustomNumberFormat:(Ljava/lang/String;)Lfreemarker/core/TemplateNumberFormatFactory;
astore 6
start local 6 17: aload 6
ifnonnull 21
18: new freemarker.core.UndefinedCustomFormatException
dup
19: new java.lang.StringBuilder
dup
ldc "No custom number format was defined with name "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokestatic freemarker.template.utility.StringUtil.jQuote:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
20: invokespecial freemarker.core.UndefinedCustomFormatException.<init>:(Ljava/lang/String;)V
athrow
21: StackMap locals: freemarker.core.Environment java.lang.String java.util.Locale int java.lang.String java.lang.String freemarker.core.TemplateNumberFormatFactory
StackMap stack:
aload 6
aload 5
aload 2
aload 0
invokevirtual freemarker.core.TemplateNumberFormatFactory.get:(Ljava/lang/String;Ljava/util/Locale;Lfreemarker/core/Environment;)Lfreemarker/core/TemplateNumberFormat;
areturn
end local 6 end local 5 end local 4 22: StackMap locals:
StackMap stack:
getstatic freemarker.core.JavaTemplateNumberFormatFactory.INSTANCE:Lfreemarker/core/JavaTemplateNumberFormatFactory;
aload 1
aload 2
aload 0
invokevirtual freemarker.core.JavaTemplateNumberFormatFactory.get:(Ljava/lang/String;Ljava/util/Locale;Lfreemarker/core/Environment;)Lfreemarker/core/TemplateNumberFormat;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lfreemarker/core/Environment;
0 23 1 formatString Ljava/lang/String;
0 23 2 locale Ljava/util/Locale;
1 23 3 formatStringLen I
13 22 4 name Ljava/lang/String;
16 22 5 params Ljava/lang/String;
6 16 6 endIdx I
8 10 7 c C
17 22 6 formatFactory Lfreemarker/core/TemplateNumberFormatFactory;
Exceptions:
throws freemarker.core.TemplateValueFormatException
MethodParameters:
Name Flags
formatString
locale
public java.text.NumberFormat getCNumberFormat();
descriptor: ()Ljava/text/NumberFormat;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield freemarker.core.Environment.cNumberFormat:Ljava/text/NumberFormat;
ifnonnull 2
1: aload 0
getstatic freemarker.core.Environment.C_NUMBER_FORMAT:Ljava/text/DecimalFormat;
invokevirtual java.text.DecimalFormat.clone:()Ljava/lang/Object;
checkcast java.text.DecimalFormat
putfield freemarker.core.Environment.cNumberFormat:Ljava/text/NumberFormat;
2: StackMap locals:
StackMap stack:
aload 0
getfield freemarker.core.Environment.cNumberFormat:Ljava/text/NumberFormat;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lfreemarker/core/Environment;
public void setTimeFormat(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual freemarker.core.Environment.getTimeFormat:()Ljava/lang/String;
astore 2
start local 2 1: aload 0
aload 1
invokespecial freemarker.core.Configurable.setTimeFormat:(Ljava/lang/String;)V
2: aload 1
aload 2
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 9
3: aload 0
getfield freemarker.core.Environment.cachedTempDateFormatArray:[Lfreemarker/core/TemplateDateFormat;
ifnull 9
4: iconst_0
istore 3
start local 3 5: goto 8
6: StackMap locals: java.lang.String int
StackMap stack:
aload 0
getfield freemarker.core.Environment.cachedTempDateFormatArray:[Lfreemarker/core/TemplateDateFormat;
iload 3
iconst_1
iadd
aconst_null
aastore
7: iinc 3 4
StackMap locals:
StackMap stack:
8: iload 3
bipush 16
if_icmplt 6
end local 3 9: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lfreemarker/core/Environment;
0 10 1 timeFormat Ljava/lang/String;
1 10 2 prevTimeFormat Ljava/lang/String;
5 9 3 i I
MethodParameters:
Name Flags
timeFormat
public void setDateFormat(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual freemarker.core.Environment.getDateFormat:()Ljava/lang/String;
astore 2
start local 2 1: aload 0
aload 1
invokespecial freemarker.core.Configurable.setDateFormat:(Ljava/lang/String;)V
2: aload 1
aload 2
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 9
3: aload 0
getfield freemarker.core.Environment.cachedTempDateFormatArray:[Lfreemarker/core/TemplateDateFormat;
ifnull 9
4: iconst_0
istore 3
start local 3 5: goto 8
6: StackMap locals: java.lang.String int
StackMap stack:
aload 0
getfield freemarker.core.Environment.cachedTempDateFormatArray:[Lfreemarker/core/TemplateDateFormat;
iload 3
iconst_2
iadd
aconst_null
aastore
7: iinc 3 4
StackMap locals:
StackMap stack:
8: iload 3
bipush 16
if_icmplt 6
end local 3 9: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lfreemarker/core/Environment;
0 10 1 dateFormat Ljava/lang/String;
1 10 2 prevDateFormat Ljava/lang/String;
5 9 3 i I
MethodParameters:
Name Flags
dateFormat
public void setDateTimeFormat(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual freemarker.core.Environment.getDateTimeFormat:()Ljava/lang/String;
astore 2
start local 2 1: aload 0
aload 1
invokespecial freemarker.core.Configurable.setDateTimeFormat:(Ljava/lang/String;)V
2: aload 1
aload 2
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 9
3: aload 0
getfield freemarker.core.Environment.cachedTempDateFormatArray:[Lfreemarker/core/TemplateDateFormat;
ifnull 9
4: iconst_0
istore 3
start local 3 5: goto 8
6: StackMap locals: java.lang.String int
StackMap stack:
aload 0
getfield freemarker.core.Environment.cachedTempDateFormatArray:[Lfreemarker/core/TemplateDateFormat;
iload 3
iconst_3
iadd
aconst_null
aastore
7: iinc 3 4
StackMap locals:
StackMap stack:
8: iload 3
bipush 16
if_icmplt 6
end local 3 9: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lfreemarker/core/Environment;
0 10 1 dateTimeFormat Ljava/lang/String;
1 10 2 prevDateTimeFormat Ljava/lang/String;
5 9 3 i I
MethodParameters:
Name Flags
dateTimeFormat
public freemarker.template.Configuration getConfiguration();
descriptor: ()Lfreemarker/template/Configuration;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield freemarker.core.Environment.configuration:Lfreemarker/template/Configuration;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/core/Environment;
freemarker.template.TemplateModel getLastReturnValue();
descriptor: ()Lfreemarker/template/TemplateModel;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield freemarker.core.Environment.lastReturnValue:Lfreemarker/template/TemplateModel;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/core/Environment;
void setLastReturnValue(freemarker.template.TemplateModel);
descriptor: (Lfreemarker/template/TemplateModel;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield freemarker.core.Environment.lastReturnValue:Lfreemarker/template/TemplateModel;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lfreemarker/core/Environment;
0 2 1 lastReturnValue Lfreemarker/template/TemplateModel;
MethodParameters:
Name Flags
lastReturnValue
void clearLastReturnValue();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
putfield freemarker.core.Environment.lastReturnValue:Lfreemarker/template/TemplateModel;
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lfreemarker/core/Environment;
java.lang.String formatDateToPlainText(freemarker.template.TemplateDateModel, freemarker.core.Expression, boolean);
descriptor: (Lfreemarker/template/TemplateDateModel;Lfreemarker/core/Expression;Z)Ljava/lang/String;
flags: (0x0000)
Code:
stack=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
iload 3
invokevirtual freemarker.core.Environment.getTemplateDateFormat:(Lfreemarker/template/TemplateDateModel;Lfreemarker/core/Expression;Z)Lfreemarker/core/TemplateDateFormat;
astore 4
start local 4 1: aload 4
aload 1
invokevirtual freemarker.core.TemplateDateFormat.formatToPlainText:(Lfreemarker/template/TemplateDateModel;)Ljava/lang/String;
invokestatic freemarker.core.EvalUtil.assertFormatResultNotNull:(Ljava/lang/String;)Ljava/lang/String;
2: areturn
3: StackMap locals: freemarker.core.Environment freemarker.template.TemplateDateModel freemarker.core.Expression int freemarker.core.TemplateDateFormat
StackMap stack: freemarker.core.TemplateValueFormatException
astore 5
start local 5 4: aload 4
aload 2
aload 5
iload 3
invokestatic freemarker.core._MessageUtil.newCantFormatDateException:(Lfreemarker/core/TemplateDateFormat;Lfreemarker/core/Expression;Lfreemarker/core/TemplateValueFormatException;Z)Lfreemarker/template/TemplateException;
athrow
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 5 0 this Lfreemarker/core/Environment;
0 5 1 tdm Lfreemarker/template/TemplateDateModel;
0 5 2 tdmSourceExpr Lfreemarker/core/Expression;
0 5 3 useTempModelExc Z
1 5 4 format Lfreemarker/core/TemplateDateFormat;
4 5 5 e Lfreemarker/core/TemplateValueFormatException;
Exception table:
from to target type
1 2 3 Class freemarker.core.TemplateValueFormatException
Exceptions:
throws freemarker.template.TemplateException
MethodParameters:
Name Flags
tdm
tdmSourceExpr
useTempModelExc
java.lang.String formatDateToPlainText(freemarker.template.TemplateDateModel, java.lang.String, freemarker.core.Expression, freemarker.core.Expression, boolean);
descriptor: (Lfreemarker/template/TemplateDateModel;Ljava/lang/String;Lfreemarker/core/Expression;Lfreemarker/core/Expression;Z)Ljava/lang/String;
flags: (0x0000)
Code:
stack=7, locals=9, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 1
aload 3
invokestatic freemarker.core.EvalUtil.modelToDate:(Lfreemarker/template/TemplateDateModel;Lfreemarker/core/Expression;)Ljava/util/Date;
astore 6
start local 6 1: aload 0
2: aload 2
aload 1
invokeinterface freemarker.template.TemplateDateModel.getDateType:()I
aload 6
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
3: aload 3
aload 4
4: iload 5
5: invokevirtual freemarker.core.Environment.getTemplateDateFormat:(Ljava/lang/String;ILjava/lang/Class;Lfreemarker/core/Expression;Lfreemarker/core/Expression;Z)Lfreemarker/core/TemplateDateFormat;
astore 7
start local 7 6: aload 7
aload 1
invokevirtual freemarker.core.TemplateDateFormat.formatToPlainText:(Lfreemarker/template/TemplateDateModel;)Ljava/lang/String;
invokestatic freemarker.core.EvalUtil.assertFormatResultNotNull:(Ljava/lang/String;)Ljava/lang/String;
7: areturn
8: StackMap locals: freemarker.core.Environment freemarker.template.TemplateDateModel java.lang.String freemarker.core.Expression freemarker.core.Expression int java.util.Date freemarker.core.TemplateDateFormat
StackMap stack: freemarker.core.TemplateValueFormatException
astore 8
start local 8 9: aload 7
aload 3
aload 8
iload 5
invokestatic freemarker.core._MessageUtil.newCantFormatDateException:(Lfreemarker/core/TemplateDateFormat;Lfreemarker/core/Expression;Lfreemarker/core/TemplateValueFormatException;Z)Lfreemarker/template/TemplateException;
athrow
end local 8 end local 7 end local 6 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 10 0 this Lfreemarker/core/Environment;
0 10 1 tdm Lfreemarker/template/TemplateDateModel;
0 10 2 formatString Ljava/lang/String;
0 10 3 blamedDateSourceExp Lfreemarker/core/Expression;
0 10 4 blamedFormatterExp Lfreemarker/core/Expression;
0 10 5 useTempModelExc Z
1 10 6 date Ljava/util/Date;
6 10 7 format Lfreemarker/core/TemplateDateFormat;
9 10 8 e Lfreemarker/core/TemplateValueFormatException;
Exception table:
from to target type
6 7 8 Class freemarker.core.TemplateValueFormatException
Exceptions:
throws freemarker.template.TemplateException
MethodParameters:
Name Flags
tdm
formatString
blamedDateSourceExp
blamedFormatterExp
useTempModelExc
public freemarker.core.TemplateDateFormat getTemplateDateFormat(int, java.lang.Class<? extends java.util.Date>);
descriptor: (ILjava/lang/Class;)Lfreemarker/core/TemplateDateFormat;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokestatic freemarker.core.Environment.isSQLDateOrTimeClass:(Ljava/lang/Class;)Z
istore 3
start local 3 1: aload 0
iload 1
aload 0
iload 3
invokevirtual freemarker.core.Environment.shouldUseSQLDTTimeZone:(Z)Z
iload 3
invokevirtual freemarker.core.Environment.getTemplateDateFormat:(IZZ)Lfreemarker/core/TemplateDateFormat;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lfreemarker/core/Environment;
0 2 1 dateType I
0 2 2 dateClass Ljava/lang/Class<+Ljava/util/Date;>;
1 2 3 isSQLDateOrTime Z
Exceptions:
throws freemarker.core.TemplateValueFormatException
Signature: (ILjava/lang/Class<+Ljava/util/Date;>;)Lfreemarker/core/TemplateDateFormat;
MethodParameters:
Name Flags
dateType
dateClass
public freemarker.core.TemplateDateFormat getTemplateDateFormat(java.lang.String, int, java.lang.Class<? extends java.util.Date>);
descriptor: (Ljava/lang/String;ILjava/lang/Class;)Lfreemarker/core/TemplateDateFormat;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
invokestatic freemarker.core.Environment.isSQLDateOrTimeClass:(Ljava/lang/Class;)Z
istore 4
start local 4 1: aload 0
2: aload 1
iload 2
3: aload 0
iload 4
invokevirtual freemarker.core.Environment.shouldUseSQLDTTimeZone:(Z)Z
iload 4
iconst_1
4: invokevirtual freemarker.core.Environment.getTemplateDateFormat:(Ljava/lang/String;IZZZ)Lfreemarker/core/TemplateDateFormat;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lfreemarker/core/Environment;
0 5 1 formatString Ljava/lang/String;
0 5 2 dateType I
0 5 3 dateClass Ljava/lang/Class<+Ljava/util/Date;>;
1 5 4 isSQLDateOrTime Z
Exceptions:
throws freemarker.core.TemplateValueFormatException
Signature: (Ljava/lang/String;ILjava/lang/Class<+Ljava/util/Date;>;)Lfreemarker/core/TemplateDateFormat;
MethodParameters:
Name Flags
formatString
dateType
dateClass
public freemarker.core.TemplateDateFormat getTemplateDateFormat(java.lang.String, int, java.lang.Class<? extends java.util.Date>, java.util.Locale);
descriptor: (Ljava/lang/String;ILjava/lang/Class;Ljava/util/Locale;)Lfreemarker/core/TemplateDateFormat;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 3
invokestatic freemarker.core.Environment.isSQLDateOrTimeClass:(Ljava/lang/Class;)Z
istore 5
start local 5 1: aload 0
iload 5
invokevirtual freemarker.core.Environment.shouldUseSQLDTTimeZone:(Z)Z
istore 6
start local 6 2: aload 0
3: aload 1
4: iload 2
aload 4
iload 6
ifeq 5
aload 0
invokevirtual freemarker.core.Environment.getSQLDateAndTimeTimeZone:()Ljava/util/TimeZone;
goto 6
StackMap locals: freemarker.core.Environment java.lang.String int java.lang.Class java.util.Locale int int
StackMap stack: freemarker.core.Environment java.lang.String int java.util.Locale
5: aload 0
invokevirtual freemarker.core.Environment.getTimeZone:()Ljava/util/TimeZone;
StackMap locals: freemarker.core.Environment java.lang.String int java.lang.Class java.util.Locale int int
StackMap stack: freemarker.core.Environment java.lang.String int java.util.Locale java.util.TimeZone
6: iload 5
7: invokevirtual freemarker.core.Environment.getTemplateDateFormat:(Ljava/lang/String;ILjava/util/Locale;Ljava/util/TimeZone;Z)Lfreemarker/core/TemplateDateFormat;
areturn
end local 6 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 8 0 this Lfreemarker/core/Environment;
0 8 1 formatString Ljava/lang/String;
0 8 2 dateType I
0 8 3 dateClass Ljava/lang/Class<+Ljava/util/Date;>;
0 8 4 locale Ljava/util/Locale;
1 8 5 isSQLDateOrTime Z
2 8 6 useSQLDTTZ Z
Exceptions:
throws freemarker.core.TemplateValueFormatException
Signature: (Ljava/lang/String;ILjava/lang/Class<+Ljava/util/Date;>;Ljava/util/Locale;)Lfreemarker/core/TemplateDateFormat;
MethodParameters:
Name Flags
formatString
dateType
dateClass
locale
public freemarker.core.TemplateDateFormat getTemplateDateFormat(java.lang.String, int, java.lang.Class<? extends java.util.Date>, java.util.Locale, java.util.TimeZone, java.util.TimeZone);
descriptor: (Ljava/lang/String;ILjava/lang/Class;Ljava/util/Locale;Ljava/util/TimeZone;Ljava/util/TimeZone;)Lfreemarker/core/TemplateDateFormat;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=9, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 3
invokestatic freemarker.core.Environment.isSQLDateOrTimeClass:(Ljava/lang/Class;)Z
istore 7
start local 7 1: aload 0
iload 7
invokevirtual freemarker.core.Environment.shouldUseSQLDTTimeZone:(Z)Z
istore 8
start local 8 2: aload 0
3: aload 1
4: iload 2
aload 4
iload 8
ifeq 5
aload 6
goto 6
StackMap locals: freemarker.core.Environment java.lang.String int java.lang.Class java.util.Locale java.util.TimeZone java.util.TimeZone int int
StackMap stack: freemarker.core.Environment java.lang.String int java.util.Locale
5: aload 5
StackMap locals: freemarker.core.Environment java.lang.String int java.lang.Class java.util.Locale java.util.TimeZone java.util.TimeZone int int
StackMap stack: freemarker.core.Environment java.lang.String int java.util.Locale java.util.TimeZone
6: iload 7
7: invokevirtual freemarker.core.Environment.getTemplateDateFormat:(Ljava/lang/String;ILjava/util/Locale;Ljava/util/TimeZone;Z)Lfreemarker/core/TemplateDateFormat;
areturn
end local 8 end local 7 end local 6 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 8 0 this Lfreemarker/core/Environment;
0 8 1 formatString Ljava/lang/String;
0 8 2 dateType I
0 8 3 dateClass Ljava/lang/Class<+Ljava/util/Date;>;
0 8 4 locale Ljava/util/Locale;
0 8 5 timeZone Ljava/util/TimeZone;
0 8 6 sqlDateAndTimeTimeZone Ljava/util/TimeZone;
1 8 7 isSQLDateOrTime Z
2 8 8 useSQLDTTZ Z
Exceptions:
throws freemarker.core.TemplateValueFormatException
Signature: (Ljava/lang/String;ILjava/lang/Class<+Ljava/util/Date;>;Ljava/util/Locale;Ljava/util/TimeZone;Ljava/util/TimeZone;)Lfreemarker/core/TemplateDateFormat;
MethodParameters:
Name Flags
formatString
dateType
dateClass
locale
timeZone
sqlDateAndTimeTimeZone
public freemarker.core.TemplateDateFormat getTemplateDateFormat(java.lang.String, int, java.util.Locale, java.util.TimeZone, boolean);
descriptor: (Ljava/lang/String;ILjava/util/Locale;Ljava/util/TimeZone;Z)Lfreemarker/core/TemplateDateFormat;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=10, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
invokevirtual freemarker.core.Environment.getLocale:()Ljava/util/Locale;
astore 6
start local 6 1: aload 3
aload 6
invokevirtual java.util.Locale.equals:(Ljava/lang/Object;)Z
ifeq 15
2: aload 0
invokevirtual freemarker.core.Environment.getTimeZone:()Ljava/util/TimeZone;
astore 8
start local 8 3: aload 4
aload 8
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 6
4: iconst_1
istore 7
start local 7 5: goto 11
end local 7 6: StackMap locals: freemarker.core.Environment java.lang.String int java.util.Locale java.util.TimeZone int java.util.Locale top java.util.TimeZone
StackMap stack:
aload 0
invokevirtual freemarker.core.Environment.getSQLDateAndTimeTimeZone:()Ljava/util/TimeZone;
astore 9
start local 9 7: aload 4
aload 9
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 10
8: iconst_2
istore 7
start local 7 9: goto 11
end local 7 10: StackMap locals: java.util.TimeZone
StackMap stack:
iconst_0
istore 7
end local 9 start local 7 11: StackMap locals: freemarker.core.Environment java.lang.String int java.util.Locale java.util.TimeZone int java.util.Locale int java.util.TimeZone
StackMap stack:
iload 7
ifeq 15
12: aload 0
aload 1
iload 2
iload 7
iconst_2
if_icmpne 13
iconst_1
goto 14
StackMap locals: freemarker.core.Environment java.lang.String int java.util.Locale java.util.TimeZone int java.util.Locale int java.util.TimeZone
StackMap stack: freemarker.core.Environment java.lang.String int
13: iconst_0
StackMap locals: freemarker.core.Environment java.lang.String int java.util.Locale java.util.TimeZone int java.util.Locale int java.util.TimeZone
StackMap stack: freemarker.core.Environment java.lang.String int int
14: iload 5
iconst_1
invokevirtual freemarker.core.Environment.getTemplateDateFormat:(Ljava/lang/String;IZZZ)Lfreemarker/core/TemplateDateFormat;
areturn
end local 8 end local 7 15: StackMap locals:
StackMap stack:
aload 0
aload 1
iload 2
aload 3
aload 4
iload 5
invokevirtual freemarker.core.Environment.getTemplateDateFormatWithoutCache:(Ljava/lang/String;ILjava/util/Locale;Ljava/util/TimeZone;Z)Lfreemarker/core/TemplateDateFormat;
areturn
end local 6 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 16 0 this Lfreemarker/core/Environment;
0 16 1 formatString Ljava/lang/String;
0 16 2 dateType I
0 16 3 locale Ljava/util/Locale;
0 16 4 timeZone Ljava/util/TimeZone;
0 16 5 zonelessInput Z
1 16 6 currentLocale Ljava/util/Locale;
5 6 7 equalCurrentTZ I
9 10 7 equalCurrentTZ I
11 15 7 equalCurrentTZ I
3 15 8 currentTimeZone Ljava/util/TimeZone;
7 11 9 currentSQLDTTimeZone Ljava/util/TimeZone;
Exceptions:
throws freemarker.core.TemplateValueFormatException
MethodParameters:
Name Flags
formatString
dateType
locale
timeZone
zonelessInput
freemarker.core.TemplateDateFormat getTemplateDateFormat(freemarker.template.TemplateDateModel, freemarker.core.Expression, boolean);
descriptor: (Lfreemarker/template/TemplateDateModel;Lfreemarker/core/Expression;Z)Lfreemarker/core/TemplateDateFormat;
flags: (0x0000)
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
aload 2
invokestatic freemarker.core.EvalUtil.modelToDate:(Lfreemarker/template/TemplateDateModel;Lfreemarker/core/Expression;)Ljava/util/Date;
astore 4
start local 4 1: aload 0
2: aload 1
invokeinterface freemarker.template.TemplateDateModel.getDateType:()I
aload 4
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aload 2
3: iload 3
4: invokevirtual freemarker.core.Environment.getTemplateDateFormat:(ILjava/lang/Class;Lfreemarker/core/Expression;Z)Lfreemarker/core/TemplateDateFormat;
astore 5
start local 5 5: aload 5
areturn
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 6 0 this Lfreemarker/core/Environment;
0 6 1 tdm Lfreemarker/template/TemplateDateModel;
0 6 2 tdmSourceExpr Lfreemarker/core/Expression;
0 6 3 useTempModelExc Z
1 6 4 date Ljava/util/Date;
5 6 5 format Lfreemarker/core/TemplateDateFormat;
Exceptions:
throws freemarker.template.TemplateModelException, freemarker.template.TemplateException
MethodParameters:
Name Flags
tdm
tdmSourceExpr
useTempModelExc
freemarker.core.TemplateDateFormat getTemplateDateFormat(int, java.lang.Class<? extends java.util.Date>, freemarker.core.Expression, boolean);
descriptor: (ILjava/lang/Class;Lfreemarker/core/Expression;Z)Lfreemarker/core/TemplateDateFormat;
flags: (0x0000)
Code:
stack=8, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
iload 1
aload 2
invokevirtual freemarker.core.Environment.getTemplateDateFormat:(ILjava/lang/Class;)Lfreemarker/core/TemplateDateFormat;
1: areturn
2: StackMap locals:
StackMap stack: freemarker.core.UnknownDateTypeFormattingUnsupportedException
astore 5
start local 5 3: aload 3
aload 5
invokestatic freemarker.core._MessageUtil.newCantFormatUnknownTypeDateException:(Lfreemarker/core/Expression;Lfreemarker/core/UnknownDateTypeFormattingUnsupportedException;)Lfreemarker/core/_TemplateModelException;
athrow
end local 5 4: StackMap locals:
StackMap stack: freemarker.core.TemplateValueFormatException
astore 5
start local 5 5: iload 1
tableswitch { // 1 - 3
1: 6
2: 9
3: 12
default: 15
}
6: StackMap locals: freemarker.core.TemplateValueFormatException
StackMap stack:
ldc "time_format"
astore 6
start local 6 7: aload 0
invokevirtual freemarker.core.Environment.getTimeFormat:()Ljava/lang/String;
astore 7
start local 7 8: goto 17
end local 7 end local 6 9: StackMap locals:
StackMap stack:
ldc "date_format"
astore 6
start local 6 10: aload 0
invokevirtual freemarker.core.Environment.getDateFormat:()Ljava/lang/String;
astore 7
start local 7 11: goto 17
end local 7 end local 6 12: StackMap locals:
StackMap stack:
ldc "datetime_format"
astore 6
start local 6 13: aload 0
invokevirtual freemarker.core.Environment.getDateTimeFormat:()Ljava/lang/String;
astore 7
start local 7 14: goto 17
end local 7 end local 6 15: StackMap locals:
StackMap stack:
ldc "???"
astore 6
start local 6 16: ldc "???"
astore 7
start local 7 17: StackMap locals: java.lang.String java.lang.String
StackMap stack:
new freemarker.core._ErrorDescriptionBuilder
dup
bipush 6
anewarray java.lang.Object
dup
iconst_0
18: ldc "The value of the \""
aastore
dup
iconst_1
aload 6
aastore
dup
iconst_2
19: ldc "\" FreeMarker configuration setting is a malformed date/time/datetime format string: "
aastore
dup
iconst_3
20: new freemarker.core._DelayedJQuote
dup
aload 7
invokespecial freemarker.core._DelayedJQuote.<init>:(Ljava/lang/Object;)V
aastore
dup
iconst_4
ldc ". Reason given: "
aastore
dup
iconst_5
21: aload 5
invokevirtual freemarker.core.TemplateValueFormatException.getMessage:()Ljava/lang/String;
22: aastore
invokespecial freemarker.core._ErrorDescriptionBuilder.<init>:([Ljava/lang/Object;)V
astore 8
start local 8 23: iload 4
ifeq 24
new freemarker.core._TemplateModelException
dup
aload 5
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 8
aastore
invokespecial freemarker.core._TemplateModelException.<init>:(Ljava/lang/Throwable;[Ljava/lang/Object;)V
goto 25
StackMap locals: freemarker.core._ErrorDescriptionBuilder
StackMap stack:
24: new freemarker.core._MiscTemplateException
dup
aload 5
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 8
aastore
invokespecial freemarker.core._MiscTemplateException.<init>:(Ljava/lang/Throwable;[Ljava/lang/Object;)V
StackMap locals:
StackMap stack: freemarker.template.TemplateException
25: athrow
end local 8 end local 7 end local 6 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 26 0 this Lfreemarker/core/Environment;
0 26 1 dateType I
0 26 2 dateClass Ljava/lang/Class<+Ljava/util/Date;>;
0 26 3 blamedDateSourceExp Lfreemarker/core/Expression;
0 26 4 useTempModelExc Z
3 4 5 e Lfreemarker/core/UnknownDateTypeFormattingUnsupportedException;
5 26 5 e Lfreemarker/core/TemplateValueFormatException;
7 9 6 settingName Ljava/lang/String;
10 12 6 settingName Ljava/lang/String;
13 15 6 settingName Ljava/lang/String;
16 26 6 settingName Ljava/lang/String;
8 9 7 settingValue Ljava/lang/String;
11 12 7 settingValue Ljava/lang/String;
14 15 7 settingValue Ljava/lang/String;
17 26 7 settingValue Ljava/lang/String;
23 26 8 desc Lfreemarker/core/_ErrorDescriptionBuilder;
Exception table:
from to target type
0 1 2 Class freemarker.core.UnknownDateTypeFormattingUnsupportedException
0 1 4 Class freemarker.core.TemplateValueFormatException
Exceptions:
throws freemarker.template.TemplateException
Signature: (ILjava/lang/Class<+Ljava/util/Date;>;Lfreemarker/core/Expression;Z)Lfreemarker/core/TemplateDateFormat;
MethodParameters:
Name Flags
dateType
dateClass
blamedDateSourceExp
useTempModelExc
freemarker.core.TemplateDateFormat getTemplateDateFormat(java.lang.String, int, java.lang.Class<? extends java.util.Date>, freemarker.core.Expression, freemarker.core.Expression, boolean);
descriptor: (Ljava/lang/String;ILjava/lang/Class;Lfreemarker/core/Expression;Lfreemarker/core/Expression;Z)Lfreemarker/core/TemplateDateFormat;
flags: (0x0000)
Code:
stack=8, locals=9, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
aload 1
iload 2
aload 3
invokevirtual freemarker.core.Environment.getTemplateDateFormat:(Ljava/lang/String;ILjava/lang/Class;)Lfreemarker/core/TemplateDateFormat;
1: areturn
2: StackMap locals:
StackMap stack: freemarker.core.UnknownDateTypeFormattingUnsupportedException
astore 7
start local 7 3: aload 4
aload 7
invokestatic freemarker.core._MessageUtil.newCantFormatUnknownTypeDateException:(Lfreemarker/core/Expression;Lfreemarker/core/UnknownDateTypeFormattingUnsupportedException;)Lfreemarker/core/_TemplateModelException;
athrow
end local 7 4: StackMap locals:
StackMap stack: freemarker.core.TemplateValueFormatException
astore 7
start local 7 5: new freemarker.core._ErrorDescriptionBuilder
dup
iconst_4
anewarray java.lang.Object
dup
iconst_0
6: ldc "Can't create date/time/datetime format based on format string "
aastore
dup
iconst_1
7: new freemarker.core._DelayedJQuote
dup
aload 1
invokespecial freemarker.core._DelayedJQuote.<init>:(Ljava/lang/Object;)V
aastore
dup
iconst_2
ldc ". Reason given: "
aastore
dup
iconst_3
8: aload 7
invokevirtual freemarker.core.TemplateValueFormatException.getMessage:()Ljava/lang/String;
9: aastore
invokespecial freemarker.core._ErrorDescriptionBuilder.<init>:([Ljava/lang/Object;)V
10: aload 5
invokevirtual freemarker.core._ErrorDescriptionBuilder.blame:(Lfreemarker/core/Expression;)Lfreemarker/core/_ErrorDescriptionBuilder;
11: astore 8
start local 8 12: iload 6
ifeq 13
new freemarker.core._TemplateModelException
dup
aload 7
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 8
aastore
invokespecial freemarker.core._TemplateModelException.<init>:(Ljava/lang/Throwable;[Ljava/lang/Object;)V
goto 14
StackMap locals: freemarker.core.TemplateValueFormatException freemarker.core._ErrorDescriptionBuilder
StackMap stack:
13: new freemarker.core._MiscTemplateException
dup
aload 7
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 8
aastore
invokespecial freemarker.core._MiscTemplateException.<init>:(Ljava/lang/Throwable;[Ljava/lang/Object;)V
StackMap locals:
StackMap stack: freemarker.template.TemplateException
14: athrow
end local 8 end local 7 end local 6 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 15 0 this Lfreemarker/core/Environment;
0 15 1 formatString Ljava/lang/String;
0 15 2 dateType I
0 15 3 dateClass Ljava/lang/Class<+Ljava/util/Date;>;
0 15 4 blamedDateSourceExp Lfreemarker/core/Expression;
0 15 5 blamedFormatterExp Lfreemarker/core/Expression;
0 15 6 useTempModelExc Z
3 4 7 e Lfreemarker/core/UnknownDateTypeFormattingUnsupportedException;
5 15 7 e Lfreemarker/core/TemplateValueFormatException;
12 15 8 desc Lfreemarker/core/_ErrorDescriptionBuilder;
Exception table:
from to target type
0 1 2 Class freemarker.core.UnknownDateTypeFormattingUnsupportedException
0 1 4 Class freemarker.core.TemplateValueFormatException
Exceptions:
throws freemarker.template.TemplateException
Signature: (Ljava/lang/String;ILjava/lang/Class<+Ljava/util/Date;>;Lfreemarker/core/Expression;Lfreemarker/core/Expression;Z)Lfreemarker/core/TemplateDateFormat;
MethodParameters:
Name Flags
formatString
dateType
dateClass
blamedDateSourceExp
blamedFormatterExp
useTempModelExc
private freemarker.core.TemplateDateFormat getTemplateDateFormat(int, boolean, boolean);
descriptor: (IZZ)Lfreemarker/core/TemplateDateFormat;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 1
ifne 2
1: new freemarker.core.UnknownDateTypeFormattingUnsupportedException
dup
invokespecial freemarker.core.UnknownDateTypeFormattingUnsupportedException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
iload 1
iload 3
iload 2
invokevirtual freemarker.core.Environment.getTemplateDateFormatCacheArrayIndex:(IZZ)I
istore 4
start local 4 3: aload 0
getfield freemarker.core.Environment.cachedTempDateFormatArray:[Lfreemarker/core/TemplateDateFormat;
astore 5
start local 5 4: aload 5
ifnonnull 7
5: bipush 16
anewarray freemarker.core.TemplateDateFormat
astore 5
6: aload 0
aload 5
putfield freemarker.core.Environment.cachedTempDateFormatArray:[Lfreemarker/core/TemplateDateFormat;
7: StackMap locals: int freemarker.core.TemplateDateFormat[]
StackMap stack:
aload 5
iload 4
aaload
astore 6
start local 6 8: aload 6
ifnonnull 19
9: iload 1
tableswitch { // 1 - 3
1: 10
2: 12
3: 14
default: 16
}
10: StackMap locals: freemarker.core.TemplateDateFormat
StackMap stack:
aload 0
invokevirtual freemarker.core.Environment.getTimeFormat:()Ljava/lang/String;
astore 7
start local 7 11: goto 17
end local 7 12: StackMap locals:
StackMap stack:
aload 0
invokevirtual freemarker.core.Environment.getDateFormat:()Ljava/lang/String;
astore 7
start local 7 13: goto 17
end local 7 14: StackMap locals:
StackMap stack:
aload 0
invokevirtual freemarker.core.Environment.getDateTimeFormat:()Ljava/lang/String;
astore 7
start local 7 15: goto 17
end local 7 16: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Invalid date type enum: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
start local 7 17: StackMap locals: java.lang.String
StackMap stack:
aload 0
aload 7
iload 1
iload 2
iload 3
iconst_0
invokevirtual freemarker.core.Environment.getTemplateDateFormat:(Ljava/lang/String;IZZZ)Lfreemarker/core/TemplateDateFormat;
astore 6
18: aload 5
iload 4
aload 6
aastore
end local 7 19: StackMap locals:
StackMap stack:
aload 6
areturn
end local 6 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 20 0 this Lfreemarker/core/Environment;
0 20 1 dateType I
0 20 2 useSQLDTTZ Z
0 20 3 zonelessInput Z
3 20 4 cacheIdx I
4 20 5 cachedTemplateDateFormats [Lfreemarker/core/TemplateDateFormat;
8 20 6 format Lfreemarker/core/TemplateDateFormat;
11 12 7 formatString Ljava/lang/String;
13 14 7 formatString Ljava/lang/String;
15 16 7 formatString Ljava/lang/String;
17 19 7 formatString Ljava/lang/String;
Exceptions:
throws freemarker.core.TemplateValueFormatException
MethodParameters:
Name Flags
dateType
useSQLDTTZ
zonelessInput
private freemarker.core.TemplateDateFormat getTemplateDateFormat(java.lang.String, int, boolean, boolean, boolean);
descriptor: (Ljava/lang/String;IZZZ)Lfreemarker/core/TemplateDateFormat;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=10, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
getfield freemarker.core.Environment.cachedTempDateFormatsByFmtStrArray:[Ljava/util/HashMap;
astore 7
start local 7 1: aload 7
ifnonnull 8
2: iload 5
ifeq 6
3: bipush 16
anewarray java.util.HashMap
astore 7
4: aload 0
aload 7
putfield freemarker.core.Environment.cachedTempDateFormatsByFmtStrArray:[Ljava/util/HashMap;
5: goto 8
6: StackMap locals: freemarker.core.Environment java.lang.String int int int int top java.util.HashMap[]
StackMap stack:
aconst_null
astore 6
start local 6 7: goto 19
end local 6 8: StackMap locals:
StackMap stack:
aload 0
iload 2
iload 4
iload 3
invokevirtual freemarker.core.Environment.getTemplateDateFormatCacheArrayIndex:(IZZ)I
istore 9
start local 9 9: aload 7
iload 9
aaload
astore 6
start local 6 10: aload 6
ifnonnull 16
11: iload 5
ifeq 19
12: new java.util.HashMap
dup
iconst_4
invokespecial java.util.HashMap.<init>:(I)V
astore 6
13: aload 7
iload 9
aload 6
aastore
14: aconst_null
astore 8
start local 8 15: goto 17
end local 8 16: StackMap locals: freemarker.core.Environment java.lang.String int int int int java.util.HashMap java.util.HashMap[] top int
StackMap stack:
aload 6
aload 1
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast freemarker.core.TemplateDateFormat
astore 8
end local 9 start local 8 17: StackMap locals: freemarker.core.Environment java.lang.String int int int int java.util.HashMap java.util.HashMap[] freemarker.core.TemplateDateFormat
StackMap stack:
aload 8
ifnull 19
18: aload 8
areturn
end local 8 end local 7 19: StackMap locals:
StackMap stack:
aload 0
20: aload 1
21: iload 2
aload 0
invokevirtual freemarker.core.Environment.getLocale:()Ljava/util/Locale;
iload 3
ifeq 22
aload 0
invokevirtual freemarker.core.Environment.getSQLDateAndTimeTimeZone:()Ljava/util/TimeZone;
goto 23
StackMap locals: freemarker.core.Environment java.lang.String int int int int java.util.HashMap
StackMap stack: freemarker.core.Environment java.lang.String int java.util.Locale
22: aload 0
invokevirtual freemarker.core.Environment.getTimeZone:()Ljava/util/TimeZone;
23: StackMap locals: freemarker.core.Environment java.lang.String int int int int java.util.HashMap
StackMap stack: freemarker.core.Environment java.lang.String int java.util.Locale java.util.TimeZone
iload 4
24: invokevirtual freemarker.core.Environment.getTemplateDateFormatWithoutCache:(Ljava/lang/String;ILjava/util/Locale;Ljava/util/TimeZone;Z)Lfreemarker/core/TemplateDateFormat;
astore 7
start local 7 25: iload 5
ifeq 27
26: aload 6
aload 1
aload 7
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
27: StackMap locals: freemarker.core.TemplateDateFormat
StackMap stack:
aload 7
areturn
end local 7 end local 6 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 28 0 this Lfreemarker/core/Environment;
0 28 1 formatString Ljava/lang/String;
0 28 2 dateType I
0 28 3 useSQLDTTimeZone Z
0 28 4 zonelessInput Z
0 28 5 cacheResult Z
7 8 6 cachedFormatsByFormatString Ljava/util/HashMap<Ljava/lang/String;Lfreemarker/core/TemplateDateFormat;>;
10 28 6 cachedFormatsByFormatString Ljava/util/HashMap<Ljava/lang/String;Lfreemarker/core/TemplateDateFormat;>;
1 19 7 cachedTempDateFormatsByFmtStrArray [Ljava/util/HashMap;
15 16 8 format Lfreemarker/core/TemplateDateFormat;
17 19 8 format Lfreemarker/core/TemplateDateFormat;
9 17 9 cacheArrIdx I
25 28 7 format Lfreemarker/core/TemplateDateFormat;
Exceptions:
throws freemarker.core.TemplateValueFormatException
MethodParameters:
Name Flags
formatString
dateType
useSQLDTTimeZone
zonelessInput
cacheResult
private freemarker.core.TemplateDateFormat getTemplateDateFormatWithoutCache(java.lang.String, int, java.util.Locale, java.util.TimeZone, boolean);
descriptor: (Ljava/lang/String;ILjava/util/Locale;Ljava/util/TimeZone;Z)Lfreemarker/core/TemplateDateFormat;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=13, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 1
invokevirtual java.lang.String.length:()I
istore 6
start local 6 1: iload 6
ifeq 2
aload 1
iconst_0
invokevirtual java.lang.String.charAt:(I)C
goto 3
StackMap locals: int
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: istore 9
start local 9 4: iload 9
bipush 120
if_icmpne 10
5: iload 6
iconst_1
if_icmple 10
6: aload 1
iconst_1
invokevirtual java.lang.String.charAt:(I)C
bipush 115
if_icmpne 10
7: getstatic freemarker.core.XSTemplateDateFormatFactory.INSTANCE:Lfreemarker/core/XSTemplateDateFormatFactory;
astore 8
start local 8 8: aload 1
astore 7
start local 7 9: goto 39
end local 8 end local 7 StackMap locals: freemarker.core.Environment java.lang.String int java.util.Locale java.util.TimeZone int int top top int
StackMap stack:
10: iload 9
bipush 105
if_icmpne 17
11: iload 6
iconst_2
if_icmple 17
12: aload 1
iconst_1
invokevirtual java.lang.String.charAt:(I)C
bipush 115
if_icmpne 17
13: aload 1
iconst_2
invokevirtual java.lang.String.charAt:(I)C
bipush 111
if_icmpne 17
14: getstatic freemarker.core.ISOTemplateDateFormatFactory.INSTANCE:Lfreemarker/core/ISOTemplateDateFormatFactory;
astore 8
start local 8 15: aload 1
astore 7
start local 7 16: goto 39
end local 8 end local 7 StackMap locals:
StackMap stack:
17: iload 9
bipush 64
if_icmpne 37
18: iload 6
iconst_1
if_icmple 37
19: aload 0
invokevirtual freemarker.core.Environment.isIcI2324OrLater:()Z
ifne 20
aload 0
invokevirtual freemarker.core.Environment.hasCustomFormats:()Z
ifeq 37
20: StackMap locals:
StackMap stack:
aload 1
iconst_1
invokevirtual java.lang.String.charAt:(I)C
invokestatic java.lang.Character.isLetter:(C)Z
ifeq 37
21: iconst_1
istore 11
start local 11 22: goto 27
23: StackMap locals: freemarker.core.Environment java.lang.String int java.util.Locale java.util.TimeZone int int top top int top int
StackMap stack:
aload 1
iload 11
invokevirtual java.lang.String.charAt:(I)C
istore 12
start local 12 24: iload 12
bipush 32
if_icmpeq 28
iload 12
bipush 95
if_icmpne 26
25: goto 28
end local 12 26: StackMap locals:
StackMap stack:
iinc 11 1
StackMap locals:
StackMap stack:
27: iload 11
iload 6
if_icmplt 23
28: StackMap locals:
StackMap stack:
aload 1
iconst_1
iload 11
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 10
start local 10 29: iload 11
iload 6
if_icmpge 30
aload 1
iload 11
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
goto 31
StackMap locals: freemarker.core.Environment java.lang.String int java.util.Locale java.util.TimeZone int int top top int java.lang.String int
StackMap stack:
30: ldc ""
StackMap locals:
StackMap stack: java.lang.String
31: astore 7
end local 11 start local 7 32: aload 0
aload 10
invokevirtual freemarker.core.Environment.getCustomDateFormat:(Ljava/lang/String;)Lfreemarker/core/TemplateDateFormatFactory;
astore 8
start local 8 33: aload 8
ifnonnull 39
34: new freemarker.core.UndefinedCustomFormatException
dup
35: new java.lang.StringBuilder
dup
ldc "No custom date format was defined with name "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 10
invokestatic freemarker.template.utility.StringUtil.jQuote:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
36: invokespecial freemarker.core.UndefinedCustomFormatException.<init>:(Ljava/lang/String;)V
athrow
end local 10 end local 8 end local 7 37: StackMap locals:
StackMap stack:
aload 1
astore 7
start local 7 38: getstatic freemarker.core.JavaTemplateDateFormatFactory.INSTANCE:Lfreemarker/core/JavaTemplateDateFormatFactory;
astore 8
start local 8 39: StackMap locals: freemarker.core.Environment java.lang.String int java.util.Locale java.util.TimeZone int int java.lang.String freemarker.core.TemplateDateFormatFactory int
StackMap stack:
aload 8
aload 7
iload 2
aload 3
aload 4
40: iload 5
aload 0
41: invokevirtual freemarker.core.TemplateDateFormatFactory.get:(Ljava/lang/String;ILjava/util/Locale;Ljava/util/TimeZone;ZLfreemarker/core/Environment;)Lfreemarker/core/TemplateDateFormat;
areturn
end local 9 end local 8 end local 7 end local 6 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 42 0 this Lfreemarker/core/Environment;
0 42 1 formatString Ljava/lang/String;
0 42 2 dateType I
0 42 3 locale Ljava/util/Locale;
0 42 4 timeZone Ljava/util/TimeZone;
0 42 5 zonelessInput Z
1 42 6 formatStringLen I
9 10 7 formatParams Ljava/lang/String;
16 17 7 formatParams Ljava/lang/String;
32 37 7 formatParams Ljava/lang/String;
38 42 7 formatParams Ljava/lang/String;
8 10 8 formatFactory Lfreemarker/core/TemplateDateFormatFactory;
15 17 8 formatFactory Lfreemarker/core/TemplateDateFormatFactory;
33 37 8 formatFactory Lfreemarker/core/TemplateDateFormatFactory;
39 42 8 formatFactory Lfreemarker/core/TemplateDateFormatFactory;
4 42 9 firstChar C
29 37 10 name Ljava/lang/String;
22 32 11 endIdx I
24 26 12 c C
Exceptions:
throws freemarker.core.TemplateValueFormatException
MethodParameters:
Name Flags
formatString
dateType
locale
timeZone
zonelessInput
boolean shouldUseSQLDTTZ(java.lang.Class);
descriptor: (Ljava/lang/Class;)Z
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ldc Ljava/util/Date;
if_acmpeq 4
1: aload 0
invokevirtual freemarker.core.Environment.isSQLDateAndTimeTimeZoneSameAsNormal:()Z
ifne 4
2: aload 1
invokestatic freemarker.core.Environment.isSQLDateOrTimeClass:(Ljava/lang/Class;)Z
ifeq 4
3: iconst_1
ireturn
StackMap locals:
StackMap stack:
4: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lfreemarker/core/Environment;
0 5 1 dateClass Ljava/lang/Class;
MethodParameters:
Name Flags
dateClass
private boolean shouldUseSQLDTTimeZone(boolean);
descriptor: (Z)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: iload 1
ifeq 1
aload 0
invokevirtual freemarker.core.Environment.isSQLDateAndTimeTimeZoneSameAsNormal:()Z
ifne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lfreemarker/core/Environment;
0 2 1 sqlDateOrTime Z
MethodParameters:
Name Flags
sqlDateOrTime
private static boolean isSQLDateOrTimeClass(java.lang.Class);
descriptor: (Ljava/lang/Class;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc Ljava/util/Date;
if_acmpeq 6
1: aload 0
ldc Ljava/sql/Date;
if_acmpeq 5
aload 0
ldc Ljava/sql/Time;
if_acmpeq 5
2: aload 0
ldc Ljava/sql/Timestamp;
if_acmpeq 6
3: ldc Ljava/sql/Date;
aload 0
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifne 5
4: ldc Ljava/sql/Time;
aload 0
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 6
5: StackMap locals:
StackMap stack:
iconst_1
ireturn
StackMap locals:
StackMap stack:
6: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 dateClass Ljava/lang/Class;
MethodParameters:
Name Flags
dateClass
private int getTemplateDateFormatCacheArrayIndex(int, boolean, boolean);
descriptor: (IZZ)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 1
1: iload 2
ifeq 2
iconst_4
goto 3
StackMap locals:
StackMap stack: int
2: iconst_0
3: StackMap locals: freemarker.core.Environment int int int
StackMap stack: int int
iadd
4: iload 3
ifeq 5
bipush 8
goto 6
StackMap locals:
StackMap stack: int
5: iconst_0
6: StackMap locals: freemarker.core.Environment int int int
StackMap stack: int int
iadd
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lfreemarker/core/Environment;
0 7 1 dateType I
0 7 2 zonelessInput Z
0 7 3 sqlDTTZ Z
MethodParameters:
Name Flags
dateType
zonelessInput
sqlDTTZ
freemarker.template.utility.DateUtil$DateToISO8601CalendarFactory getISOBuiltInCalendarFactory();
descriptor: ()Lfreemarker/template/utility/DateUtil$DateToISO8601CalendarFactory;
flags: (0x0000)
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield freemarker.core.Environment.isoBuiltInCalendarFactory:Lfreemarker/template/utility/DateUtil$DateToISO8601CalendarFactory;
ifnonnull 2
1: aload 0
new freemarker.template.utility.DateUtil$TrivialDateToISO8601CalendarFactory
dup
invokespecial freemarker.template.utility.DateUtil$TrivialDateToISO8601CalendarFactory.<init>:()V
putfield freemarker.core.Environment.isoBuiltInCalendarFactory:Lfreemarker/template/utility/DateUtil$DateToISO8601CalendarFactory;
2: StackMap locals:
StackMap stack:
aload 0
getfield freemarker.core.Environment.isoBuiltInCalendarFactory:Lfreemarker/template/utility/DateUtil$DateToISO8601CalendarFactory;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lfreemarker/core/Environment;
freemarker.template.TemplateTransformModel getTransform(freemarker.core.Expression);
descriptor: (Lfreemarker/core/Expression;)Lfreemarker/template/TemplateTransformModel;
flags: (0x0000)
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aload 1
aload 0
invokevirtual freemarker.core.Expression.eval:(Lfreemarker/core/Environment;)Lfreemarker/template/TemplateModel;
astore 3
start local 3 2: aload 3
instanceof freemarker.template.TemplateTransformModel
ifeq 5
3: aload 3
checkcast freemarker.template.TemplateTransformModel
astore 2
4: goto 9
StackMap locals: freemarker.template.TemplateTransformModel freemarker.template.TemplateModel
StackMap stack:
5: aload 1
instanceof freemarker.core.Identifier
ifeq 9
6: aload 0
getfield freemarker.core.Environment.configuration:Lfreemarker/template/Configuration;
aload 1
invokevirtual freemarker.core.Expression.toString:()Ljava/lang/String;
invokevirtual freemarker.template.Configuration.getSharedVariable:(Ljava/lang/String;)Lfreemarker/template/TemplateModel;
astore 3
7: aload 3
instanceof freemarker.template.TemplateTransformModel
ifeq 9
8: aload 3
checkcast freemarker.template.TemplateTransformModel
astore 2
9: StackMap locals:
StackMap stack:
aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lfreemarker/core/Environment;
0 10 1 exp Lfreemarker/core/Expression;
1 10 2 ttm Lfreemarker/template/TemplateTransformModel;
2 10 3 tm Lfreemarker/template/TemplateModel;
Exceptions:
throws freemarker.template.TemplateException
MethodParameters:
Name Flags
exp
public freemarker.template.TemplateModel getLocalVariable(java.lang.String);
descriptor: (Ljava/lang/String;)Lfreemarker/template/TemplateModel;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield freemarker.core.Environment.localContextStack:Lfreemarker/core/LocalContextStack;
ifnull 9
1: aload 0
getfield freemarker.core.Environment.localContextStack:Lfreemarker/core/LocalContextStack;
invokevirtual freemarker.core.LocalContextStack.size:()I
iconst_1
isub
istore 2
start local 2 2: goto 8
3: StackMap locals: int
StackMap stack:
aload 0
getfield freemarker.core.Environment.localContextStack:Lfreemarker/core/LocalContextStack;
iload 2
invokevirtual freemarker.core.LocalContextStack.get:(I)Lfreemarker/core/LocalContext;
astore 3
start local 3 4: aload 3
aload 1
invokeinterface freemarker.core.LocalContext.getLocalVariable:(Ljava/lang/String;)Lfreemarker/template/TemplateModel;
astore 4
start local 4 5: aload 4
ifnull 7
6: aload 4
areturn
end local 4 end local 3 7: StackMap locals:
StackMap stack:
iinc 2 -1
StackMap locals:
StackMap stack:
8: iload 2
ifge 3
end local 2 9: StackMap locals:
StackMap stack:
aload 0
getfield freemarker.core.Environment.currentMacroContext:Lfreemarker/core/Macro$Context;
ifnonnull 10
aconst_null
goto 11
StackMap locals:
StackMap stack:
10: aload 0
getfield freemarker.core.Environment.currentMacroContext:Lfreemarker/core/Macro$Context;
aload 1
invokevirtual freemarker.core.Macro$Context.getLocalVariable:(Ljava/lang/String;)Lfreemarker/template/TemplateModel;
StackMap locals:
StackMap stack: freemarker.template.TemplateModel
11: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lfreemarker/core/Environment;
0 12 1 name Ljava/lang/String;
2 9 2 i I
4 7 3 lc Lfreemarker/core/LocalContext;
5 7 4 tm Lfreemarker/template/TemplateModel;
Exceptions:
throws freemarker.template.TemplateModelException
MethodParameters:
Name Flags
name
public freemarker.template.TemplateModel getVariable(java.lang.String);
descriptor: (Ljava/lang/String;)Lfreemarker/template/TemplateModel;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual freemarker.core.Environment.getLocalVariable:(Ljava/lang/String;)Lfreemarker/template/TemplateModel;
astore 2
start local 2 1: aload 2
ifnonnull 3
2: aload 0
getfield freemarker.core.Environment.currentNamespace:Lfreemarker/core/Environment$Namespace;
aload 1
invokevirtual freemarker.core.Environment$Namespace.get:(Ljava/lang/String;)Lfreemarker/template/TemplateModel;
astore 2
3: StackMap locals: freemarker.template.TemplateModel
StackMap stack:
aload 2
ifnonnull 5
4: aload 0
aload 1
invokevirtual freemarker.core.Environment.getGlobalVariable:(Ljava/lang/String;)Lfreemarker/template/TemplateModel;
astore 2
5: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lfreemarker/core/Environment;
0 6 1 name Ljava/lang/String;
1 6 2 result Lfreemarker/template/TemplateModel;
Exceptions:
throws freemarker.template.TemplateModelException
MethodParameters:
Name Flags
name
public freemarker.template.TemplateModel getGlobalVariable(java.lang.String);
descriptor: (Ljava/lang/String;)Lfreemarker/template/TemplateModel;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield freemarker.core.Environment.globalNamespace:Lfreemarker/core/Environment$Namespace;
aload 1
invokevirtual freemarker.core.Environment$Namespace.get:(Ljava/lang/String;)Lfreemarker/template/TemplateModel;
astore 2
start local 2 1: aload 2
ifnonnull 3
2: aload 0
getfield freemarker.core.Environment.rootDataModel:Lfreemarker/template/TemplateHashModel;
aload 1
invokeinterface freemarker.template.TemplateHashModel.get:(Ljava/lang/String;)Lfreemarker/template/TemplateModel;
astore 2
3: StackMap locals: freemarker.template.TemplateModel
StackMap stack:
aload 2
ifnonnull 5
4: aload 0
getfield freemarker.core.Environment.configuration:Lfreemarker/template/Configuration;
aload 1
invokevirtual freemarker.template.Configuration.getSharedVariable:(Ljava/lang/String;)Lfreemarker/template/TemplateModel;
astore 2
5: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lfreemarker/core/Environment;
0 6 1 name Ljava/lang/String;
1 6 2 result Lfreemarker/template/TemplateModel;
Exceptions:
throws freemarker.template.TemplateModelException
MethodParameters:
Name Flags
name
public void setGlobalVariable(java.lang.String, freemarker.template.TemplateModel);
descriptor: (Ljava/lang/String;Lfreemarker/template/TemplateModel;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield freemarker.core.Environment.globalNamespace:Lfreemarker/core/Environment$Namespace;
aload 1
aload 2
invokevirtual freemarker.core.Environment$Namespace.put:(Ljava/lang/String;Ljava/lang/Object;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lfreemarker/core/Environment;
0 2 1 name Ljava/lang/String;
0 2 2 model Lfreemarker/template/TemplateModel;
MethodParameters:
Name Flags
name
model
public void setVariable(java.lang.String, freemarker.template.TemplateModel);
descriptor: (Ljava/lang/String;Lfreemarker/template/TemplateModel;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield freemarker.core.Environment.currentNamespace:Lfreemarker/core/Environment$Namespace;
aload 1
aload 2
invokevirtual freemarker.core.Environment$Namespace.put:(Ljava/lang/String;Ljava/lang/Object;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lfreemarker/core/Environment;
0 2 1 name Ljava/lang/String;
0 2 2 model Lfreemarker/template/TemplateModel;
MethodParameters:
Name Flags
name
model
public void setLocalVariable(java.lang.String, freemarker.template.TemplateModel);
descriptor: (Ljava/lang/String;Lfreemarker/template/TemplateModel;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield freemarker.core.Environment.currentMacroContext:Lfreemarker/core/Macro$Context;
ifnonnull 2
1: new java.lang.IllegalStateException
dup
ldc "Not executing macro body"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield freemarker.core.Environment.currentMacroContext:Lfreemarker/core/Macro$Context;
aload 1
aload 2
invokevirtual freemarker.core.Macro$Context.setLocalVar:(Ljava/lang/String;Lfreemarker/template/TemplateModel;)V
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lfreemarker/core/Environment;
0 4 1 name Ljava/lang/String;
0 4 2 model Lfreemarker/template/TemplateModel;
MethodParameters:
Name Flags
name
model
public java.util.Set getKnownVariableNames();
descriptor: ()Ljava/util/Set;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=1
start local 0 0: aload 0
getfield freemarker.core.Environment.configuration:Lfreemarker/template/Configuration;
invokevirtual freemarker.template.Configuration.getSharedVariableNames:()Ljava/util/Set;
astore 1
start local 1 1: aload 0
getfield freemarker.core.Environment.rootDataModel:Lfreemarker/template/TemplateHashModel;
instanceof freemarker.template.TemplateHashModelEx
ifeq 6
2: aload 0
getfield freemarker.core.Environment.rootDataModel:Lfreemarker/template/TemplateHashModel;
checkcast freemarker.template.TemplateHashModelEx
invokeinterface freemarker.template.TemplateHashModelEx.keys:()Lfreemarker/template/TemplateCollectionModel;
invokeinterface freemarker.template.TemplateCollectionModel.iterator:()Lfreemarker/template/TemplateModelIterator;
astore 2
start local 2 3: goto 5
4: StackMap locals: java.util.Set freemarker.template.TemplateModelIterator
StackMap stack:
aload 1
aload 2
invokeinterface freemarker.template.TemplateModelIterator.next:()Lfreemarker/template/TemplateModel;
checkcast freemarker.template.TemplateScalarModel
invokeinterface freemarker.template.TemplateScalarModel.getAsString:()Ljava/lang/String;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
5: StackMap locals:
StackMap stack:
aload 2
invokeinterface freemarker.template.TemplateModelIterator.hasNext:()Z
ifne 4
end local 2 6: StackMap locals:
StackMap stack:
aload 0
getfield freemarker.core.Environment.globalNamespace:Lfreemarker/core/Environment$Namespace;
invokevirtual freemarker.core.Environment$Namespace.keys:()Lfreemarker/template/TemplateCollectionModel;
invokeinterface freemarker.template.TemplateCollectionModel.iterator:()Lfreemarker/template/TemplateModelIterator;
astore 2
start local 2 7: goto 9
8: StackMap locals: freemarker.template.TemplateModelIterator
StackMap stack:
aload 1
aload 2
invokeinterface freemarker.template.TemplateModelIterator.next:()Lfreemarker/template/TemplateModel;
checkcast freemarker.template.TemplateScalarModel
invokeinterface freemarker.template.TemplateScalarModel.getAsString:()Ljava/lang/String;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
9: StackMap locals:
StackMap stack:
aload 2
invokeinterface freemarker.template.TemplateModelIterator.hasNext:()Z
ifne 8
end local 2 10: aload 0
getfield freemarker.core.Environment.currentNamespace:Lfreemarker/core/Environment$Namespace;
invokevirtual freemarker.core.Environment$Namespace.keys:()Lfreemarker/template/TemplateCollectionModel;
invokeinterface freemarker.template.TemplateCollectionModel.iterator:()Lfreemarker/template/TemplateModelIterator;
astore 2
start local 2 11: goto 13
12: StackMap locals:
StackMap stack:
aload 1
aload 2
invokeinterface freemarker.template.TemplateModelIterator.next:()Lfreemarker/template/TemplateModel;
checkcast freemarker.template.TemplateScalarModel
invokeinterface freemarker.template.TemplateScalarModel.getAsString:()Ljava/lang/String;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
13: StackMap locals:
StackMap stack:
aload 2
invokeinterface freemarker.template.TemplateModelIterator.hasNext:()Z
ifne 12
end local 2 14: aload 0
getfield freemarker.core.Environment.currentMacroContext:Lfreemarker/core/Macro$Context;
ifnull 16
15: aload 1
aload 0
getfield freemarker.core.Environment.currentMacroContext:Lfreemarker/core/Macro$Context;
invokevirtual freemarker.core.Macro$Context.getLocalVariableNames:()Ljava/util/Collection;
invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
pop
16: StackMap locals:
StackMap stack:
aload 0
getfield freemarker.core.Environment.localContextStack:Lfreemarker/core/LocalContextStack;
ifnull 23
17: aload 0
getfield freemarker.core.Environment.localContextStack:Lfreemarker/core/LocalContextStack;
invokevirtual freemarker.core.LocalContextStack.size:()I
iconst_1
isub
istore 2
start local 2 18: goto 22
19: StackMap locals: int
StackMap stack:
aload 0
getfield freemarker.core.Environment.localContextStack:Lfreemarker/core/LocalContextStack;
iload 2
invokevirtual freemarker.core.LocalContextStack.get:(I)Lfreemarker/core/LocalContext;
astore 3
start local 3 20: aload 1
aload 3
invokeinterface freemarker.core.LocalContext.getLocalVariableNames:()Ljava/util/Collection;
invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
pop
end local 3 21: iinc 2 -1
StackMap locals:
StackMap stack:
22: iload 2
ifge 19
end local 2 23: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lfreemarker/core/Environment;
1 24 1 set Ljava/util/Set;
3 6 2 rootNames Lfreemarker/template/TemplateModelIterator;
7 10 2 tmi Lfreemarker/template/TemplateModelIterator;
11 14 2 tmi Lfreemarker/template/TemplateModelIterator;
18 23 2 i I
20 21 3 lc Lfreemarker/core/LocalContext;
Exceptions:
throws freemarker.template.TemplateModelException
public void outputInstructionStack(java.io.PrintWriter);
descriptor: (Ljava/io/PrintWriter;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual freemarker.core.Environment.getInstructionStackSnapshot:()[Lfreemarker/core/TemplateElement;
iconst_0
aload 1
invokestatic freemarker.core.Environment.outputInstructionStack:([Lfreemarker/core/TemplateElement;ZLjava/io/Writer;)V
1: aload 1
invokevirtual java.io.PrintWriter.flush:()V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lfreemarker/core/Environment;
0 3 1 pw Ljava/io/PrintWriter;
MethodParameters:
Name Flags
pw
static void outputInstructionStack(freemarker.core.TemplateElement[], boolean, java.io.Writer);
descriptor: ([Lfreemarker/core/TemplateElement;ZLjava/io/Writer;)V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=13, args_size=3
start local 0 start local 1 start local 2 0: aload 2
instanceof java.io.PrintWriter
ifeq 1
aload 2
goto 2
StackMap locals:
StackMap stack:
1: aconst_null
StackMap locals:
StackMap stack: java.io.Writer
2: checkcast java.io.PrintWriter
astore 3
start local 3 3: aload 0
ifnull 62
4: aload 0
arraylength
istore 4
start local 4 5: iload 1
ifeq 9
6: iload 4
bipush 10
if_icmpgt 8
7: iload 4
goto 10
8: StackMap locals: java.io.PrintWriter int
StackMap stack:
bipush 9
goto 10
9: StackMap locals:
StackMap stack:
iload 4
10: StackMap locals:
StackMap stack: int
istore 5
start local 5 11: iload 1
ifeq 12
iload 5
iload 4
if_icmpge 12
iconst_1
goto 13
StackMap locals: int
StackMap stack:
12: iconst_0
StackMap locals:
StackMap stack: int
13: istore 6
start local 6 14: iconst_0
istore 7
start local 7 15: iconst_0
istore 8
start local 8 16: iconst_0
istore 9
start local 9 17: iconst_0
istore 10
start local 10 18: goto 42
19: StackMap locals: freemarker.core.TemplateElement[] int java.io.Writer java.io.PrintWriter int int int int int int int
StackMap stack:
aload 0
iload 10
aaload
astore 11
start local 11 20: iload 10
ifle 21
aload 11
instanceof freemarker.core.BodyInstruction
ifne 23
21: StackMap locals: freemarker.core.TemplateElement
StackMap stack:
iload 10
iconst_1
if_icmple 22
aload 0
iload 10
iconst_1
isub
aaload
instanceof freemarker.core.BodyInstruction
ifne 23
22: StackMap locals:
StackMap stack:
iconst_0
goto 24
StackMap locals:
StackMap stack:
23: iconst_1
StackMap locals:
StackMap stack: int
24: istore 12
start local 12 25: iload 9
iload 5
if_icmpge 40
26: iload 12
ifeq 27
iload 6
ifne 38
27: StackMap locals: int
StackMap stack:
aload 2
iload 10
ifne 29
28: ldc "\t- Failed at: "
goto 32
29: StackMap locals:
StackMap stack: java.io.Writer
iload 12
ifeq 31
30: ldc "\t~ Reached through: "
goto 32
31: StackMap locals:
StackMap stack: java.io.Writer
ldc "\t- Reached through: "
32: StackMap locals: freemarker.core.TemplateElement[] int java.io.Writer java.io.PrintWriter int int int int int int int freemarker.core.TemplateElement int
StackMap stack: java.io.Writer java.lang.String
invokevirtual java.io.Writer.write:(Ljava/lang/String;)V
33: aload 2
aload 11
invokestatic freemarker.core.Environment.instructionStackItemToString:(Lfreemarker/core/TemplateElement;)Ljava/lang/String;
invokevirtual java.io.Writer.write:(Ljava/lang/String;)V
34: aload 3
ifnull 35
aload 3
invokevirtual java.io.PrintWriter.println:()V
goto 36
35: StackMap locals:
StackMap stack:
aload 2
bipush 10
invokevirtual java.io.Writer.write:(I)V
36: StackMap locals:
StackMap stack:
iinc 9 1
37: goto 41
38: StackMap locals:
StackMap stack:
iinc 7 1
39: goto 41
40: StackMap locals:
StackMap stack:
iinc 8 1
end local 12 end local 11 41: StackMap locals:
StackMap stack:
iinc 10 1
StackMap locals:
StackMap stack:
42: iload 10
iload 4
if_icmplt 19
end local 10 43: iconst_0
istore 10
start local 10 44: iload 8
ifle 49
45: aload 2
ldc "\t... (Had "
invokevirtual java.io.Writer.write:(Ljava/lang/String;)V
46: aload 2
iload 8
iload 7
iadd
invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
invokevirtual java.io.Writer.write:(Ljava/lang/String;)V
47: aload 2
ldc " more, hidden for tersenes)"
invokevirtual java.io.Writer.write:(Ljava/lang/String;)V
48: iconst_1
istore 10
49: StackMap locals: freemarker.core.TemplateElement[] int java.io.Writer java.io.PrintWriter int int int int int int int
StackMap stack:
iload 7
ifle 58
50: iload 10
ifeq 53
51: aload 2
bipush 32
invokevirtual java.io.Writer.write:(I)V
52: goto 54
53: StackMap locals:
StackMap stack:
aload 2
bipush 9
invokevirtual java.io.Writer.write:(I)V
54: StackMap locals:
StackMap stack:
aload 2
new java.lang.StringBuilder
dup
ldc "(Hidden "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 7
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " \"~\" lines for terseness)"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.Writer.write:(Ljava/lang/String;)V
55: aload 3
ifnull 56
aload 3
invokevirtual java.io.PrintWriter.println:()V
goto 57
56: StackMap locals:
StackMap stack:
aload 2
bipush 10
invokevirtual java.io.Writer.write:(I)V
57: StackMap locals:
StackMap stack:
iconst_1
istore 10
58: StackMap locals:
StackMap stack:
iload 10
ifeq 68
59: aload 3
ifnull 60
aload 3
invokevirtual java.io.PrintWriter.println:()V
goto 68
60: StackMap locals:
StackMap stack:
aload 2
bipush 10
invokevirtual java.io.Writer.write:(I)V
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 61: goto 68
62: StackMap locals: freemarker.core.TemplateElement[] int java.io.Writer java.io.PrintWriter
StackMap stack:
aload 2
ldc "(The stack was empty)"
invokevirtual java.io.Writer.write:(Ljava/lang/String;)V
63: aload 3
ifnull 64
aload 3
invokevirtual java.io.PrintWriter.println:()V
goto 68
64: StackMap locals:
StackMap stack:
aload 2
bipush 10
invokevirtual java.io.Writer.write:(I)V
65: goto 68
StackMap locals:
StackMap stack: java.io.IOException
66: astore 4
start local 4 67: getstatic freemarker.core.Environment.LOG:Lfreemarker/log/Logger;
ldc "Failed to print FTL stack trace"
aload 4
invokevirtual freemarker.log.Logger.error:(Ljava/lang/String;Ljava/lang/Throwable;)V
end local 4 68: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 69 0 instructionStackSnapshot [Lfreemarker/core/TemplateElement;
0 69 1 terseMode Z
0 69 2 w Ljava/io/Writer;
3 69 3 pw Ljava/io/PrintWriter;
5 61 4 totalFrames I
11 61 5 framesToPrint I
14 61 6 hideNestringRelatedFrames Z
15 61 7 nestingRelatedFramesHidden I
16 61 8 trailingFramesHidden I
17 61 9 framesPrinted I
18 43 10 frameIdx I
20 41 11 stackEl Lfreemarker/core/TemplateElement;
25 41 12 nestingRelatedElement Z
44 61 10 hadClosingNotes Z
67 68 4 e Ljava/io/IOException;
Exception table:
from to target type
3 65 66 Class java.io.IOException
MethodParameters:
Name Flags
instructionStackSnapshot
terseMode
w
freemarker.core.TemplateElement[] getInstructionStackSnapshot();
descriptor: ()[Lfreemarker/core/TemplateElement;
flags: (0x0000)
Code:
stack=3, locals=7, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: aload 0
getfield freemarker.core.Environment.instructionStackSize:I
istore 2
start local 2 2: iconst_0
istore 3
start local 3 3: goto 8
4: StackMap locals: int int int
StackMap stack:
aload 0
getfield freemarker.core.Environment.instructionStack:[Lfreemarker/core/TemplateElement;
iload 3
aaload
astore 4
start local 4 5: iload 3
iload 2
iconst_1
isub
if_icmpeq 6
aload 4
invokevirtual freemarker.core.TemplateElement.isShownInStackTrace:()Z
ifeq 7
6: StackMap locals: freemarker.core.TemplateElement
StackMap stack:
iinc 1 1
end local 4 7: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
8: iload 3
iload 2
if_icmplt 4
end local 3 9: iload 1
ifne 10
aconst_null
areturn
10: StackMap locals:
StackMap stack:
iload 1
anewarray freemarker.core.TemplateElement
astore 3
start local 3 11: iload 1
iconst_1
isub
istore 4
start local 4 12: iconst_0
istore 5
start local 5 13: goto 18
14: StackMap locals: freemarker.core.TemplateElement[] int int
StackMap stack:
aload 0
getfield freemarker.core.Environment.instructionStack:[Lfreemarker/core/TemplateElement;
iload 5
aaload
astore 6
start local 6 15: iload 5
iload 2
iconst_1
isub
if_icmpeq 16
aload 6
invokevirtual freemarker.core.TemplateElement.isShownInStackTrace:()Z
ifeq 17
16: StackMap locals: freemarker.core.TemplateElement
StackMap stack:
aload 3
iload 4
iinc 4 -1
aload 6
aastore
end local 6 17: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
18: iload 5
iload 2
if_icmplt 14
end local 5 19: aload 3
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lfreemarker/core/Environment;
1 20 1 requiredLength I
2 20 2 ln I
3 9 3 i I
5 7 4 stackEl Lfreemarker/core/TemplateElement;
11 20 3 result [Lfreemarker/core/TemplateElement;
12 20 4 dstIdx I
13 19 5 i I
15 17 6 stackEl Lfreemarker/core/TemplateElement;
static java.lang.String instructionStackItemToString(freemarker.core.TemplateElement);
descriptor: (Lfreemarker/core/TemplateElement;)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 1
start local 1 1: aload 0
aload 1
invokestatic freemarker.core.Environment.appendInstructionStackItem:(Lfreemarker/core/TemplateElement;Ljava/lang/StringBuilder;)V
2: aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 stackEl Lfreemarker/core/TemplateElement;
1 3 1 sb Ljava/lang/StringBuilder;
MethodParameters:
Name Flags
stackEl
static void appendInstructionStackItem(freemarker.core.TemplateElement, java.lang.StringBuilder);
descriptor: (Lfreemarker/core/TemplateElement;Ljava/lang/StringBuilder;)V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 1
aload 0
invokevirtual freemarker.core.TemplateElement.getDescription:()Ljava/lang/String;
bipush 40
invokestatic freemarker.core._MessageUtil.shorten:(Ljava/lang/String;I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
1: aload 1
ldc " ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
2: aload 0
invokestatic freemarker.core.Environment.getEnclosingMacro:(Lfreemarker/core/TemplateElement;)Lfreemarker/core/Macro;
astore 2
start local 2 3: aload 2
ifnull 8
4: aload 1
5: aload 2
aload 0
getfield freemarker.core.TemplateElement.beginLine:I
aload 0
getfield freemarker.core.TemplateElement.beginColumn:I
6: invokestatic freemarker.core._MessageUtil.formatLocationForEvaluationError:(Lfreemarker/core/Macro;II)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
7: goto 11
8: StackMap locals: freemarker.core.Macro
StackMap stack:
aload 1
9: aload 0
invokevirtual freemarker.core.TemplateElement.getTemplate:()Lfreemarker/template/Template;
aload 0
getfield freemarker.core.TemplateElement.beginLine:I
aload 0
getfield freemarker.core.TemplateElement.beginColumn:I
10: invokestatic freemarker.core._MessageUtil.formatLocationForEvaluationError:(Lfreemarker/template/Template;II)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
11: StackMap locals:
StackMap stack:
aload 1
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
12: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 stackEl Lfreemarker/core/TemplateElement;
0 13 1 sb Ljava/lang/StringBuilder;
3 13 2 enclosingMacro Lfreemarker/core/Macro;
MethodParameters:
Name Flags
stackEl
sb
private static freemarker.core.Macro getEnclosingMacro(freemarker.core.TemplateElement);
descriptor: (Lfreemarker/core/TemplateElement;)Lfreemarker/core/Macro;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: goto 3
1: StackMap locals:
StackMap stack:
aload 0
instanceof freemarker.core.Macro
ifeq 2
aload 0
checkcast freemarker.core.Macro
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual freemarker.core.TemplateElement.getParentElement:()Lfreemarker/core/TemplateElement;
astore 0
3: StackMap locals:
StackMap stack:
aload 0
ifnonnull 1
4: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 stackEl Lfreemarker/core/TemplateElement;
MethodParameters:
Name Flags
stackEl
private void pushLocalContext(freemarker.core.LocalContext);
descriptor: (Lfreemarker/core/LocalContext;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield freemarker.core.Environment.localContextStack:Lfreemarker/core/LocalContextStack;
ifnonnull 2
1: aload 0
new freemarker.core.LocalContextStack
dup
invokespecial freemarker.core.LocalContextStack.<init>:()V
putfield freemarker.core.Environment.localContextStack:Lfreemarker/core/LocalContextStack;
2: StackMap locals:
StackMap stack:
aload 0
getfield freemarker.core.Environment.localContextStack:Lfreemarker/core/LocalContextStack;
aload 1
invokevirtual freemarker.core.LocalContextStack.push:(Lfreemarker/core/LocalContext;)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lfreemarker/core/Environment;
0 4 1 localContext Lfreemarker/core/LocalContext;
MethodParameters:
Name Flags
localContext
freemarker.core.LocalContextStack getLocalContextStack();
descriptor: ()Lfreemarker/core/LocalContextStack;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield freemarker.core.Environment.localContextStack:Lfreemarker/core/LocalContextStack;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/core/Environment;
public freemarker.core.Environment$Namespace getNamespace(java.lang.String);
descriptor: (Ljava/lang/String;)Lfreemarker/core/Environment$Namespace;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ldc "/"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 1
aload 1
iconst_1
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 1
1: StackMap locals:
StackMap stack:
aload 0
getfield freemarker.core.Environment.loadedLibs:Ljava/util/HashMap;
ifnull 3
2: aload 0
getfield freemarker.core.Environment.loadedLibs:Ljava/util/HashMap;
aload 1
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast freemarker.core.Environment$Namespace
areturn
3: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lfreemarker/core/Environment;
0 4 1 name Ljava/lang/String;
MethodParameters:
Name Flags
name
public freemarker.core.Environment$Namespace getMainNamespace();
descriptor: ()Lfreemarker/core/Environment$Namespace;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield freemarker.core.Environment.mainNamespace:Lfreemarker/core/Environment$Namespace;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/core/Environment;
public freemarker.core.Environment$Namespace getCurrentNamespace();
descriptor: ()Lfreemarker/core/Environment$Namespace;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield freemarker.core.Environment.currentNamespace:Lfreemarker/core/Environment$Namespace;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/core/Environment;
public freemarker.core.Environment$Namespace getGlobalNamespace();
descriptor: ()Lfreemarker/core/Environment$Namespace;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield freemarker.core.Environment.globalNamespace:Lfreemarker/core/Environment$Namespace;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/core/Environment;
public freemarker.template.TemplateHashModel getDataModel();
descriptor: ()Lfreemarker/template/TemplateHashModel;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield freemarker.core.Environment.rootDataModel:Lfreemarker/template/TemplateHashModel;
instanceof freemarker.template.TemplateHashModelEx
ifeq 3
1: new freemarker.core.Environment$3
dup
aload 0
invokespecial freemarker.core.Environment$3.<init>:(Lfreemarker/core/Environment;)V
2: goto 4
3: StackMap locals:
StackMap stack:
new freemarker.core.Environment$4
dup
aload 0
invokespecial freemarker.core.Environment$4.<init>:(Lfreemarker/core/Environment;)V
4: StackMap locals:
StackMap stack: freemarker.template.TemplateHashModel
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lfreemarker/core/Environment;
public freemarker.template.TemplateHashModel getGlobalVariables();
descriptor: ()Lfreemarker/template/TemplateHashModel;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new freemarker.core.Environment$5
dup
aload 0
invokespecial freemarker.core.Environment$5.<init>:(Lfreemarker/core/Environment;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/core/Environment;
private void pushElement(freemarker.core.TemplateElement);
descriptor: (Lfreemarker/core/TemplateElement;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: aload 0
dup
getfield freemarker.core.Environment.instructionStackSize:I
iconst_1
iadd
dup_x1
putfield freemarker.core.Environment.instructionStackSize:I
istore 2
start local 2 1: aload 0
getfield freemarker.core.Environment.instructionStack:[Lfreemarker/core/TemplateElement;
astore 3
start local 3 2: iload 2
aload 3
arraylength
if_icmple 11
3: iload 2
iconst_2
imul
anewarray freemarker.core.TemplateElement
astore 4
start local 4 4: iconst_0
istore 5
start local 5 5: goto 8
6: StackMap locals: freemarker.core.Environment freemarker.core.TemplateElement int freemarker.core.TemplateElement[] freemarker.core.TemplateElement[] int
StackMap stack:
aload 4
iload 5
aload 3
iload 5
aaload
aastore
7: iinc 5 1
StackMap locals:
StackMap stack:
8: iload 5
aload 3
arraylength
if_icmplt 6
end local 5 9: aload 4
astore 3
10: aload 0
aload 3
putfield freemarker.core.Environment.instructionStack:[Lfreemarker/core/TemplateElement;
end local 4 11: StackMap locals:
StackMap stack:
aload 3
iload 2
iconst_1
isub
aload 1
aastore
12: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lfreemarker/core/Environment;
0 13 1 element Lfreemarker/core/TemplateElement;
1 13 2 newSize I
2 13 3 instructionStack [Lfreemarker/core/TemplateElement;
4 11 4 newInstructionStack [Lfreemarker/core/TemplateElement;
5 9 5 i I
MethodParameters:
Name Flags
element
private void popElement();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
dup
getfield freemarker.core.Environment.instructionStackSize:I
iconst_1
isub
putfield freemarker.core.Environment.instructionStackSize:I
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lfreemarker/core/Environment;
void replaceElementStackTop(freemarker.core.TemplateElement);
descriptor: (Lfreemarker/core/TemplateElement;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield freemarker.core.Environment.instructionStack:[Lfreemarker/core/TemplateElement;
aload 0
getfield freemarker.core.Environment.instructionStackSize:I
iconst_1
isub
aload 1
aastore
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lfreemarker/core/Environment;
0 2 1 instr Lfreemarker/core/TemplateElement;
MethodParameters:
Name Flags
instr
public freemarker.template.TemplateNodeModel getCurrentVisitorNode();
descriptor: ()Lfreemarker/template/TemplateNodeModel;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield freemarker.core.Environment.currentVisitorNode:Lfreemarker/template/TemplateNodeModel;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/core/Environment;
public void setCurrentVisitorNode(freemarker.template.TemplateNodeModel);
descriptor: (Lfreemarker/template/TemplateNodeModel;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield freemarker.core.Environment.currentVisitorNode:Lfreemarker/template/TemplateNodeModel;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lfreemarker/core/Environment;
0 2 1 node Lfreemarker/template/TemplateNodeModel;
MethodParameters:
Name Flags
node
freemarker.template.TemplateModel getNodeProcessor(freemarker.template.TemplateNodeModel);
descriptor: (Lfreemarker/template/TemplateNodeModel;)Lfreemarker/template/TemplateModel;
flags: (0x0000)
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface freemarker.template.TemplateNodeModel.getNodeName:()Ljava/lang/String;
astore 2
start local 2 1: aload 2
ifnonnull 3
2: new freemarker.core._MiscTemplateException
dup
aload 0
ldc "Node name is null."
invokespecial freemarker.core._MiscTemplateException.<init>:(Lfreemarker/core/Environment;Ljava/lang/String;)V
athrow
3: StackMap locals: java.lang.String
StackMap stack:
aload 0
aload 2
aload 1
invokeinterface freemarker.template.TemplateNodeModel.getNodeNamespace:()Ljava/lang/String;
iconst_0
invokevirtual freemarker.core.Environment.getNodeProcessor:(Ljava/lang/String;Ljava/lang/String;I)Lfreemarker/template/TemplateModel;
astore 3
start local 3 4: aload 3
ifnonnull 9
5: aload 1
invokeinterface freemarker.template.TemplateNodeModel.getNodeType:()Ljava/lang/String;
astore 4
start local 4 6: aload 4
ifnonnull 8
7: ldc "default"
astore 4
8: StackMap locals: freemarker.template.TemplateModel java.lang.String
StackMap stack:
aload 0
new java.lang.StringBuilder
dup
ldc "@"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aconst_null
iconst_0
invokevirtual freemarker.core.Environment.getNodeProcessor:(Ljava/lang/String;Ljava/lang/String;I)Lfreemarker/template/TemplateModel;
astore 3
end local 4 9: StackMap locals:
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lfreemarker/core/Environment;
0 10 1 node Lfreemarker/template/TemplateNodeModel;
1 10 2 nodeName Ljava/lang/String;
4 10 3 result Lfreemarker/template/TemplateModel;
6 9 4 type Ljava/lang/String;
Exceptions:
throws freemarker.template.TemplateException
MethodParameters:
Name Flags
node
private freemarker.template.TemplateModel getNodeProcessor(java.lang.String, java.lang.String, int);
descriptor: (Ljava/lang/String;Ljava/lang/String;I)Lfreemarker/template/TemplateModel;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aconst_null
astore 4
start local 4 1: aload 0
getfield freemarker.core.Environment.nodeNamespaces:Lfreemarker/template/TemplateSequenceModel;
invokeinterface freemarker.template.TemplateSequenceModel.size:()I
istore 6
start local 6 2: iload 3
istore 5
start local 5 3: goto 15
4: StackMap locals: freemarker.template.TemplateModel int int
StackMap stack:
aconst_null
astore 7
start local 7 5: aload 0
getfield freemarker.core.Environment.nodeNamespaces:Lfreemarker/template/TemplateSequenceModel;
iload 5
invokeinterface freemarker.template.TemplateSequenceModel.get:(I)Lfreemarker/template/TemplateModel;
checkcast freemarker.core.Environment$Namespace
astore 7
6: goto 11
StackMap locals: freemarker.core.Environment java.lang.String java.lang.String int freemarker.template.TemplateModel int int freemarker.core.Environment$Namespace
StackMap stack: java.lang.ClassCastException
7: pop
8: new freemarker.core._MiscTemplateException
dup
aload 0
9: ldc "A \"using\" clause should contain a sequence of namespaces or strings that indicate the location of importable macro libraries."
10: invokespecial freemarker.core._MiscTemplateException.<init>:(Lfreemarker/core/Environment;Ljava/lang/String;)V
athrow
11: StackMap locals:
StackMap stack:
aload 0
aload 7
aload 1
aload 2
invokevirtual freemarker.core.Environment.getNodeProcessor:(Lfreemarker/core/Environment$Namespace;Ljava/lang/String;Ljava/lang/String;)Lfreemarker/template/TemplateModel;
astore 4
12: aload 4
ifnull 14
13: goto 16
end local 7 14: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
15: iload 5
iload 6
if_icmplt 4
16: StackMap locals:
StackMap stack:
aload 4
ifnull 20
17: aload 0
iload 5
iconst_1
iadd
putfield freemarker.core.Environment.nodeNamespaceIndex:I
18: aload 0
aload 1
putfield freemarker.core.Environment.currentNodeName:Ljava/lang/String;
19: aload 0
aload 2
putfield freemarker.core.Environment.currentNodeNS:Ljava/lang/String;
20: StackMap locals:
StackMap stack:
aload 4
areturn
end local 6 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 21 0 this Lfreemarker/core/Environment;
0 21 1 nodeName Ljava/lang/String;
0 21 2 nsURI Ljava/lang/String;
0 21 3 startIndex I
1 21 4 result Lfreemarker/template/TemplateModel;
3 21 5 i I
2 21 6 size I
5 14 7 ns Lfreemarker/core/Environment$Namespace;
Exception table:
from to target type
5 6 7 Class java.lang.ClassCastException
Exceptions:
throws freemarker.template.TemplateException
MethodParameters:
Name Flags
nodeName final
nsURI final
startIndex
private freemarker.template.TemplateModel getNodeProcessor(freemarker.core.Environment$Namespace, java.lang.String, java.lang.String);
descriptor: (Lfreemarker/core/Environment$Namespace;Ljava/lang/String;Ljava/lang/String;)Lfreemarker/template/TemplateModel;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aconst_null
astore 4
start local 4 1: aload 3
ifnonnull 6
2: aload 1
aload 2
invokevirtual freemarker.core.Environment$Namespace.get:(Ljava/lang/String;)Lfreemarker/template/TemplateModel;
astore 4
3: aload 4
instanceof freemarker.core.Macro
ifne 27
aload 4
instanceof freemarker.template.TemplateTransformModel
ifne 27
4: aconst_null
astore 4
5: goto 27
6: StackMap locals: freemarker.template.TemplateModel
StackMap stack:
aload 1
invokevirtual freemarker.core.Environment$Namespace.getTemplate:()Lfreemarker/template/Template;
astore 5
start local 5 7: aload 5
aload 3
invokevirtual freemarker.template.Template.getPrefixForNamespace:(Ljava/lang/String;)Ljava/lang/String;
astore 6
start local 6 8: aload 6
ifnonnull 10
9: aconst_null
areturn
10: StackMap locals: freemarker.template.Template java.lang.String
StackMap stack:
aload 6
invokevirtual java.lang.String.length:()I
ifle 15
11: aload 1
new java.lang.StringBuilder
dup
aload 6
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ":"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual freemarker.core.Environment$Namespace.get:(Ljava/lang/String;)Lfreemarker/template/TemplateModel;
astore 4
12: aload 4
instanceof freemarker.core.Macro
ifne 27
aload 4
instanceof freemarker.template.TemplateTransformModel
ifne 27
13: aconst_null
astore 4
14: goto 27
15: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.lang.String.length:()I
ifne 19
16: aload 1
new java.lang.StringBuilder
dup
ldc "N:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual freemarker.core.Environment$Namespace.get:(Ljava/lang/String;)Lfreemarker/template/TemplateModel;
astore 4
17: aload 4
instanceof freemarker.core.Macro
ifne 19
aload 4
instanceof freemarker.template.TemplateTransformModel
ifne 19
18: aconst_null
astore 4
19: StackMap locals:
StackMap stack:
aload 3
aload 5
invokevirtual freemarker.template.Template.getDefaultNS:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 23
20: aload 1
new java.lang.StringBuilder
dup
ldc "D:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual freemarker.core.Environment$Namespace.get:(Ljava/lang/String;)Lfreemarker/template/TemplateModel;
astore 4
21: aload 4
instanceof freemarker.core.Macro
ifne 23
aload 4
instanceof freemarker.template.TemplateTransformModel
ifne 23
22: aconst_null
astore 4
23: StackMap locals:
StackMap stack:
aload 4
ifnonnull 27
24: aload 1
aload 2
invokevirtual freemarker.core.Environment$Namespace.get:(Ljava/lang/String;)Lfreemarker/template/TemplateModel;
astore 4
25: aload 4
instanceof freemarker.core.Macro
ifne 27
aload 4
instanceof freemarker.template.TemplateTransformModel
ifne 27
26: aconst_null
astore 4
end local 6 end local 5 27: StackMap locals:
StackMap stack:
aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lfreemarker/core/Environment;
0 28 1 ns Lfreemarker/core/Environment$Namespace;
0 28 2 localName Ljava/lang/String;
0 28 3 nsURI Ljava/lang/String;
1 28 4 result Lfreemarker/template/TemplateModel;
7 27 5 template Lfreemarker/template/Template;
8 27 6 prefix Ljava/lang/String;
Exceptions:
throws freemarker.template.TemplateException
MethodParameters:
Name Flags
ns
localName
nsURI
public void include(java.lang.String, java.lang.String, boolean);
descriptor: (Ljava/lang/String;Ljava/lang/String;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 0
aload 1
aload 2
iload 3
invokevirtual freemarker.core.Environment.getTemplateForInclusion:(Ljava/lang/String;Ljava/lang/String;Z)Lfreemarker/template/Template;
invokevirtual freemarker.core.Environment.include:(Lfreemarker/template/Template;)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lfreemarker/core/Environment;
0 2 1 name Ljava/lang/String;
0 2 2 encoding Ljava/lang/String;
0 2 3 parse Z
Exceptions:
throws java.io.IOException, freemarker.template.TemplateException
MethodParameters:
Name Flags
name
encoding
parse
public freemarker.template.Template getTemplateForInclusion(java.lang.String, java.lang.String, boolean);
descriptor: (Ljava/lang/String;Ljava/lang/String;Z)Lfreemarker/template/Template;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
iload 3
iconst_0
invokevirtual freemarker.core.Environment.getTemplateForInclusion:(Ljava/lang/String;Ljava/lang/String;ZZ)Lfreemarker/template/Template;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/core/Environment;
0 1 1 name Ljava/lang/String;
0 1 2 encoding Ljava/lang/String;
0 1 3 parse Z
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
name
encoding
parse
public freemarker.template.Template getTemplateForInclusion(java.lang.String, java.lang.String, boolean, boolean);
descriptor: (Ljava/lang/String;Ljava/lang/String;ZZ)Lfreemarker/template/Template;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield freemarker.core.Environment.configuration:Lfreemarker/template/Configuration;
1: aload 1
aload 0
invokevirtual freemarker.core.Environment.getLocale:()Ljava/util/Locale;
aload 0
invokevirtual freemarker.core.Environment.getIncludedTemplateCustomLookupCondition:()Ljava/lang/Object;
2: aload 2
ifnull 3
aload 2
goto 4
StackMap locals: freemarker.core.Environment java.lang.String java.lang.String int int
StackMap stack: freemarker.template.Configuration java.lang.String java.util.Locale java.lang.Object
3: aload 0
invokevirtual freemarker.core.Environment.getIncludedTemplateEncoding:()Ljava/lang/String;
4: StackMap locals: freemarker.core.Environment java.lang.String java.lang.String int int
StackMap stack: freemarker.template.Configuration java.lang.String java.util.Locale java.lang.Object java.lang.String
iload 3
5: iload 4
6: invokevirtual freemarker.template.Configuration.getTemplate:(Ljava/lang/String;Ljava/util/Locale;Ljava/lang/Object;Ljava/lang/String;ZZ)Lfreemarker/template/Template;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lfreemarker/core/Environment;
0 7 1 name Ljava/lang/String;
0 7 2 encoding Ljava/lang/String;
0 7 3 parseAsFTL Z
0 7 4 ignoreMissing Z
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
name
encoding
parseAsFTL
ignoreMissing
private java.lang.Object getIncludedTemplateCustomLookupCondition();
descriptor: ()Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual freemarker.core.Environment.getTemplate:()Lfreemarker/template/Template;
invokevirtual freemarker.template.Template.getCustomLookupCondition:()Ljava/lang/Object;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/core/Environment;
private java.lang.String getIncludedTemplateEncoding();
descriptor: ()Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual freemarker.core.Environment.getTemplate:()Lfreemarker/template/Template;
invokevirtual freemarker.template.Template.getEncoding:()Ljava/lang/String;
astore 1
start local 1 1: aload 1
ifnonnull 3
2: aload 0
getfield freemarker.core.Environment.configuration:Lfreemarker/template/Configuration;
aload 0
invokevirtual freemarker.core.Environment.getLocale:()Ljava/util/Locale;
invokevirtual freemarker.template.Configuration.getEncoding:(Ljava/util/Locale;)Ljava/lang/String;
astore 1
3: StackMap locals: java.lang.String
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lfreemarker/core/Environment;
1 4 1 encoding Ljava/lang/String;
public void include(freemarker.template.Template);
descriptor: (Lfreemarker/template/Template;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual freemarker.core.Environment.isBeforeIcI2322:()Z
istore 3
start local 3 1: aload 0
invokevirtual freemarker.core.Environment.getTemplate:()Lfreemarker/template/Template;
astore 2
start local 2 2: iload 3
ifeq 5
3: aload 0
aload 1
invokevirtual freemarker.core.Environment.setParent:(Lfreemarker/core/Configurable;)V
4: goto 6
5: StackMap locals: freemarker.template.Template int
StackMap stack:
aload 0
aload 1
putfield freemarker.core.Environment.legacyParent:Lfreemarker/core/Configurable;
6: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual freemarker.core.Environment.importMacros:(Lfreemarker/template/Template;)V
7: aload 0
aload 1
invokevirtual freemarker.template.Template.getRootTreeNode:()Lfreemarker/core/TemplateElement;
invokevirtual freemarker.core.Environment.visit:(Lfreemarker/core/TemplateElement;)V
8: goto 15
StackMap locals:
StackMap stack: java.lang.Throwable
9: astore 4
10: iload 3
ifeq 13
11: aload 0
aload 2
invokevirtual freemarker.core.Environment.setParent:(Lfreemarker/core/Configurable;)V
12: goto 14
13: StackMap locals: java.lang.Throwable
StackMap stack:
aload 0
aload 2
putfield freemarker.core.Environment.legacyParent:Lfreemarker/core/Configurable;
14: StackMap locals:
StackMap stack:
aload 4
athrow
15: StackMap locals:
StackMap stack:
iload 3
ifeq 18
16: aload 0
aload 2
invokevirtual freemarker.core.Environment.setParent:(Lfreemarker/core/Configurable;)V
17: goto 19
18: StackMap locals:
StackMap stack:
aload 0
aload 2
putfield freemarker.core.Environment.legacyParent:Lfreemarker/core/Configurable;
19: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lfreemarker/core/Environment;
0 20 1 includedTemplate Lfreemarker/template/Template;
2 20 2 prevTemplate Lfreemarker/template/Template;
1 20 3 parentReplacementOn Z
Exception table:
from to target type
7 9 9 any
Exceptions:
throws freemarker.template.TemplateException, java.io.IOException
MethodParameters:
Name Flags
includedTemplate
public freemarker.core.Environment$Namespace importLib(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Lfreemarker/core/Environment$Namespace;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
aload 0
invokevirtual freemarker.core.Environment.getLazyImports:()Z
invokevirtual freemarker.core.Environment.importLib:(Ljava/lang/String;Ljava/lang/String;Z)Lfreemarker/core/Environment$Namespace;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/core/Environment;
0 1 1 templateName Ljava/lang/String;
0 1 2 targetNsVarName Ljava/lang/String;
Exceptions:
throws java.io.IOException, freemarker.template.TemplateException
MethodParameters:
Name Flags
templateName
targetNsVarName
public freemarker.core.Environment$Namespace importLib(freemarker.template.Template, java.lang.String);
descriptor: (Lfreemarker/template/Template;Ljava/lang/String;)Lfreemarker/core/Environment$Namespace;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aconst_null
aload 1
aload 2
invokevirtual freemarker.core.Environment.importLib:(Ljava/lang/String;Lfreemarker/template/Template;Ljava/lang/String;)Lfreemarker/core/Environment$Namespace;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/core/Environment;
0 1 1 loadedTemplate Lfreemarker/template/Template;
0 1 2 targetNsVarName Ljava/lang/String;
Exceptions:
throws java.io.IOException, freemarker.template.TemplateException
MethodParameters:
Name Flags
loadedTemplate
targetNsVarName
public freemarker.core.Environment$Namespace importLib(java.lang.String, java.lang.String, boolean);
descriptor: (Ljava/lang/String;Ljava/lang/String;Z)Lfreemarker/core/Environment$Namespace;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 3
ifeq 2
1: aload 0
aload 1
aconst_null
aload 2
invokevirtual freemarker.core.Environment.importLib:(Ljava/lang/String;Lfreemarker/template/Template;Ljava/lang/String;)Lfreemarker/core/Environment$Namespace;
goto 3
2: StackMap locals:
StackMap stack:
aload 0
aconst_null
aload 0
aload 1
invokevirtual freemarker.core.Environment.getTemplateForImporting:(Ljava/lang/String;)Lfreemarker/template/Template;
aload 2
invokevirtual freemarker.core.Environment.importLib:(Ljava/lang/String;Lfreemarker/template/Template;Ljava/lang/String;)Lfreemarker/core/Environment$Namespace;
3: StackMap locals:
StackMap stack: freemarker.core.Environment$Namespace
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lfreemarker/core/Environment;
0 4 1 templateName Ljava/lang/String;
0 4 2 targetNsVarName Ljava/lang/String;
0 4 3 lazy Z
Exceptions:
throws java.io.IOException, freemarker.template.TemplateException
MethodParameters:
Name Flags
templateName
targetNsVarName
lazy
public freemarker.template.Template getTemplateForImporting(java.lang.String);
descriptor: (Ljava/lang/String;)Lfreemarker/template/Template;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aconst_null
iconst_1
invokevirtual freemarker.core.Environment.getTemplateForInclusion:(Ljava/lang/String;Ljava/lang/String;Z)Lfreemarker/template/Template;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/core/Environment;
0 1 1 name Ljava/lang/String;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
name
private freemarker.core.Environment$Namespace importLib(java.lang.String, freemarker.template.Template, java.lang.String);
descriptor: (Ljava/lang/String;Lfreemarker/template/Template;Ljava/lang/String;)Lfreemarker/core/Environment$Namespace;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
ifnull 4
1: iconst_0
istore 4
start local 4 2: aload 2
invokevirtual freemarker.template.Template.getName:()Ljava/lang/String;
astore 1
3: goto 7
end local 4 4: StackMap locals:
StackMap stack:
iconst_1
istore 4
start local 4 5: aload 0
invokevirtual freemarker.core.Environment.getConfiguration:()Lfreemarker/template/Configuration;
invokevirtual freemarker.template.Configuration.getTemplateNameFormat:()Lfreemarker/cache/TemplateNameFormat;
astore 5
start local 5 6: aload 5
aload 1
invokestatic freemarker.cache._CacheAPI.normalizeRootBasedName:(Lfreemarker/cache/TemplateNameFormat;Ljava/lang/String;)Ljava/lang/String;
astore 1
end local 5 7: StackMap locals: int
StackMap stack:
aload 0
getfield freemarker.core.Environment.loadedLibs:Ljava/util/HashMap;
ifnonnull 9
8: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield freemarker.core.Environment.loadedLibs:Ljava/util/HashMap;
9: StackMap locals:
StackMap stack:
aload 0
getfield freemarker.core.Environment.loadedLibs:Ljava/util/HashMap;
aload 1
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast freemarker.core.Environment$Namespace
astore 5
start local 5 10: aload 5
ifnull 18
11: aload 3
ifnull 15
12: aload 0
aload 3
aload 5
invokevirtual freemarker.core.Environment.setVariable:(Ljava/lang/String;Lfreemarker/template/TemplateModel;)V
13: aload 0
invokevirtual freemarker.core.Environment.isIcI2324OrLater:()Z
ifeq 15
aload 0
getfield freemarker.core.Environment.currentNamespace:Lfreemarker/core/Environment$Namespace;
aload 0
getfield freemarker.core.Environment.mainNamespace:Lfreemarker/core/Environment$Namespace;
if_acmpne 15
14: aload 0
getfield freemarker.core.Environment.globalNamespace:Lfreemarker/core/Environment$Namespace;
aload 3
aload 5
invokevirtual freemarker.core.Environment$Namespace.put:(Ljava/lang/String;Ljava/lang/Object;)V
15: StackMap locals: freemarker.core.Environment$Namespace
StackMap stack:
iload 4
ifne 28
aload 5
instanceof freemarker.core.Environment$LazilyInitializedNamespace
ifeq 28
16: aload 5
checkcast freemarker.core.Environment$LazilyInitializedNamespace
invokevirtual freemarker.core.Environment$LazilyInitializedNamespace.ensureInitializedTME:()V
17: goto 28
18: StackMap locals:
StackMap stack:
iload 4
ifeq 19
new freemarker.core.Environment$LazilyInitializedNamespace
dup
aload 0
aload 1
invokespecial freemarker.core.Environment$LazilyInitializedNamespace.<init>:(Lfreemarker/core/Environment;Ljava/lang/String;)V
goto 20
StackMap locals:
StackMap stack:
19: new freemarker.core.Environment$Namespace
dup
aload 0
aload 2
invokespecial freemarker.core.Environment$Namespace.<init>:(Lfreemarker/core/Environment;Lfreemarker/template/Template;)V
20: StackMap locals:
StackMap stack: freemarker.core.Environment$Namespace
astore 6
start local 6 21: aload 0
getfield freemarker.core.Environment.loadedLibs:Ljava/util/HashMap;
aload 1
aload 6
invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
22: aload 3
ifnull 26
23: aload 0
aload 3
aload 6
invokevirtual freemarker.core.Environment.setVariable:(Ljava/lang/String;Lfreemarker/template/TemplateModel;)V
24: aload 0
getfield freemarker.core.Environment.currentNamespace:Lfreemarker/core/Environment$Namespace;
aload 0
getfield freemarker.core.Environment.mainNamespace:Lfreemarker/core/Environment$Namespace;
if_acmpne 26
25: aload 0
getfield freemarker.core.Environment.globalNamespace:Lfreemarker/core/Environment$Namespace;
aload 3
aload 6
invokevirtual freemarker.core.Environment$Namespace.put:(Ljava/lang/String;Ljava/lang/Object;)V
26: StackMap locals: freemarker.core.Environment$Namespace
StackMap stack:
iload 4
ifne 28
27: aload 0
aload 6
aload 2
invokevirtual freemarker.core.Environment.initializeImportLibNamespace:(Lfreemarker/core/Environment$Namespace;Lfreemarker/template/Template;)V
end local 6 28: StackMap locals:
StackMap stack:
aload 0
getfield freemarker.core.Environment.loadedLibs:Ljava/util/HashMap;
aload 1
invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast freemarker.core.Environment$Namespace
areturn
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 29 0 this Lfreemarker/core/Environment;
0 29 1 templateName Ljava/lang/String;
0 29 2 loadedTemplate Lfreemarker/template/Template;
0 29 3 targetNsVarName Ljava/lang/String;
2 4 4 lazyImport Z
5 29 4 lazyImport Z
6 7 5 tnf Lfreemarker/cache/TemplateNameFormat;
10 29 5 existingNamespace Lfreemarker/core/Environment$Namespace;
21 28 6 newNamespace Lfreemarker/core/Environment$Namespace;
Exceptions:
throws java.io.IOException, freemarker.template.TemplateException
MethodParameters:
Name Flags
templateName
loadedTemplate final
targetNsVarName final
private void initializeImportLibNamespace(freemarker.core.Environment$Namespace, freemarker.template.Template);
descriptor: (Lfreemarker/core/Environment$Namespace;Lfreemarker/template/Template;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield freemarker.core.Environment.currentNamespace:Lfreemarker/core/Environment$Namespace;
astore 3
start local 3 1: aload 0
aload 1
putfield freemarker.core.Environment.currentNamespace:Lfreemarker/core/Environment$Namespace;
2: aload 0
getfield freemarker.core.Environment.out:Ljava/io/Writer;
astore 4
start local 4 3: aload 0
getstatic freemarker.template.utility.NullWriter.INSTANCE:Lfreemarker/template/utility/NullWriter;
putfield freemarker.core.Environment.out:Ljava/io/Writer;
4: aload 0
aload 2
invokevirtual freemarker.core.Environment.include:(Lfreemarker/template/Template;)V
5: goto 10
StackMap locals: freemarker.core.Environment freemarker.core.Environment$Namespace freemarker.template.Template freemarker.core.Environment$Namespace java.io.Writer
StackMap stack: java.lang.Throwable
6: astore 5
7: aload 0
aload 4
putfield freemarker.core.Environment.out:Ljava/io/Writer;
8: aload 0
aload 3
putfield freemarker.core.Environment.currentNamespace:Lfreemarker/core/Environment$Namespace;
9: aload 5
athrow
10: StackMap locals:
StackMap stack:
aload 0
aload 4
putfield freemarker.core.Environment.out:Ljava/io/Writer;
11: aload 0
aload 3
putfield freemarker.core.Environment.currentNamespace:Lfreemarker/core/Environment$Namespace;
12: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lfreemarker/core/Environment;
0 13 1 newNamespace Lfreemarker/core/Environment$Namespace;
0 13 2 loadedTemplate Lfreemarker/template/Template;
1 13 3 prevNamespace Lfreemarker/core/Environment$Namespace;
3 13 4 prevOut Ljava/io/Writer;
Exception table:
from to target type
4 6 6 any
Exceptions:
throws freemarker.template.TemplateException, java.io.IOException
MethodParameters:
Name Flags
newNamespace final
loadedTemplate
public java.lang.String toFullTemplateName(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual freemarker.core.Environment.isClassicCompatible:()Z
ifne 1
aload 1
ifnonnull 2
1: StackMap locals:
StackMap stack:
aload 2
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield freemarker.core.Environment.configuration:Lfreemarker/template/Configuration;
invokevirtual freemarker.template.Configuration.getTemplateNameFormat:()Lfreemarker/cache/TemplateNameFormat;
aload 1
aload 2
invokestatic freemarker.cache._CacheAPI.toRootBasedName:(Lfreemarker/cache/TemplateNameFormat;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lfreemarker/core/Environment;
0 3 1 baseName Ljava/lang/String;
0 3 2 targetName Ljava/lang/String;
Exceptions:
throws freemarker.template.MalformedTemplateNameException
MethodParameters:
Name Flags
baseName
targetName
public java.lang.String rootBasedToAbsoluteTemplateName(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield freemarker.core.Environment.configuration:Lfreemarker/template/Configuration;
invokevirtual freemarker.template.Configuration.getTemplateNameFormat:()Lfreemarker/cache/TemplateNameFormat;
aload 1
invokestatic freemarker.cache._CacheAPI.rootBasedNameToAbsoluteName:(Lfreemarker/cache/TemplateNameFormat;Ljava/lang/String;)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/core/Environment;
0 1 1 rootBasedName Ljava/lang/String;
Exceptions:
throws freemarker.template.MalformedTemplateNameException
MethodParameters:
Name Flags
rootBasedName
java.lang.String renderElementToString(freemarker.core.TemplateElement);
descriptor: (Lfreemarker/core/TemplateElement;)Ljava/lang/String;
flags: (0x0000)
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield freemarker.core.Environment.out:Ljava/io/Writer;
astore 2
start local 2 1: new java.io.StringWriter
dup
invokespecial java.io.StringWriter.<init>:()V
astore 3
start local 3 2: aload 0
aload 3
putfield freemarker.core.Environment.out:Ljava/io/Writer;
3: aload 0
aload 1
invokevirtual freemarker.core.Environment.visit:(Lfreemarker/core/TemplateElement;)V
4: aload 3
invokevirtual java.io.StringWriter.toString:()Ljava/lang/String;
astore 5
5: aload 0
aload 2
putfield freemarker.core.Environment.out:Ljava/io/Writer;
6: aload 5
areturn
end local 3 7: StackMap locals: freemarker.core.Environment freemarker.core.TemplateElement java.io.Writer
StackMap stack: java.lang.Throwable
astore 4
8: aload 0
aload 2
putfield freemarker.core.Environment.out:Ljava/io/Writer;
9: aload 4
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lfreemarker/core/Environment;
0 10 1 te Lfreemarker/core/TemplateElement;
1 10 2 prevOut Ljava/io/Writer;
2 7 3 sw Ljava/io/StringWriter;
Exception table:
from to target type
1 5 7 any
Exceptions:
throws java.io.IOException, freemarker.template.TemplateException
MethodParameters:
Name Flags
te
void importMacros(freemarker.template.Template);
descriptor: (Lfreemarker/template/Template;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual freemarker.template.Template.getMacros:()Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 2
start local 2 1: goto 3
2: StackMap locals: java.util.Iterator
StackMap stack:
aload 0
aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast freemarker.core.Macro
invokevirtual freemarker.core.Environment.visitMacroDef:(Lfreemarker/core/Macro;)V
3: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
end local 2 4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lfreemarker/core/Environment;
0 5 1 template Lfreemarker/template/Template;
1 4 2 it Ljava/util/Iterator;
MethodParameters:
Name Flags
template
public java.lang.String getNamespaceForPrefix(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield freemarker.core.Environment.currentNamespace:Lfreemarker/core/Environment$Namespace;
invokevirtual freemarker.core.Environment$Namespace.getTemplate:()Lfreemarker/template/Template;
aload 1
invokevirtual freemarker.template.Template.getNamespaceForPrefix:(Ljava/lang/String;)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/core/Environment;
0 1 1 prefix Ljava/lang/String;
MethodParameters:
Name Flags
prefix
public java.lang.String getPrefixForNamespace(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield freemarker.core.Environment.currentNamespace:Lfreemarker/core/Environment$Namespace;
invokevirtual freemarker.core.Environment$Namespace.getTemplate:()Lfreemarker/template/Template;
aload 1
invokevirtual freemarker.template.Template.getPrefixForNamespace:(Ljava/lang/String;)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/core/Environment;
0 1 1 nsURI Ljava/lang/String;
MethodParameters:
Name Flags
nsURI
public java.lang.String getDefaultNS();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield freemarker.core.Environment.currentNamespace:Lfreemarker/core/Environment$Namespace;
invokevirtual freemarker.core.Environment$Namespace.getTemplate:()Lfreemarker/template/Template;
invokevirtual freemarker.template.Template.getDefaultNS:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/core/Environment;
public java.lang.Object __getitem__(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: invokestatic freemarker.ext.beans.BeansWrapper.getDefaultInstance:()Lfreemarker/ext/beans/BeansWrapper;
aload 0
aload 1
invokevirtual freemarker.core.Environment.getVariable:(Ljava/lang/String;)Lfreemarker/template/TemplateModel;
invokevirtual freemarker.ext.beans.BeansWrapper.unwrap:(Lfreemarker/template/TemplateModel;)Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/core/Environment;
0 1 1 key Ljava/lang/String;
Exceptions:
throws freemarker.template.TemplateModelException
MethodParameters:
Name Flags
key
public void __setitem__(java.lang.String, java.lang.Object);
descriptor: (Ljava/lang/String;Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 0
invokevirtual freemarker.core.Environment.getObjectWrapper:()Lfreemarker/template/ObjectWrapper;
aload 2
invokeinterface freemarker.template.ObjectWrapper.wrap:(Ljava/lang/Object;)Lfreemarker/template/TemplateModel;
invokevirtual freemarker.core.Environment.setGlobalVariable:(Ljava/lang/String;Lfreemarker/template/TemplateModel;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lfreemarker/core/Environment;
0 2 1 key Ljava/lang/String;
0 2 2 o Ljava/lang/Object;
Exceptions:
throws freemarker.template.TemplateException
MethodParameters:
Name Flags
key
o
public java.lang.Object getCustomState(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield freemarker.core.Environment.customStateVariables:Ljava/util/IdentityHashMap;
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield freemarker.core.Environment.customStateVariables:Ljava/util/IdentityHashMap;
aload 1
invokevirtual java.util.IdentityHashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lfreemarker/core/Environment;
0 3 1 identityKey Ljava/lang/Object;
MethodParameters:
Name Flags
identityKey
public java.lang.Object setCustomState(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield freemarker.core.Environment.customStateVariables:Ljava/util/IdentityHashMap;
astore 3
start local 3 1: aload 3
ifnonnull 4
2: new java.util.IdentityHashMap
dup
invokespecial java.util.IdentityHashMap.<init>:()V
astore 3
3: aload 0
aload 3
putfield freemarker.core.Environment.customStateVariables:Ljava/util/IdentityHashMap;
4: StackMap locals: java.util.IdentityHashMap
StackMap stack:
aload 3
aload 1
aload 2
invokevirtual java.util.IdentityHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lfreemarker/core/Environment;
0 5 1 identityKey Ljava/lang/Object;
0 5 2 value Ljava/lang/Object;
1 5 3 customStateVariables Ljava/util/IdentityHashMap<Ljava/lang/Object;Ljava/lang/Object;>;
MethodParameters:
Name Flags
identityKey
value
private boolean isBeforeIcI2322();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield freemarker.core.Environment.configuration:Lfreemarker/template/Configuration;
invokevirtual freemarker.template.Configuration.getIncompatibleImprovements:()Lfreemarker/template/Version;
invokevirtual freemarker.template.Version.intValue:()I
getstatic freemarker.template._TemplateAPI.VERSION_INT_2_3_22:I
if_icmpge 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lfreemarker/core/Environment;
boolean isIcI2324OrLater();
descriptor: ()Z
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield freemarker.core.Environment.configuration:Lfreemarker/template/Configuration;
invokevirtual freemarker.template.Configuration.getIncompatibleImprovements:()Lfreemarker/template/Version;
invokevirtual freemarker.template.Version.intValue:()I
getstatic freemarker.template._TemplateAPI.VERSION_INT_2_3_24:I
if_icmplt 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lfreemarker/core/Environment;
boolean getFastInvalidReferenceExceptions();
descriptor: ()Z
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield freemarker.core.Environment.fastInvalidReferenceExceptions:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/core/Environment;
boolean setFastInvalidReferenceExceptions(boolean);
descriptor: (Z)Z
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield freemarker.core.Environment.fastInvalidReferenceExceptions:Z
istore 2
start local 2 1: aload 0
iload 1
putfield freemarker.core.Environment.fastInvalidReferenceExceptions:Z
2: iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lfreemarker/core/Environment;
0 3 1 b Z
1 3 2 res Z
MethodParameters:
Name Flags
b
}
SourceFile: "Environment.java"
NestMembers:
freemarker.core.Environment$1 freemarker.core.Environment$2 freemarker.core.Environment$3 freemarker.core.Environment$4 freemarker.core.Environment$5 freemarker.core.Environment$InitializationStatus freemarker.core.Environment$LazilyInitializedNamespace freemarker.core.Environment$Namespace freemarker.core.Environment$NestedElementTemplateDirectiveBody
InnerClasses:
Context = freemarker.core.BodyInstruction$Context of freemarker.core.BodyInstruction
freemarker.core.Environment$1
freemarker.core.Environment$2
freemarker.core.Environment$3
freemarker.core.Environment$4
freemarker.core.Environment$5
private final InitializationStatus = freemarker.core.Environment$InitializationStatus of freemarker.core.Environment
LazilyInitializedNamespace = freemarker.core.Environment$LazilyInitializedNamespace of freemarker.core.Environment
public Namespace = freemarker.core.Environment$Namespace of freemarker.core.Environment
final NestedElementTemplateDirectiveBody = freemarker.core.Environment$NestedElementTemplateDirectiveBody of freemarker.core.Environment
IterationContext = freemarker.core.IteratorBlock$IterationContext of freemarker.core.IteratorBlock
Context = freemarker.core.Macro$Context of freemarker.core.Macro
public Return = freemarker.core.ReturnInstruction$Return of freemarker.core.ReturnInstruction
public abstract DateToISO8601CalendarFactory = freemarker.template.utility.DateUtil$DateToISO8601CalendarFactory of freemarker.template.utility.DateUtil
public final TrivialDateToISO8601CalendarFactory = freemarker.template.utility.DateUtil$TrivialDateToISO8601CalendarFactory of freemarker.template.utility.DateUtil
public abstract Entry = java.util.Map$Entry of java.util.Map