public class freemarker.cache.TemplateCache
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: freemarker.cache.TemplateCache
super_class: java.lang.Object
{
public static final long DEFAULT_TEMPLATE_UPDATE_DELAY_MILLIS;
descriptor: J
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 5000
private static final java.lang.String ASTERISKSTR;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "*"
private static final char ASTERISK;
descriptor: C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 42
private static final char SLASH;
descriptor: C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 47
private static final java.lang.String LOCALE_PART_SEPARATOR;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "_"
private static final freemarker.log.Logger LOG;
descriptor: Lfreemarker/log/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final freemarker.cache.TemplateLoader templateLoader;
descriptor: Lfreemarker/cache/TemplateLoader;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final freemarker.cache.CacheStorage storage;
descriptor: Lfreemarker/cache/CacheStorage;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final freemarker.cache.TemplateLookupStrategy templateLookupStrategy;
descriptor: Lfreemarker/cache/TemplateLookupStrategy;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final freemarker.cache.TemplateNameFormat templateNameFormat;
descriptor: Lfreemarker/cache/TemplateNameFormat;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final freemarker.cache.TemplateConfigurationFactory templateConfigurations;
descriptor: Lfreemarker/cache/TemplateConfigurationFactory;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean isStorageConcurrent;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private long updateDelay;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private boolean localizedLookup;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private freemarker.template.Configuration config;
descriptor: Lfreemarker/template/Configuration;
flags: (0x0002) ACC_PRIVATE
private static final java.lang.reflect.Method INIT_CAUSE;
descriptor: Ljava/lang/reflect/Method;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc "freemarker.cache"
invokestatic freemarker.log.Logger.getLogger:(Ljava/lang/String;)Lfreemarker/log/Logger;
putstatic freemarker.cache.TemplateCache.LOG:Lfreemarker/log/Logger;
1: invokestatic freemarker.cache.TemplateCache.getInitCauseMethod:()Ljava/lang/reflect/Method;
putstatic freemarker.cache.TemplateCache.INIT_CAUSE:Ljava/lang/reflect/Method;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic freemarker.template.Configuration.VERSION_2_3_0:Lfreemarker/template/Version;
invokestatic freemarker.template._TemplateAPI.createDefaultTemplateLoader:(Lfreemarker/template/Version;)Lfreemarker/cache/TemplateLoader;
invokespecial freemarker.cache.TemplateCache.<init>:(Lfreemarker/cache/TemplateLoader;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lfreemarker/cache/TemplateCache;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
public void <init>(freemarker.cache.TemplateLoader);
descriptor: (Lfreemarker/cache/TemplateLoader;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aconst_null
invokespecial freemarker.cache.TemplateCache.<init>:(Lfreemarker/cache/TemplateLoader;Lfreemarker/template/Configuration;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lfreemarker/cache/TemplateCache;
0 2 1 templateLoader Lfreemarker/cache/TemplateLoader;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
templateLoader
public void <init>(freemarker.cache.TemplateLoader, freemarker.cache.CacheStorage);
descriptor: (Lfreemarker/cache/TemplateLoader;Lfreemarker/cache/CacheStorage;)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 2
aconst_null
invokespecial freemarker.cache.TemplateCache.<init>:(Lfreemarker/cache/TemplateLoader;Lfreemarker/cache/CacheStorage;Lfreemarker/template/Configuration;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lfreemarker/cache/TemplateCache;
0 2 1 templateLoader Lfreemarker/cache/TemplateLoader;
0 2 2 cacheStorage Lfreemarker/cache/CacheStorage;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
templateLoader
cacheStorage
public void <init>(freemarker.cache.TemplateLoader, freemarker.template.Configuration);
descriptor: (Lfreemarker/cache/TemplateLoader;Lfreemarker/template/Configuration;)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
getstatic freemarker.template.Configuration.VERSION_2_3_0:Lfreemarker/template/Version;
invokestatic freemarker.template._TemplateAPI.createDefaultCacheStorage:(Lfreemarker/template/Version;)Lfreemarker/cache/CacheStorage;
aload 2
invokespecial freemarker.cache.TemplateCache.<init>:(Lfreemarker/cache/TemplateLoader;Lfreemarker/cache/CacheStorage;Lfreemarker/template/Configuration;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lfreemarker/cache/TemplateCache;
0 2 1 templateLoader Lfreemarker/cache/TemplateLoader;
0 2 2 config Lfreemarker/template/Configuration;
MethodParameters:
Name Flags
templateLoader
config
public void <init>(freemarker.cache.TemplateLoader, freemarker.cache.CacheStorage, freemarker.template.Configuration);
descriptor: (Lfreemarker/cache/TemplateLoader;Lfreemarker/cache/CacheStorage;Lfreemarker/template/Configuration;)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
aload 2
1: getstatic freemarker.template.Configuration.VERSION_2_3_0:Lfreemarker/template/Version;
invokestatic freemarker.template._TemplateAPI.getDefaultTemplateLookupStrategy:(Lfreemarker/template/Version;)Lfreemarker/cache/TemplateLookupStrategy;
2: getstatic freemarker.template.Configuration.VERSION_2_3_0:Lfreemarker/template/Version;
invokestatic freemarker.template._TemplateAPI.getDefaultTemplateNameFormat:(Lfreemarker/template/Version;)Lfreemarker/cache/TemplateNameFormat;
3: aload 3
invokespecial freemarker.cache.TemplateCache.<init>:(Lfreemarker/cache/TemplateLoader;Lfreemarker/cache/CacheStorage;Lfreemarker/cache/TemplateLookupStrategy;Lfreemarker/cache/TemplateNameFormat;Lfreemarker/template/Configuration;)V
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lfreemarker/cache/TemplateCache;
0 5 1 templateLoader Lfreemarker/cache/TemplateLoader;
0 5 2 cacheStorage Lfreemarker/cache/CacheStorage;
0 5 3 config Lfreemarker/template/Configuration;
MethodParameters:
Name Flags
templateLoader
cacheStorage
config
public void <init>(freemarker.cache.TemplateLoader, freemarker.cache.CacheStorage, freemarker.cache.TemplateLookupStrategy, freemarker.cache.TemplateNameFormat, freemarker.template.Configuration);
descriptor: (Lfreemarker/cache/TemplateLoader;Lfreemarker/cache/CacheStorage;Lfreemarker/cache/TemplateLookupStrategy;Lfreemarker/cache/TemplateNameFormat;Lfreemarker/template/Configuration;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
aload 2
aload 3
aload 4
aconst_null
aload 5
invokespecial freemarker.cache.TemplateCache.<init>:(Lfreemarker/cache/TemplateLoader;Lfreemarker/cache/CacheStorage;Lfreemarker/cache/TemplateLookupStrategy;Lfreemarker/cache/TemplateNameFormat;Lfreemarker/cache/TemplateConfigurationFactory;Lfreemarker/template/Configuration;)V
1: 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 2 0 this Lfreemarker/cache/TemplateCache;
0 2 1 templateLoader Lfreemarker/cache/TemplateLoader;
0 2 2 cacheStorage Lfreemarker/cache/CacheStorage;
0 2 3 templateLookupStrategy Lfreemarker/cache/TemplateLookupStrategy;
0 2 4 templateNameFormat Lfreemarker/cache/TemplateNameFormat;
0 2 5 config Lfreemarker/template/Configuration;
MethodParameters:
Name Flags
templateLoader
cacheStorage
templateLookupStrategy
templateNameFormat
config
public void <init>(freemarker.cache.TemplateLoader, freemarker.cache.CacheStorage, freemarker.cache.TemplateLookupStrategy, freemarker.cache.TemplateNameFormat, freemarker.cache.TemplateConfigurationFactory, freemarker.template.Configuration);
descriptor: (Lfreemarker/cache/TemplateLoader;Lfreemarker/cache/CacheStorage;Lfreemarker/cache/TemplateLookupStrategy;Lfreemarker/cache/TemplateNameFormat;Lfreemarker/cache/TemplateConfigurationFactory;Lfreemarker/template/Configuration;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=7, 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
invokespecial java.lang.Object.<init>:()V
1: aload 0
ldc 5000
putfield freemarker.cache.TemplateCache.updateDelay:J
2: aload 0
iconst_1
putfield freemarker.cache.TemplateCache.localizedLookup:Z
3: aload 0
aload 1
putfield freemarker.cache.TemplateCache.templateLoader:Lfreemarker/cache/TemplateLoader;
4: ldc "cacheStorage"
aload 2
invokestatic freemarker.template.utility.NullArgumentException.check:(Ljava/lang/String;Ljava/lang/Object;)V
5: aload 0
aload 2
putfield freemarker.cache.TemplateCache.storage:Lfreemarker/cache/CacheStorage;
6: aload 0
aload 2
instanceof freemarker.cache.ConcurrentCacheStorage
ifeq 8
7: aload 2
checkcast freemarker.cache.ConcurrentCacheStorage
invokeinterface freemarker.cache.ConcurrentCacheStorage.isConcurrent:()Z
ifeq 8
iconst_1
goto 9
StackMap locals: freemarker.cache.TemplateCache freemarker.cache.TemplateLoader freemarker.cache.CacheStorage freemarker.cache.TemplateLookupStrategy freemarker.cache.TemplateNameFormat freemarker.cache.TemplateConfigurationFactory freemarker.template.Configuration
StackMap stack: freemarker.cache.TemplateCache
8: iconst_0
9: StackMap locals: freemarker.cache.TemplateCache freemarker.cache.TemplateLoader freemarker.cache.CacheStorage freemarker.cache.TemplateLookupStrategy freemarker.cache.TemplateNameFormat freemarker.cache.TemplateConfigurationFactory freemarker.template.Configuration
StackMap stack: freemarker.cache.TemplateCache int
putfield freemarker.cache.TemplateCache.isStorageConcurrent:Z
10: ldc "templateLookupStrategy"
aload 3
invokestatic freemarker.template.utility.NullArgumentException.check:(Ljava/lang/String;Ljava/lang/Object;)V
11: aload 0
aload 3
putfield freemarker.cache.TemplateCache.templateLookupStrategy:Lfreemarker/cache/TemplateLookupStrategy;
12: ldc "templateNameFormat"
aload 4
invokestatic freemarker.template.utility.NullArgumentException.check:(Ljava/lang/String;Ljava/lang/Object;)V
13: aload 0
aload 4
putfield freemarker.cache.TemplateCache.templateNameFormat:Lfreemarker/cache/TemplateNameFormat;
14: aload 0
aload 5
putfield freemarker.cache.TemplateCache.templateConfigurations:Lfreemarker/cache/TemplateConfigurationFactory;
15: aload 0
aload 6
putfield freemarker.cache.TemplateCache.config:Lfreemarker/template/Configuration;
16: 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 17 0 this Lfreemarker/cache/TemplateCache;
0 17 1 templateLoader Lfreemarker/cache/TemplateLoader;
0 17 2 cacheStorage Lfreemarker/cache/CacheStorage;
0 17 3 templateLookupStrategy Lfreemarker/cache/TemplateLookupStrategy;
0 17 4 templateNameFormat Lfreemarker/cache/TemplateNameFormat;
0 17 5 templateConfigurations Lfreemarker/cache/TemplateConfigurationFactory;
0 17 6 config Lfreemarker/template/Configuration;
MethodParameters:
Name Flags
templateLoader
cacheStorage
templateLookupStrategy
templateNameFormat
templateConfigurations
config
public void setConfiguration(freemarker.template.Configuration);
descriptor: (Lfreemarker/template/Configuration;)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.cache.TemplateCache.config:Lfreemarker/template/Configuration;
1: aload 0
invokevirtual freemarker.cache.TemplateCache.clear:()V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lfreemarker/cache/TemplateCache;
0 3 1 config Lfreemarker/template/Configuration;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
config
public freemarker.cache.TemplateLoader getTemplateLoader();
descriptor: ()Lfreemarker/cache/TemplateLoader;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield freemarker.cache.TemplateCache.templateLoader:Lfreemarker/cache/TemplateLoader;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/cache/TemplateCache;
public freemarker.cache.CacheStorage getCacheStorage();
descriptor: ()Lfreemarker/cache/CacheStorage;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield freemarker.cache.TemplateCache.storage:Lfreemarker/cache/CacheStorage;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/cache/TemplateCache;
public freemarker.cache.TemplateLookupStrategy getTemplateLookupStrategy();
descriptor: ()Lfreemarker/cache/TemplateLookupStrategy;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield freemarker.cache.TemplateCache.templateLookupStrategy:Lfreemarker/cache/TemplateLookupStrategy;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/cache/TemplateCache;
public freemarker.cache.TemplateNameFormat getTemplateNameFormat();
descriptor: ()Lfreemarker/cache/TemplateNameFormat;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield freemarker.cache.TemplateCache.templateNameFormat:Lfreemarker/cache/TemplateNameFormat;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/cache/TemplateCache;
public freemarker.cache.TemplateConfigurationFactory getTemplateConfigurations();
descriptor: ()Lfreemarker/cache/TemplateConfigurationFactory;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield freemarker.cache.TemplateCache.templateConfigurations:Lfreemarker/cache/TemplateConfigurationFactory;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/cache/TemplateCache;
public freemarker.cache.TemplateCache$MaybeMissingTemplate getTemplate(java.lang.String, java.util.Locale, java.lang.Object, java.lang.String, boolean);
descriptor: (Ljava/lang/String;Ljava/util/Locale;Ljava/lang/Object;Ljava/lang/String;Z)Lfreemarker/cache/TemplateCache$MaybeMissingTemplate;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: ldc "name"
aload 1
invokestatic freemarker.template.utility.NullArgumentException.check:(Ljava/lang/String;Ljava/lang/Object;)V
1: ldc "locale"
aload 2
invokestatic freemarker.template.utility.NullArgumentException.check:(Ljava/lang/String;Ljava/lang/Object;)V
2: ldc "encoding"
aload 4
invokestatic freemarker.template.utility.NullArgumentException.check:(Ljava/lang/String;Ljava/lang/Object;)V
3: aload 0
getfield freemarker.cache.TemplateCache.templateNameFormat:Lfreemarker/cache/TemplateNameFormat;
aload 1
invokevirtual freemarker.cache.TemplateNameFormat.normalizeRootBasedName:(Ljava/lang/String;)Ljava/lang/String;
astore 1
4: goto 10
StackMap locals:
StackMap stack: freemarker.template.MalformedTemplateNameException
5: astore 6
start local 6 6: aload 0
getfield freemarker.cache.TemplateCache.templateNameFormat:Lfreemarker/cache/TemplateNameFormat;
getstatic freemarker.cache.TemplateNameFormat.DEFAULT_2_3_0:Lfreemarker/cache/TemplateNameFormat;
if_acmpne 8
7: aload 0
getfield freemarker.cache.TemplateCache.config:Lfreemarker/template/Configuration;
invokevirtual freemarker.template.Configuration.getIncompatibleImprovements:()Lfreemarker/template/Version;
invokevirtual freemarker.template.Version.intValue:()I
getstatic freemarker.template._TemplateAPI.VERSION_INT_2_4_0:I
if_icmplt 9
8: StackMap locals: freemarker.template.MalformedTemplateNameException
StackMap stack:
aload 6
athrow
9: StackMap locals:
StackMap stack:
new freemarker.cache.TemplateCache$MaybeMissingTemplate
dup
aconst_null
aload 6
invokespecial freemarker.cache.TemplateCache$MaybeMissingTemplate.<init>:(Ljava/lang/String;Lfreemarker/template/MalformedTemplateNameException;)V
areturn
end local 6 10: StackMap locals:
StackMap stack:
aload 0
getfield freemarker.cache.TemplateCache.templateLoader:Lfreemarker/cache/TemplateLoader;
ifnonnull 12
11: new freemarker.cache.TemplateCache$MaybeMissingTemplate
dup
aload 1
ldc "The TemplateLoader was null."
invokespecial freemarker.cache.TemplateCache$MaybeMissingTemplate.<init>:(Ljava/lang/String;Ljava/lang/String;)V
areturn
12: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
aload 3
aload 4
iload 5
invokevirtual freemarker.cache.TemplateCache.getTemplateInternal:(Ljava/lang/String;Ljava/util/Locale;Ljava/lang/Object;Ljava/lang/String;Z)Lfreemarker/template/Template;
astore 6
start local 6 13: aload 6
ifnull 14
new freemarker.cache.TemplateCache$MaybeMissingTemplate
dup
aload 6
invokespecial freemarker.cache.TemplateCache$MaybeMissingTemplate.<init>:(Lfreemarker/template/Template;)V
goto 15
StackMap locals: freemarker.template.Template
StackMap stack:
14: new freemarker.cache.TemplateCache$MaybeMissingTemplate
dup
aload 1
aconst_null
invokespecial freemarker.cache.TemplateCache$MaybeMissingTemplate.<init>:(Ljava/lang/String;Ljava/lang/String;)V
StackMap locals:
StackMap stack: freemarker.cache.TemplateCache$MaybeMissingTemplate
15: 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/cache/TemplateCache;
0 16 1 name Ljava/lang/String;
0 16 2 locale Ljava/util/Locale;
0 16 3 customLookupCondition Ljava/lang/Object;
0 16 4 encoding Ljava/lang/String;
0 16 5 parseAsFTL Z
6 10 6 e Lfreemarker/template/MalformedTemplateNameException;
13 16 6 template Lfreemarker/template/Template;
Exception table:
from to target type
3 4 5 Class freemarker.template.MalformedTemplateNameException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
name
locale
customLookupCondition
encoding
parseAsFTL
public freemarker.template.Template getTemplate(java.lang.String, java.util.Locale, java.lang.String, boolean);
descriptor: (Ljava/lang/String;Ljava/util/Locale;Ljava/lang/String;Z)Lfreemarker/template/Template;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
aload 2
aconst_null
aload 3
iload 4
invokevirtual freemarker.cache.TemplateCache.getTemplate:(Ljava/lang/String;Ljava/util/Locale;Ljava/lang/Object;Ljava/lang/String;Z)Lfreemarker/cache/TemplateCache$MaybeMissingTemplate;
invokevirtual freemarker.cache.TemplateCache$MaybeMissingTemplate.getTemplate:()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 1 0 this Lfreemarker/cache/TemplateCache;
0 1 1 name Ljava/lang/String;
0 1 2 locale Ljava/util/Locale;
0 1 3 encoding Ljava/lang/String;
0 1 4 parseAsFTL Z
Exceptions:
throws java.io.IOException
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
name
locale
encoding
parseAsFTL
protected static freemarker.cache.TemplateLoader createLegacyDefaultTemplateLoader();
descriptor: ()Lfreemarker/cache/TemplateLoader;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic freemarker.template.Configuration.VERSION_2_3_0:Lfreemarker/template/Version;
invokestatic freemarker.template._TemplateAPI.createDefaultTemplateLoader:(Lfreemarker/template/Version;)Lfreemarker/cache/TemplateLoader;
areturn
LocalVariableTable:
Start End Slot Name Signature
RuntimeVisibleAnnotations:
java.lang.Deprecated()
private freemarker.template.Template getTemplateInternal(java.lang.String, java.util.Locale, java.lang.Object, java.lang.String, boolean);
descriptor: (Ljava/lang/String;Ljava/util/Locale;Ljava/lang/Object;Ljava/lang/String;Z)Lfreemarker/template/Template;
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=21, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: getstatic freemarker.cache.TemplateCache.LOG:Lfreemarker/log/Logger;
invokevirtual freemarker.log.Logger.isDebugEnabled:()Z
istore 6
start local 6 1: iload 6
ifeq 3
2: aload 0
aload 1
aload 2
aload 3
aload 4
iload 5
invokevirtual freemarker.cache.TemplateCache.buildDebugName:(Ljava/lang/String;Ljava/util/Locale;Ljava/lang/Object;Ljava/lang/String;Z)Ljava/lang/String;
goto 4
3: StackMap locals: int
StackMap stack:
aconst_null
4: StackMap locals:
StackMap stack: java.lang.String
astore 7
start local 7 5: new freemarker.cache.TemplateCache$TemplateKey
dup
aload 1
aload 2
aload 3
aload 4
iload 5
invokespecial freemarker.cache.TemplateCache$TemplateKey.<init>:(Ljava/lang/String;Ljava/util/Locale;Ljava/lang/Object;Ljava/lang/String;Z)V
astore 8
start local 8 6: aload 0
getfield freemarker.cache.TemplateCache.isStorageConcurrent:Z
ifeq 9
7: aload 0
getfield freemarker.cache.TemplateCache.storage:Lfreemarker/cache/CacheStorage;
aload 8
invokeinterface freemarker.cache.CacheStorage.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast freemarker.cache.TemplateCache$CachedTemplate
astore 9
start local 9 8: goto 15
end local 9 9: StackMap locals: java.lang.String freemarker.cache.TemplateCache$TemplateKey
StackMap stack:
aload 0
getfield freemarker.cache.TemplateCache.storage:Lfreemarker/cache/CacheStorage;
dup
astore 10
monitorenter
10: aload 0
getfield freemarker.cache.TemplateCache.storage:Lfreemarker/cache/CacheStorage;
aload 8
invokeinterface freemarker.cache.CacheStorage.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast freemarker.cache.TemplateCache$CachedTemplate
astore 9
start local 9 11: aload 10
monitorexit
12: goto 15
end local 9 StackMap locals: freemarker.cache.TemplateCache java.lang.String java.util.Locale java.lang.Object java.lang.String int int java.lang.String freemarker.cache.TemplateCache$TemplateKey top freemarker.cache.CacheStorage
StackMap stack: java.lang.Throwable
13: aload 10
monitorexit
14: athrow
start local 9 15: StackMap locals: freemarker.cache.TemplateCache java.lang.String java.util.Locale java.lang.Object java.lang.String int int java.lang.String freemarker.cache.TemplateCache$TemplateKey freemarker.cache.TemplateCache$CachedTemplate
StackMap stack:
invokestatic java.lang.System.currentTimeMillis:()J
lstore 10
start local 10 16: ldc -1
lstore 12
start local 12 17: iconst_0
istore 14
start local 14 18: aconst_null
astore 15
start local 15 19: aload 9
ifnull 75
20: lload 10
aload 9
getfield freemarker.cache.TemplateCache$CachedTemplate.lastChecked:J
lsub
aload 0
getfield freemarker.cache.TemplateCache.updateDelay:J
lcmp
ifge 36
21: iload 6
ifeq 23
22: getstatic freemarker.cache.TemplateCache.LOG:Lfreemarker/log/Logger;
new java.lang.StringBuilder
dup
aload 7
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " cached copy not yet stale; using cached."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual freemarker.log.Logger.debug:(Ljava/lang/String;)V
23: StackMap locals: freemarker.cache.TemplateCache java.lang.String java.util.Locale java.lang.Object java.lang.String int int java.lang.String freemarker.cache.TemplateCache$TemplateKey freemarker.cache.TemplateCache$CachedTemplate long long int freemarker.cache.TemplateLookupResult
StackMap stack:
aload 9
getfield freemarker.cache.TemplateCache$CachedTemplate.templateOrException:Ljava/lang/Object;
astore 16
start local 16 24: aload 16
instanceof freemarker.template.Template
ifne 25
aload 16
ifnonnull 29
25: StackMap locals: java.lang.Object
StackMap stack:
aload 16
checkcast freemarker.template.Template
astore 20
26: aload 15
ifnull 28
aload 15
invokevirtual freemarker.cache.TemplateLookupResult.isPositive:()Z
ifeq 28
27: aload 0
getfield freemarker.cache.TemplateCache.templateLoader:Lfreemarker/cache/TemplateLoader;
aload 15
invokevirtual freemarker.cache.TemplateLookupResult.getTemplateSource:()Ljava/lang/Object;
invokeinterface freemarker.cache.TemplateLoader.closeTemplateSource:(Ljava/lang/Object;)V
28: StackMap locals: freemarker.cache.TemplateCache java.lang.String java.util.Locale java.lang.Object java.lang.String int int java.lang.String freemarker.cache.TemplateCache$TemplateKey freemarker.cache.TemplateCache$CachedTemplate long long int freemarker.cache.TemplateLookupResult java.lang.Object top top top freemarker.template.Template
StackMap stack:
aload 20
areturn
29: StackMap locals: freemarker.cache.TemplateCache java.lang.String java.util.Locale java.lang.Object java.lang.String int int java.lang.String freemarker.cache.TemplateCache$TemplateKey freemarker.cache.TemplateCache$CachedTemplate long long int freemarker.cache.TemplateLookupResult java.lang.Object
StackMap stack:
aload 16
instanceof java.lang.RuntimeException
ifeq 32
30: aload 0
aload 16
checkcast java.lang.RuntimeException
invokevirtual freemarker.cache.TemplateCache.throwLoadFailedException:(Ljava/lang/Throwable;)V
31: goto 35
StackMap locals:
StackMap stack:
32: aload 16
instanceof java.io.IOException
ifeq 35
33: iconst_1
istore 14
34: aload 0
aload 16
checkcast java.io.IOException
invokevirtual freemarker.cache.TemplateCache.throwLoadFailedException:(Ljava/lang/Throwable;)V
35: StackMap locals:
StackMap stack:
new freemarker.core.BugException
dup
new java.lang.StringBuilder
dup
ldc "t is "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 16
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial freemarker.core.BugException.<init>:(Ljava/lang/String;)V
athrow
end local 16 36: StackMap locals:
StackMap stack:
aload 9
invokevirtual freemarker.cache.TemplateCache$CachedTemplate.cloneCachedTemplate:()Lfreemarker/cache/TemplateCache$CachedTemplate;
astore 9
37: aload 9
lload 10
putfield freemarker.cache.TemplateCache$CachedTemplate.lastChecked:J
38: aload 0
aload 1
aload 2
aload 3
invokevirtual freemarker.cache.TemplateCache.lookupTemplate:(Ljava/lang/String;Ljava/util/Locale;Ljava/lang/Object;)Lfreemarker/cache/TemplateLookupResult;
astore 15
39: aload 15
invokevirtual freemarker.cache.TemplateLookupResult.isPositive:()Z
ifne 46
40: iload 6
ifeq 42
41: getstatic freemarker.cache.TemplateCache.LOG:Lfreemarker/log/Logger;
new java.lang.StringBuilder
dup
aload 7
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " no source found."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual freemarker.log.Logger.debug:(Ljava/lang/String;)V
42: StackMap locals:
StackMap stack:
aload 0
aload 8
aload 9
aconst_null
invokevirtual freemarker.cache.TemplateCache.storeNegativeLookup:(Lfreemarker/cache/TemplateCache$TemplateKey;Lfreemarker/cache/TemplateCache$CachedTemplate;Ljava/lang/Exception;)V
43: aload 15
ifnull 45
aload 15
invokevirtual freemarker.cache.TemplateLookupResult.isPositive:()Z
ifeq 45
44: aload 0
getfield freemarker.cache.TemplateCache.templateLoader:Lfreemarker/cache/TemplateLoader;
aload 15
invokevirtual freemarker.cache.TemplateLookupResult.getTemplateSource:()Ljava/lang/Object;
invokeinterface freemarker.cache.TemplateLoader.closeTemplateSource:(Ljava/lang/Object;)V
45: StackMap locals:
StackMap stack:
aconst_null
areturn
46: StackMap locals:
StackMap stack:
aload 15
invokevirtual freemarker.cache.TemplateLookupResult.getTemplateSource:()Ljava/lang/Object;
astore 16
start local 16 47: aload 0
getfield freemarker.cache.TemplateCache.templateLoader:Lfreemarker/cache/TemplateLoader;
aload 16
invokeinterface freemarker.cache.TemplateLoader.getLastModified:(Ljava/lang/Object;)J
lstore 12
48: lload 12
aload 9
getfield freemarker.cache.TemplateCache$CachedTemplate.lastModified:J
lcmp
ifne 49
iconst_1
goto 50
StackMap locals: java.lang.Object
StackMap stack:
49: iconst_0
StackMap locals:
StackMap stack: int
50: istore 17
start local 17 51: aload 16
aload 9
getfield freemarker.cache.TemplateCache$CachedTemplate.source:Ljava/lang/Object;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
istore 18
start local 18 52: iload 17
ifeq 60
iload 18
ifeq 60
53: iload 6
ifeq 55
54: getstatic freemarker.cache.TemplateCache.LOG:Lfreemarker/log/Logger;
new java.lang.StringBuilder
dup
aload 7
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ": using cached since "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 16
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " hasn't changed."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual freemarker.log.Logger.debug:(Ljava/lang/String;)V
55: StackMap locals: int int
StackMap stack:
aload 0
aload 8
aload 9
invokevirtual freemarker.cache.TemplateCache.storeCached:(Lfreemarker/cache/TemplateCache$TemplateKey;Lfreemarker/cache/TemplateCache$CachedTemplate;)V
56: aload 9
getfield freemarker.cache.TemplateCache$CachedTemplate.templateOrException:Ljava/lang/Object;
checkcast freemarker.template.Template
astore 20
57: aload 15
ifnull 59
aload 15
invokevirtual freemarker.cache.TemplateLookupResult.isPositive:()Z
ifeq 59
58: aload 0
getfield freemarker.cache.TemplateCache.templateLoader:Lfreemarker/cache/TemplateLoader;
aload 15
invokevirtual freemarker.cache.TemplateLookupResult.getTemplateSource:()Ljava/lang/Object;
invokeinterface freemarker.cache.TemplateLoader.closeTemplateSource:(Ljava/lang/Object;)V
59: StackMap locals: freemarker.cache.TemplateCache java.lang.String java.util.Locale java.lang.Object java.lang.String int int java.lang.String freemarker.cache.TemplateCache$TemplateKey freemarker.cache.TemplateCache$CachedTemplate long long int freemarker.cache.TemplateLookupResult java.lang.Object int int top freemarker.template.Template
StackMap stack:
aload 20
areturn
60: StackMap locals: freemarker.cache.TemplateCache java.lang.String java.util.Locale java.lang.Object java.lang.String int int java.lang.String freemarker.cache.TemplateCache$TemplateKey freemarker.cache.TemplateCache$CachedTemplate long long int freemarker.cache.TemplateLookupResult java.lang.Object int int
StackMap stack:
iload 6
ifeq 86
61: iload 18
ifne 68
62: getstatic freemarker.cache.TemplateCache.LOG:Lfreemarker/log/Logger;
new java.lang.StringBuilder
dup
ldc "Updating source because: sourceEquals="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
63: iload 18
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
64: ldc ", newlyFoundSource="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 16
invokestatic freemarker.template.utility.StringUtil.jQuoteNoXSS:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
65: ldc ", cached.source="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 9
getfield freemarker.cache.TemplateCache$CachedTemplate.source:Ljava/lang/Object;
invokestatic freemarker.template.utility.StringUtil.jQuoteNoXSS:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
66: invokevirtual freemarker.log.Logger.debug:(Ljava/lang/String;)V
67: goto 86
StackMap locals:
StackMap stack:
68: iload 17
ifne 86
69: getstatic freemarker.cache.TemplateCache.LOG:Lfreemarker/log/Logger;
new java.lang.StringBuilder
dup
ldc "Updating source because: lastModifiedNotChanged="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
70: iload 17
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
71: ldc ", cached.lastModified="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 9
getfield freemarker.cache.TemplateCache$CachedTemplate.lastModified:J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
72: ldc " != source.lastModified="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
lload 12
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
73: invokevirtual freemarker.log.Logger.debug:(Ljava/lang/String;)V
end local 18 end local 17 end local 16 74: goto 86
75: StackMap locals:
StackMap stack:
iload 6
ifeq 77
76: getstatic freemarker.cache.TemplateCache.LOG:Lfreemarker/log/Logger;
new java.lang.StringBuilder
dup
ldc "Couldn't find template in cache for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "; will try to load it."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual freemarker.log.Logger.debug:(Ljava/lang/String;)V
77: StackMap locals:
StackMap stack:
new freemarker.cache.TemplateCache$CachedTemplate
dup
invokespecial freemarker.cache.TemplateCache$CachedTemplate.<init>:()V
astore 9
78: aload 9
lload 10
putfield freemarker.cache.TemplateCache$CachedTemplate.lastChecked:J
79: aload 0
aload 1
aload 2
aload 3
invokevirtual freemarker.cache.TemplateCache.lookupTemplate:(Ljava/lang/String;Ljava/util/Locale;Ljava/lang/Object;)Lfreemarker/cache/TemplateLookupResult;
astore 15
80: aload 15
invokevirtual freemarker.cache.TemplateLookupResult.isPositive:()Z
ifne 85
81: aload 0
aload 8
aload 9
aconst_null
invokevirtual freemarker.cache.TemplateCache.storeNegativeLookup:(Lfreemarker/cache/TemplateCache$TemplateKey;Lfreemarker/cache/TemplateCache$CachedTemplate;Ljava/lang/Exception;)V
82: aload 15
ifnull 84
aload 15
invokevirtual freemarker.cache.TemplateLookupResult.isPositive:()Z
ifeq 84
83: aload 0
getfield freemarker.cache.TemplateCache.templateLoader:Lfreemarker/cache/TemplateLoader;
aload 15
invokevirtual freemarker.cache.TemplateLookupResult.getTemplateSource:()Ljava/lang/Object;
invokeinterface freemarker.cache.TemplateLoader.closeTemplateSource:(Ljava/lang/Object;)V
84: StackMap locals:
StackMap stack:
aconst_null
areturn
85: StackMap locals:
StackMap stack:
aload 9
ldc -9223372036854775808
dup2
lstore 12
putfield freemarker.cache.TemplateCache$CachedTemplate.lastModified:J
86: StackMap locals:
StackMap stack:
aload 15
invokevirtual freemarker.cache.TemplateLookupResult.getTemplateSource:()Ljava/lang/Object;
astore 16
start local 16 87: aload 9
aload 16
putfield freemarker.cache.TemplateCache$CachedTemplate.source:Ljava/lang/Object;
88: iload 6
ifeq 90
89: getstatic freemarker.cache.TemplateCache.LOG:Lfreemarker/log/Logger;
new java.lang.StringBuilder
dup
ldc "Loading template for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " from "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 16
invokestatic freemarker.template.utility.StringUtil.jQuoteNoXSS:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual freemarker.log.Logger.debug:(Ljava/lang/String;)V
90: StackMap locals: java.lang.Object
StackMap stack:
lload 12
ldc -9223372036854775808
lcmp
ifne 91
aload 0
getfield freemarker.cache.TemplateCache.templateLoader:Lfreemarker/cache/TemplateLoader;
aload 16
invokeinterface freemarker.cache.TemplateLoader.getLastModified:(Ljava/lang/Object;)J
goto 92
StackMap locals:
StackMap stack:
91: lload 12
StackMap locals:
StackMap stack: long
92: lstore 12
93: aload 0
94: aload 0
getfield freemarker.cache.TemplateCache.templateLoader:Lfreemarker/cache/TemplateLoader;
aload 16
95: aload 1
aload 15
invokevirtual freemarker.cache.TemplateLookupResult.getTemplateSourceName:()Ljava/lang/String;
aload 2
aload 3
96: aload 4
iload 5
97: invokevirtual freemarker.cache.TemplateCache.loadTemplate:(Lfreemarker/cache/TemplateLoader;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Ljava/util/Locale;Ljava/lang/Object;Ljava/lang/String;Z)Lfreemarker/template/Template;
astore 17
start local 17 98: aload 9
aload 17
putfield freemarker.cache.TemplateCache$CachedTemplate.templateOrException:Ljava/lang/Object;
99: aload 9
lload 12
putfield freemarker.cache.TemplateCache$CachedTemplate.lastModified:J
100: aload 0
aload 8
aload 9
invokevirtual freemarker.cache.TemplateCache.storeCached:(Lfreemarker/cache/TemplateCache$TemplateKey;Lfreemarker/cache/TemplateCache$CachedTemplate;)V
101: aload 17
astore 20
102: aload 15
ifnull 104
aload 15
invokevirtual freemarker.cache.TemplateLookupResult.isPositive:()Z
ifeq 104
103: aload 0
getfield freemarker.cache.TemplateCache.templateLoader:Lfreemarker/cache/TemplateLoader;
aload 15
invokevirtual freemarker.cache.TemplateLookupResult.getTemplateSource:()Ljava/lang/Object;
invokeinterface freemarker.cache.TemplateLoader.closeTemplateSource:(Ljava/lang/Object;)V
104: StackMap locals: freemarker.cache.TemplateCache java.lang.String java.util.Locale java.lang.Object java.lang.String int int java.lang.String freemarker.cache.TemplateCache$TemplateKey freemarker.cache.TemplateCache$CachedTemplate long long int freemarker.cache.TemplateLookupResult java.lang.Object freemarker.template.Template top top freemarker.template.Template
StackMap stack:
aload 20
areturn
end local 17 end local 16 105: StackMap locals: freemarker.cache.TemplateCache java.lang.String java.util.Locale java.lang.Object java.lang.String int int java.lang.String freemarker.cache.TemplateCache$TemplateKey freemarker.cache.TemplateCache$CachedTemplate long long int freemarker.cache.TemplateLookupResult
StackMap stack: java.lang.RuntimeException
astore 16
start local 16 106: aload 9
ifnull 108
107: aload 0
aload 8
aload 9
aload 16
invokevirtual freemarker.cache.TemplateCache.storeNegativeLookup:(Lfreemarker/cache/TemplateCache$TemplateKey;Lfreemarker/cache/TemplateCache$CachedTemplate;Ljava/lang/Exception;)V
108: StackMap locals: java.lang.RuntimeException
StackMap stack:
aload 16
athrow
end local 16 109: StackMap locals: freemarker.cache.TemplateCache java.lang.String java.util.Locale java.lang.Object java.lang.String int int java.lang.String freemarker.cache.TemplateCache$TemplateKey freemarker.cache.TemplateCache$CachedTemplate long long int freemarker.cache.TemplateLookupResult
StackMap stack: java.io.IOException
astore 16
start local 16 110: iload 14
ifne 112
111: aload 0
aload 8
aload 9
aload 16
invokevirtual freemarker.cache.TemplateCache.storeNegativeLookup:(Lfreemarker/cache/TemplateCache$TemplateKey;Lfreemarker/cache/TemplateCache$CachedTemplate;Ljava/lang/Exception;)V
112: StackMap locals: java.io.IOException
StackMap stack:
aload 16
athrow
end local 16 113: StackMap locals: freemarker.cache.TemplateCache java.lang.String java.util.Locale java.lang.Object java.lang.String int int java.lang.String freemarker.cache.TemplateCache$TemplateKey freemarker.cache.TemplateCache$CachedTemplate long long int freemarker.cache.TemplateLookupResult
StackMap stack: java.lang.Throwable
astore 19
114: aload 15
ifnull 116
aload 15
invokevirtual freemarker.cache.TemplateLookupResult.isPositive:()Z
ifeq 116
115: aload 0
getfield freemarker.cache.TemplateCache.templateLoader:Lfreemarker/cache/TemplateLoader;
aload 15
invokevirtual freemarker.cache.TemplateLookupResult.getTemplateSource:()Ljava/lang/Object;
invokeinterface freemarker.cache.TemplateLoader.closeTemplateSource:(Ljava/lang/Object;)V
116: StackMap locals: freemarker.cache.TemplateCache java.lang.String java.util.Locale java.lang.Object java.lang.String int int java.lang.String freemarker.cache.TemplateCache$TemplateKey freemarker.cache.TemplateCache$CachedTemplate long long int freemarker.cache.TemplateLookupResult top top top java.lang.Throwable
StackMap stack:
aload 19
athrow
end local 15 end local 14 end local 12 end local 10 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 117 0 this Lfreemarker/cache/TemplateCache;
0 117 1 name Ljava/lang/String;
0 117 2 locale Ljava/util/Locale;
0 117 3 customLookupCondition Ljava/lang/Object;
0 117 4 encoding Ljava/lang/String;
0 117 5 parseAsFTL Z
1 117 6 debug Z
5 117 7 debugName Ljava/lang/String;
6 117 8 tk Lfreemarker/cache/TemplateCache$TemplateKey;
8 9 9 cachedTemplate Lfreemarker/cache/TemplateCache$CachedTemplate;
11 13 9 cachedTemplate Lfreemarker/cache/TemplateCache$CachedTemplate;
15 117 9 cachedTemplate Lfreemarker/cache/TemplateCache$CachedTemplate;
16 117 10 now J
17 117 12 lastModified J
18 117 14 rethrown Z
19 117 15 newLookupResult Lfreemarker/cache/TemplateLookupResult;
24 36 16 t Ljava/lang/Object;
47 74 16 newLookupResultSource Ljava/lang/Object;
51 74 17 lastModifiedNotChanged Z
52 74 18 sourceEquals Z
87 105 16 source Ljava/lang/Object;
98 105 17 template Lfreemarker/template/Template;
106 109 16 e Ljava/lang/RuntimeException;
110 113 16 e Ljava/io/IOException;
Exception table:
from to target type
10 12 13 any
13 14 13 any
19 26 105 Class java.lang.RuntimeException
29 43 105 Class java.lang.RuntimeException
46 57 105 Class java.lang.RuntimeException
60 82 105 Class java.lang.RuntimeException
85 102 105 Class java.lang.RuntimeException
19 26 109 Class java.io.IOException
29 43 109 Class java.io.IOException
46 57 109 Class java.io.IOException
60 82 109 Class java.io.IOException
85 102 109 Class java.io.IOException
19 26 113 any
29 43 113 any
46 57 113 any
60 82 113 any
85 102 113 any
105 113 113 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
name final
locale final
customLookupCondition final
encoding final
parseAsFTL final
private static final java.lang.reflect.Method getInitCauseMethod();
descriptor: ()Ljava/lang/reflect/Method;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Code:
stack=6, locals=0, args_size=0
0: ldc Ljava/lang/Throwable;
ldc "initCause"
iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/Throwable;
aastore
invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
1: areturn
2: StackMap locals:
StackMap stack: java.lang.NoSuchMethodException
pop
3: aconst_null
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
0 1 2 Class java.lang.NoSuchMethodException
private java.io.IOException newIOException(java.lang.String, java.lang.Throwable);
descriptor: (Ljava/lang/String;Ljava/lang/Throwable;)Ljava/io/IOException;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnonnull 2
1: new java.io.IOException
dup
aload 1
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
areturn
2: StackMap locals:
StackMap stack:
getstatic freemarker.cache.TemplateCache.INIT_CAUSE:Ljava/lang/reflect/Method;
ifnull 10
3: new java.io.IOException
dup
aload 1
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
astore 3
start local 3 4: getstatic freemarker.cache.TemplateCache.INIT_CAUSE:Ljava/lang/reflect/Method;
aload 3
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
pop
5: goto 13
StackMap locals: freemarker.cache.TemplateCache java.lang.String java.lang.Throwable java.io.IOException
StackMap stack: java.lang.RuntimeException
6: astore 4
start local 4 7: aload 4
athrow
end local 4 8: StackMap locals:
StackMap stack: java.lang.Exception
astore 4
start local 4 9: new freemarker.template.utility.UndeclaredThrowableException
dup
aload 4
invokespecial freemarker.template.utility.UndeclaredThrowableException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 4 end local 3 10: StackMap locals:
StackMap stack:
new java.io.IOException
dup
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "\nCaused by: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
11: ldc ": "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
12: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
astore 3
start local 3 13: StackMap locals: java.io.IOException
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/cache/TemplateCache;
0 14 1 message Ljava/lang/String;
0 14 2 cause Ljava/lang/Throwable;
4 10 3 ioe Ljava/io/IOException;
13 14 3 ioe Ljava/io/IOException;
7 8 4 ex Ljava/lang/RuntimeException;
9 10 4 ex Ljava/lang/Exception;
Exception table:
from to target type
4 5 6 Class java.lang.RuntimeException
4 5 8 Class java.lang.Exception
MethodParameters:
Name Flags
message
cause
private void throwLoadFailedException(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc "There was an error loading the template on an earlier attempt; see cause exception."
1: aload 1
2: invokevirtual freemarker.cache.TemplateCache.newIOException:(Ljava/lang/String;Ljava/lang/Throwable;)Ljava/io/IOException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lfreemarker/cache/TemplateCache;
0 3 1 e Ljava/lang/Throwable;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
e
private void storeNegativeLookup(freemarker.cache.TemplateCache$TemplateKey, freemarker.cache.TemplateCache$CachedTemplate, java.lang.Exception);
descriptor: (Lfreemarker/cache/TemplateCache$TemplateKey;Lfreemarker/cache/TemplateCache$CachedTemplate;Ljava/lang/Exception;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
aload 3
putfield freemarker.cache.TemplateCache$CachedTemplate.templateOrException:Ljava/lang/Object;
1: aload 2
aconst_null
putfield freemarker.cache.TemplateCache$CachedTemplate.source:Ljava/lang/Object;
2: aload 2
lconst_0
putfield freemarker.cache.TemplateCache$CachedTemplate.lastModified:J
3: aload 0
aload 1
aload 2
invokevirtual freemarker.cache.TemplateCache.storeCached:(Lfreemarker/cache/TemplateCache$TemplateKey;Lfreemarker/cache/TemplateCache$CachedTemplate;)V
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lfreemarker/cache/TemplateCache;
0 5 1 tk Lfreemarker/cache/TemplateCache$TemplateKey;
0 5 2 cachedTemplate Lfreemarker/cache/TemplateCache$CachedTemplate;
0 5 3 e Ljava/lang/Exception;
MethodParameters:
Name Flags
tk
cachedTemplate
e
private void storeCached(freemarker.cache.TemplateCache$TemplateKey, freemarker.cache.TemplateCache$CachedTemplate);
descriptor: (Lfreemarker/cache/TemplateCache$TemplateKey;Lfreemarker/cache/TemplateCache$CachedTemplate;)V
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.cache.TemplateCache.isStorageConcurrent:Z
ifeq 3
1: aload 0
getfield freemarker.cache.TemplateCache.storage:Lfreemarker/cache/CacheStorage;
aload 1
aload 2
invokeinterface freemarker.cache.CacheStorage.put:(Ljava/lang/Object;Ljava/lang/Object;)V
2: goto 9
3: StackMap locals:
StackMap stack:
aload 0
getfield freemarker.cache.TemplateCache.storage:Lfreemarker/cache/CacheStorage;
dup
astore 3
monitorenter
4: aload 0
getfield freemarker.cache.TemplateCache.storage:Lfreemarker/cache/CacheStorage;
aload 1
aload 2
invokeinterface freemarker.cache.CacheStorage.put:(Ljava/lang/Object;Ljava/lang/Object;)V
5: aload 3
monitorexit
6: goto 9
StackMap locals: freemarker.cache.TemplateCache freemarker.cache.TemplateCache$TemplateKey freemarker.cache.TemplateCache$CachedTemplate freemarker.cache.CacheStorage
StackMap stack: java.lang.Throwable
7: aload 3
monitorexit
8: athrow
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/cache/TemplateCache;
0 10 1 tk Lfreemarker/cache/TemplateCache$TemplateKey;
0 10 2 cachedTemplate Lfreemarker/cache/TemplateCache$CachedTemplate;
Exception table:
from to target type
4 6 7 any
7 8 7 any
MethodParameters:
Name Flags
tk
cachedTemplate
private freemarker.template.Template loadTemplate(freemarker.cache.TemplateLoader, java.lang.Object, java.lang.String, java.lang.String, java.util.Locale, java.lang.Object, java.lang.String, boolean);
descriptor: (Lfreemarker/cache/TemplateLoader;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;Ljava/util/Locale;Ljava/lang/Object;Ljava/lang/String;Z)Lfreemarker/template/Template;
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=16, args_size=9
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 0: aload 0
getfield freemarker.cache.TemplateCache.templateConfigurations:Lfreemarker/cache/TemplateConfigurationFactory;
ifnull 1
aload 0
getfield freemarker.cache.TemplateCache.templateConfigurations:Lfreemarker/cache/TemplateConfigurationFactory;
aload 4
aload 2
invokevirtual freemarker.cache.TemplateConfigurationFactory.get:(Ljava/lang/String;Ljava/lang/Object;)Lfreemarker/core/TemplateConfiguration;
goto 2
StackMap locals:
StackMap stack:
1: aconst_null
StackMap locals:
StackMap stack: freemarker.core.TemplateConfiguration
2: astore 9
start local 9 3: goto 6
end local 9 StackMap locals:
StackMap stack: freemarker.cache.TemplateConfigurationFactoryException
4: astore 10
start local 10 5: aload 0
ldc "Error while getting TemplateConfiguration; see cause exception."
aload 10
invokevirtual freemarker.cache.TemplateCache.newIOException:(Ljava/lang/String;Ljava/lang/Throwable;)Ljava/io/IOException;
athrow
end local 10 start local 9 6: StackMap locals: freemarker.core.TemplateConfiguration
StackMap stack:
aload 9
ifnull 11
7: aload 9
invokevirtual freemarker.core.TemplateConfiguration.isEncodingSet:()Z
ifeq 9
8: aload 9
invokevirtual freemarker.core.TemplateConfiguration.getEncoding:()Ljava/lang/String;
astore 7
9: StackMap locals:
StackMap stack:
aload 9
invokevirtual freemarker.core.TemplateConfiguration.isLocaleSet:()Z
ifeq 11
10: aload 9
invokevirtual freemarker.core.TemplateConfiguration.getLocale:()Ljava/util/Locale;
astore 5
11: StackMap locals:
StackMap stack:
iload 8
ifeq 34
12: aload 1
aload 2
aload 7
invokeinterface freemarker.cache.TemplateLoader.getReader:(Ljava/lang/Object;Ljava/lang/String;)Ljava/io/Reader;
astore 11
start local 11 13: new freemarker.template.Template
dup
aload 3
aload 4
aload 11
aload 0
getfield freemarker.cache.TemplateCache.config:Lfreemarker/template/Configuration;
aload 9
aload 7
invokespecial freemarker.template.Template.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/io/Reader;Lfreemarker/template/Configuration;Lfreemarker/core/ParserConfiguration;Ljava/lang/String;)V
astore 10
start local 10 14: goto 18
end local 10 StackMap locals: freemarker.cache.TemplateCache freemarker.cache.TemplateLoader java.lang.Object java.lang.String java.lang.String java.util.Locale java.lang.Object java.lang.String int freemarker.core.TemplateConfiguration top java.io.Reader
StackMap stack: java.lang.Throwable
15: astore 12
16: aload 11
invokevirtual java.io.Reader.close:()V
17: aload 12
athrow
start local 10 18: StackMap locals: freemarker.cache.TemplateCache freemarker.cache.TemplateLoader java.lang.Object java.lang.String java.lang.String java.util.Locale java.lang.Object java.lang.String int freemarker.core.TemplateConfiguration freemarker.template.Template java.io.Reader
StackMap stack:
aload 11
invokevirtual java.io.Reader.close:()V
end local 11 19: goto 49
end local 10 StackMap locals: freemarker.cache.TemplateCache freemarker.cache.TemplateLoader java.lang.Object java.lang.String java.lang.String java.util.Locale java.lang.Object java.lang.String int freemarker.core.TemplateConfiguration
StackMap stack: freemarker.template.Template$WrongEncodingException
20: astore 11
start local 11 21: aload 11
invokevirtual freemarker.template.Template$WrongEncodingException.getTemplateSpecifiedEncoding:()Ljava/lang/String;
astore 12
start local 12 22: getstatic freemarker.cache.TemplateCache.LOG:Lfreemarker/log/Logger;
invokevirtual freemarker.log.Logger.isDebugEnabled:()Z
ifeq 26
23: getstatic freemarker.cache.TemplateCache.LOG:Lfreemarker/log/Logger;
new java.lang.StringBuilder
dup
ldc "Initial encoding \""
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\" was incorrect, re-reading with \""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
24: aload 12
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\". Template: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
25: invokevirtual freemarker.log.Logger.debug:(Ljava/lang/String;)V
26: StackMap locals: freemarker.cache.TemplateCache freemarker.cache.TemplateLoader java.lang.Object java.lang.String java.lang.String java.util.Locale java.lang.Object java.lang.String int freemarker.core.TemplateConfiguration top freemarker.template.Template$WrongEncodingException java.lang.String
StackMap stack:
aload 1
aload 2
aload 12
invokeinterface freemarker.cache.TemplateLoader.getReader:(Ljava/lang/Object;Ljava/lang/String;)Ljava/io/Reader;
astore 13
start local 13 27: new freemarker.template.Template
dup
aload 3
aload 4
aload 13
aload 0
getfield freemarker.cache.TemplateCache.config:Lfreemarker/template/Configuration;
aload 9
aload 12
invokespecial freemarker.template.Template.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/io/Reader;Lfreemarker/template/Configuration;Lfreemarker/core/ParserConfiguration;Ljava/lang/String;)V
astore 10
start local 10 28: goto 32
end local 10 StackMap locals: freemarker.cache.TemplateCache freemarker.cache.TemplateLoader java.lang.Object java.lang.String java.lang.String java.util.Locale java.lang.Object java.lang.String int freemarker.core.TemplateConfiguration top freemarker.template.Template$WrongEncodingException java.lang.String java.io.Reader
StackMap stack: java.lang.Throwable
29: astore 14
30: aload 13
invokevirtual java.io.Reader.close:()V
31: aload 14
athrow
start local 10 32: StackMap locals: freemarker.cache.TemplateCache freemarker.cache.TemplateLoader java.lang.Object java.lang.String java.lang.String java.util.Locale java.lang.Object java.lang.String int freemarker.core.TemplateConfiguration freemarker.template.Template freemarker.template.Template$WrongEncodingException java.lang.String java.io.Reader
StackMap stack:
aload 13
invokevirtual java.io.Reader.close:()V
end local 13 end local 12 end local 11 33: goto 49
end local 10 34: StackMap locals: freemarker.cache.TemplateCache freemarker.cache.TemplateLoader java.lang.Object java.lang.String java.lang.String java.util.Locale java.lang.Object java.lang.String int freemarker.core.TemplateConfiguration
StackMap stack:
new java.io.StringWriter
dup
invokespecial java.io.StringWriter.<init>:()V
astore 11
start local 11 35: sipush 4096
newarray 5
astore 12
start local 12 36: aload 1
aload 2
aload 7
invokeinterface freemarker.cache.TemplateLoader.getReader:(Ljava/lang/Object;Ljava/lang/String;)Ljava/io/Reader;
astore 13
start local 13 37: StackMap locals: freemarker.cache.TemplateCache freemarker.cache.TemplateLoader java.lang.Object java.lang.String java.lang.String java.util.Locale java.lang.Object java.lang.String int freemarker.core.TemplateConfiguration top java.io.StringWriter char[] java.io.Reader
StackMap stack:
aload 13
aload 12
invokevirtual java.io.Reader.read:([C)I
istore 14
start local 14 38: iload 14
ifle 41
39: aload 11
aload 12
iconst_0
iload 14
invokevirtual java.io.StringWriter.write:([CII)V
40: goto 37
StackMap locals: int
StackMap stack:
41: iload 14
ifge 37
end local 14 42: goto 46
StackMap locals: freemarker.cache.TemplateCache freemarker.cache.TemplateLoader java.lang.Object java.lang.String java.lang.String java.util.Locale java.lang.Object java.lang.String int freemarker.core.TemplateConfiguration top java.io.StringWriter char[] java.io.Reader
StackMap stack: java.lang.Throwable
43: astore 15
44: aload 13
invokevirtual java.io.Reader.close:()V
45: aload 15
athrow
46: StackMap locals:
StackMap stack:
aload 13
invokevirtual java.io.Reader.close:()V
47: aload 3
aload 4
aload 11
invokevirtual java.io.StringWriter.toString:()Ljava/lang/String;
aload 0
getfield freemarker.cache.TemplateCache.config:Lfreemarker/template/Configuration;
invokestatic freemarker.template.Template.getPlainTextTemplate:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lfreemarker/template/Configuration;)Lfreemarker/template/Template;
astore 10
start local 10 48: aload 10
aload 7
invokevirtual freemarker.template.Template.setEncoding:(Ljava/lang/String;)V
end local 13 end local 12 end local 11 49: StackMap locals: freemarker.cache.TemplateCache freemarker.cache.TemplateLoader java.lang.Object java.lang.String java.lang.String java.util.Locale java.lang.Object java.lang.String int freemarker.core.TemplateConfiguration freemarker.template.Template
StackMap stack:
aload 9
ifnull 51
50: aload 9
aload 10
invokevirtual freemarker.core.TemplateConfiguration.apply:(Lfreemarker/template/Template;)V
51: StackMap locals:
StackMap stack:
aload 10
aload 5
invokevirtual freemarker.template.Template.setLocale:(Ljava/util/Locale;)V
52: aload 10
aload 6
invokevirtual freemarker.template.Template.setCustomLookupCondition:(Ljava/lang/Object;)V
53: aload 10
areturn
end local 10 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 54 0 this Lfreemarker/cache/TemplateCache;
0 54 1 templateLoader Lfreemarker/cache/TemplateLoader;
0 54 2 source Ljava/lang/Object;
0 54 3 name Ljava/lang/String;
0 54 4 sourceName Ljava/lang/String;
0 54 5 locale Ljava/util/Locale;
0 54 6 customLookupCondition Ljava/lang/Object;
0 54 7 initialEncoding Ljava/lang/String;
0 54 8 parseAsFTL Z
3 4 9 tc Lfreemarker/core/TemplateConfiguration;
6 54 9 tc Lfreemarker/core/TemplateConfiguration;
5 6 10 e Lfreemarker/cache/TemplateConfigurationFactoryException;
14 15 10 template Lfreemarker/template/Template;
18 20 10 template Lfreemarker/template/Template;
28 29 10 template Lfreemarker/template/Template;
32 34 10 template Lfreemarker/template/Template;
48 54 10 template Lfreemarker/template/Template;
13 19 11 reader Ljava/io/Reader;
21 33 11 wee Lfreemarker/template/Template$WrongEncodingException;
22 33 12 actualEncoding Ljava/lang/String;
27 33 13 reader Ljava/io/Reader;
35 49 11 sw Ljava/io/StringWriter;
36 49 12 buf [C
37 49 13 reader Ljava/io/Reader;
38 42 14 charsRead I
Exception table:
from to target type
0 3 4 Class freemarker.cache.TemplateConfigurationFactoryException
13 15 15 any
12 19 20 Class freemarker.template.Template$WrongEncodingException
27 29 29 any
37 43 43 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
templateLoader final
source final
name final
sourceName final
locale
customLookupCondition final
initialEncoding
parseAsFTL final
public long getDelay();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
dup
astore 1
monitorenter
1: aload 0
getfield freemarker.cache.TemplateCache.updateDelay:J
aload 1
monitorexit
2: lreturn
3: StackMap locals: freemarker.cache.TemplateCache freemarker.cache.TemplateCache
StackMap stack: java.lang.Throwable
aload 1
monitorexit
4: athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lfreemarker/cache/TemplateCache;
Exception table:
from to target type
1 2 3 any
3 4 3 any
public void setDelay(long);
descriptor: (J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
dup
astore 3
monitorenter
1: aload 0
lload 1
putfield freemarker.cache.TemplateCache.updateDelay:J
2: aload 3
monitorexit
3: goto 6
StackMap locals: freemarker.cache.TemplateCache long freemarker.cache.TemplateCache
StackMap stack: java.lang.Throwable
4: aload 3
monitorexit
5: athrow
6: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lfreemarker/cache/TemplateCache;
0 7 1 delay J
Exception table:
from to target type
1 3 4 any
4 5 4 any
MethodParameters:
Name Flags
delay
public boolean getLocalizedLookup();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
dup
astore 1
monitorenter
1: aload 0
getfield freemarker.cache.TemplateCache.localizedLookup:Z
aload 1
monitorexit
2: ireturn
3: StackMap locals: freemarker.cache.TemplateCache freemarker.cache.TemplateCache
StackMap stack: java.lang.Throwable
aload 1
monitorexit
4: athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lfreemarker/cache/TemplateCache;
Exception table:
from to target type
1 2 3 any
3 4 3 any
public void setLocalizedLookup(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
dup
astore 2
monitorenter
1: aload 0
getfield freemarker.cache.TemplateCache.localizedLookup:Z
iload 1
if_icmpeq 4
2: aload 0
iload 1
putfield freemarker.cache.TemplateCache.localizedLookup:Z
3: aload 0
invokevirtual freemarker.cache.TemplateCache.clear:()V
4: StackMap locals: freemarker.cache.TemplateCache
StackMap stack:
aload 2
monitorexit
5: goto 8
StackMap locals:
StackMap stack: java.lang.Throwable
6: aload 2
monitorexit
7: athrow
8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lfreemarker/cache/TemplateCache;
0 9 1 localizedLookup Z
Exception table:
from to target type
1 5 6 any
6 7 6 any
MethodParameters:
Name Flags
localizedLookup
public void clear();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield freemarker.cache.TemplateCache.storage:Lfreemarker/cache/CacheStorage;
dup
astore 1
monitorenter
1: aload 0
getfield freemarker.cache.TemplateCache.storage:Lfreemarker/cache/CacheStorage;
invokeinterface freemarker.cache.CacheStorage.clear:()V
2: aload 0
getfield freemarker.cache.TemplateCache.templateLoader:Lfreemarker/cache/TemplateLoader;
instanceof freemarker.cache.StatefulTemplateLoader
ifeq 4
3: aload 0
getfield freemarker.cache.TemplateCache.templateLoader:Lfreemarker/cache/TemplateLoader;
checkcast freemarker.cache.StatefulTemplateLoader
invokeinterface freemarker.cache.StatefulTemplateLoader.resetState:()V
4: StackMap locals: freemarker.cache.CacheStorage
StackMap stack:
aload 1
monitorexit
5: goto 8
StackMap locals:
StackMap stack: java.lang.Throwable
6: aload 1
monitorexit
7: athrow
8: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lfreemarker/cache/TemplateCache;
Exception table:
from to target type
1 5 6 any
6 7 6 any
public void removeTemplate(java.lang.String, java.util.Locale, java.lang.String, boolean);
descriptor: (Ljava/lang/String;Ljava/util/Locale;Ljava/lang/String;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
aload 2
aconst_null
aload 3
iload 4
invokevirtual freemarker.cache.TemplateCache.removeTemplate:(Ljava/lang/String;Ljava/util/Locale;Ljava/lang/Object;Ljava/lang/String;Z)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/cache/TemplateCache;
0 2 1 name Ljava/lang/String;
0 2 2 locale Ljava/util/Locale;
0 2 3 encoding Ljava/lang/String;
0 2 4 parse Z
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
name
locale
encoding
parse
public void removeTemplate(java.lang.String, java.util.Locale, java.lang.Object, java.lang.String, boolean);
descriptor: (Ljava/lang/String;Ljava/util/Locale;Ljava/lang/Object;Ljava/lang/String;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, 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 1
ifnonnull 2
1: new java.lang.IllegalArgumentException
dup
ldc "Argument \"name\" can't be null"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 2
ifnonnull 4
3: new java.lang.IllegalArgumentException
dup
ldc "Argument \"locale\" can't be null"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 4
ifnonnull 6
5: new java.lang.IllegalArgumentException
dup
ldc "Argument \"encoding\" can't be null"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 0
getfield freemarker.cache.TemplateCache.templateNameFormat:Lfreemarker/cache/TemplateNameFormat;
aload 1
invokevirtual freemarker.cache.TemplateNameFormat.normalizeRootBasedName:(Ljava/lang/String;)Ljava/lang/String;
astore 1
7: aload 1
ifnull 25
aload 0
getfield freemarker.cache.TemplateCache.templateLoader:Lfreemarker/cache/TemplateLoader;
ifnull 25
8: getstatic freemarker.cache.TemplateCache.LOG:Lfreemarker/log/Logger;
invokevirtual freemarker.log.Logger.isDebugEnabled:()Z
istore 6
start local 6 9: iload 6
ifeq 11
10: aload 0
aload 1
aload 2
aload 3
aload 4
iload 5
invokevirtual freemarker.cache.TemplateCache.buildDebugName:(Ljava/lang/String;Ljava/util/Locale;Ljava/lang/Object;Ljava/lang/String;Z)Ljava/lang/String;
goto 12
11: StackMap locals: int
StackMap stack:
aconst_null
12: StackMap locals:
StackMap stack: java.lang.String
astore 7
start local 7 13: new freemarker.cache.TemplateCache$TemplateKey
dup
aload 1
aload 2
aload 3
aload 4
iload 5
invokespecial freemarker.cache.TemplateCache$TemplateKey.<init>:(Ljava/lang/String;Ljava/util/Locale;Ljava/lang/Object;Ljava/lang/String;Z)V
astore 8
start local 8 14: aload 0
getfield freemarker.cache.TemplateCache.isStorageConcurrent:Z
ifeq 17
15: aload 0
getfield freemarker.cache.TemplateCache.storage:Lfreemarker/cache/CacheStorage;
aload 8
invokeinterface freemarker.cache.CacheStorage.remove:(Ljava/lang/Object;)V
16: goto 23
17: StackMap locals: java.lang.String freemarker.cache.TemplateCache$TemplateKey
StackMap stack:
aload 0
getfield freemarker.cache.TemplateCache.storage:Lfreemarker/cache/CacheStorage;
dup
astore 9
monitorenter
18: aload 0
getfield freemarker.cache.TemplateCache.storage:Lfreemarker/cache/CacheStorage;
aload 8
invokeinterface freemarker.cache.CacheStorage.remove:(Ljava/lang/Object;)V
19: aload 9
monitorexit
20: goto 23
StackMap locals: freemarker.cache.TemplateCache java.lang.String java.util.Locale java.lang.Object java.lang.String int int java.lang.String freemarker.cache.TemplateCache$TemplateKey freemarker.cache.CacheStorage
StackMap stack: java.lang.Throwable
21: aload 9
monitorexit
22: athrow
23: StackMap locals:
StackMap stack:
iload 6
ifeq 25
24: getstatic freemarker.cache.TemplateCache.LOG:Lfreemarker/log/Logger;
new java.lang.StringBuilder
dup
aload 7
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " was removed from the cache, if it was there"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual freemarker.log.Logger.debug:(Ljava/lang/String;)V
end local 8 end local 7 end local 6 25: 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 26 0 this Lfreemarker/cache/TemplateCache;
0 26 1 name Ljava/lang/String;
0 26 2 locale Ljava/util/Locale;
0 26 3 customLookupCondition Ljava/lang/Object;
0 26 4 encoding Ljava/lang/String;
0 26 5 parse Z
9 25 6 debug Z
13 25 7 debugName Ljava/lang/String;
14 25 8 tk Lfreemarker/cache/TemplateCache$TemplateKey;
Exception table:
from to target type
18 20 21 any
21 22 21 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
name
locale
customLookupCondition
encoding
parse
private java.lang.String buildDebugName(java.lang.String, java.util.Locale, java.lang.Object, java.lang.String, boolean);
descriptor: (Ljava/lang/String;Ljava/util/Locale;Ljava/lang/Object;Ljava/lang/String;Z)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: new java.lang.StringBuilder
dup
aload 1
invokestatic freemarker.template.utility.StringUtil.jQuoteNoXSS:(Ljava/lang/String;)Ljava/lang/String;
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;
1: aload 2
invokestatic freemarker.template.utility.StringUtil.jQuoteNoXSS:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
2: aload 3
ifnull 3
new java.lang.StringBuilder
dup
ldc ", cond="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokestatic freemarker.template.utility.StringUtil.jQuoteNoXSS:(Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
goto 4
StackMap locals:
StackMap stack: java.lang.StringBuilder
3: ldc ""
StackMap locals: freemarker.cache.TemplateCache java.lang.String java.util.Locale java.lang.Object java.lang.String int
StackMap stack: java.lang.StringBuilder java.lang.String
4: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
5: ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
6: iload 5
ifeq 7
ldc ", parsed)"
goto 8
StackMap locals:
StackMap stack: java.lang.StringBuilder
7: ldc ", unparsed]"
StackMap locals: freemarker.cache.TemplateCache java.lang.String java.util.Locale java.lang.Object java.lang.String int
StackMap stack: java.lang.StringBuilder java.lang.String
8: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
9: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
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 10 0 this Lfreemarker/cache/TemplateCache;
0 10 1 name Ljava/lang/String;
0 10 2 locale Ljava/util/Locale;
0 10 3 customLookupCondition Ljava/lang/Object;
0 10 4 encoding Ljava/lang/String;
0 10 5 parse Z
MethodParameters:
Name Flags
name
locale
customLookupCondition
encoding
parse
public static java.lang.String getFullTemplatePath(freemarker.core.Environment, java.lang.String, java.lang.String);
descriptor: (Lfreemarker/core/Environment;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokevirtual freemarker.core.Environment.toFullTemplateName:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
1: areturn
2: StackMap locals:
StackMap stack: freemarker.template.MalformedTemplateNameException
astore 3
start local 3 3: new java.lang.IllegalArgumentException
dup
aload 3
invokevirtual freemarker.template.MalformedTemplateNameException.getMessage:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 env Lfreemarker/core/Environment;
0 4 1 baseName Ljava/lang/String;
0 4 2 targetName Ljava/lang/String;
3 4 3 e Lfreemarker/template/MalformedTemplateNameException;
Exception table:
from to target type
0 1 2 Class freemarker.template.MalformedTemplateNameException
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
env
baseName
targetName
private freemarker.cache.TemplateLookupResult lookupTemplate(java.lang.String, java.util.Locale, java.lang.Object);
descriptor: (Ljava/lang/String;Ljava/util/Locale;Ljava/lang/Object;)Lfreemarker/cache/TemplateLookupResult;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield freemarker.cache.TemplateCache.templateLookupStrategy:Lfreemarker/cache/TemplateLookupStrategy;
1: new freemarker.cache.TemplateCache$TemplateCacheTemplateLookupContext
dup
aload 0
aload 1
aload 2
aload 3
invokespecial freemarker.cache.TemplateCache$TemplateCacheTemplateLookupContext.<init>:(Lfreemarker/cache/TemplateCache;Ljava/lang/String;Ljava/util/Locale;Ljava/lang/Object;)V
2: invokevirtual freemarker.cache.TemplateLookupStrategy.lookup:(Lfreemarker/cache/TemplateLookupContext;)Lfreemarker/cache/TemplateLookupResult;
astore 4
start local 4 3: aload 4
ifnonnull 5
4: new java.lang.NullPointerException
dup
ldc "Lookup result shouldn't be null"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: freemarker.cache.TemplateLookupResult
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 6 0 this Lfreemarker/cache/TemplateCache;
0 6 1 name Ljava/lang/String;
0 6 2 locale Ljava/util/Locale;
0 6 3 customLookupCondition Ljava/lang/Object;
3 6 4 lookupResult Lfreemarker/cache/TemplateLookupResult;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
name
locale
customLookupCondition
private freemarker.cache.TemplateLookupResult lookupTemplateWithAcquisitionStrategy(java.lang.String);
descriptor: (Ljava/lang/String;)Lfreemarker/cache/TemplateLookupResult;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=12, args_size=2
start local 0 start local 1 0: aload 1
bipush 42
invokevirtual java.lang.String.indexOf:(I)I
istore 2
start local 2 1: iload 2
iconst_m1
if_icmpne 3
2: aload 1
aload 0
aload 1
invokevirtual freemarker.cache.TemplateCache.findTemplateSource:(Ljava/lang/String;)Ljava/lang/Object;
invokestatic freemarker.cache.TemplateLookupResult.from:(Ljava/lang/String;Ljava/lang/Object;)Lfreemarker/cache/TemplateLookupResult;
areturn
3: StackMap locals: int
StackMap stack:
new java.util.StringTokenizer
dup
aload 1
ldc "/"
invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;)V
astore 3
start local 3 4: iconst_m1
istore 4
start local 4 5: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 5
start local 5 6: goto 13
7: StackMap locals: java.util.StringTokenizer int java.util.List
StackMap stack:
aload 3
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
astore 6
start local 6 8: aload 6
ldc "*"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 12
9: iload 4
iconst_m1
if_icmpeq 11
10: aload 5
iload 4
invokeinterface java.util.List.remove:(I)Ljava/lang/Object;
pop
11: StackMap locals: java.lang.String
StackMap stack:
aload 5
invokeinterface java.util.List.size:()I
istore 4
12: StackMap locals:
StackMap stack:
aload 5
aload 6
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 6 13: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifne 7
14: iload 4
iconst_m1
if_icmpne 16
15: aload 1
aload 0
aload 1
invokevirtual freemarker.cache.TemplateCache.findTemplateSource:(Ljava/lang/String;)Ljava/lang/Object;
invokestatic freemarker.cache.TemplateLookupResult.from:(Ljava/lang/String;Ljava/lang/Object;)Lfreemarker/cache/TemplateLookupResult;
areturn
16: StackMap locals:
StackMap stack:
aload 0
aload 5
iconst_0
iload 4
invokevirtual freemarker.cache.TemplateCache.concatPath:(Ljava/util/List;II)Ljava/lang/String;
astore 6
start local 6 17: aload 0
aload 5
iload 4
iconst_1
iadd
aload 5
invokeinterface java.util.List.size:()I
invokevirtual freemarker.cache.TemplateCache.concatPath:(Ljava/util/List;II)Ljava/lang/String;
astore 7
start local 7 18: aload 7
ldc "/"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 20
19: aload 7
iconst_0
aload 7
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 7
20: StackMap locals: java.lang.String java.lang.String
StackMap stack:
new java.lang.StringBuilder
dup
aload 1
invokevirtual java.lang.String.length:()I
invokespecial java.lang.StringBuilder.<init>:(I)V
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
astore 8
start local 8 21: aload 6
invokevirtual java.lang.String.length:()I
istore 9
start local 9 22: StackMap locals: java.lang.StringBuilder int
StackMap stack:
aload 8
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 10
start local 10 23: aload 0
aload 10
invokevirtual freemarker.cache.TemplateCache.findTemplateSource:(Ljava/lang/String;)Ljava/lang/Object;
astore 11
start local 11 24: aload 11
ifnull 26
25: aload 10
aload 11
invokestatic freemarker.cache.TemplateLookupResult.from:(Ljava/lang/String;Ljava/lang/Object;)Lfreemarker/cache/TemplateLookupResult;
areturn
26: StackMap locals: java.lang.String java.lang.Object
StackMap stack:
iload 9
ifne 28
27: invokestatic freemarker.cache.TemplateLookupResult.createNegativeResult:()Lfreemarker/cache/TemplateLookupResult;
areturn
28: StackMap locals:
StackMap stack:
aload 6
bipush 47
iload 9
iconst_2
isub
invokevirtual java.lang.String.lastIndexOf:(II)I
iconst_1
iadd
istore 9
29: aload 8
iload 9
invokevirtual java.lang.StringBuilder.setLength:(I)V
end local 11 end local 10 30: goto 22
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 31 0 this Lfreemarker/cache/TemplateCache;
0 31 1 path Ljava/lang/String;
1 31 2 asterisk I
4 31 3 tok Ljava/util/StringTokenizer;
5 31 4 lastAsterisk I
6 31 5 tokpath Ljava/util/List;
8 13 6 pathToken Ljava/lang/String;
17 31 6 basePath Ljava/lang/String;
18 31 7 resourcePath Ljava/lang/String;
21 31 8 buf Ljava/lang/StringBuilder;
22 31 9 l I
23 30 10 fullPath Ljava/lang/String;
24 30 11 templateSource Ljava/lang/Object;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
path
private java.lang.Object findTemplateSource(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield freemarker.cache.TemplateCache.templateLoader:Lfreemarker/cache/TemplateLoader;
aload 1
invokeinterface freemarker.cache.TemplateLoader.findTemplateSource:(Ljava/lang/String;)Ljava/lang/Object;
astore 2
start local 2 1: getstatic freemarker.cache.TemplateCache.LOG:Lfreemarker/log/Logger;
invokevirtual freemarker.log.Logger.isDebugEnabled:()Z
ifeq 7
2: getstatic freemarker.cache.TemplateCache.LOG:Lfreemarker/log/Logger;
new java.lang.StringBuilder
dup
ldc "TemplateLoader.findTemplateSource("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokestatic freemarker.template.utility.StringUtil.jQuote:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "): "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
3: aload 2
ifnonnull 4
ldc "Not found"
goto 5
StackMap locals: freemarker.cache.TemplateCache java.lang.String java.lang.Object
StackMap stack: freemarker.log.Logger java.lang.StringBuilder
4: ldc "Found"
StackMap locals: freemarker.cache.TemplateCache java.lang.String java.lang.Object
StackMap stack: freemarker.log.Logger java.lang.StringBuilder java.lang.String
5: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
6: invokevirtual freemarker.log.Logger.debug:(Ljava/lang/String;)V
7: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual freemarker.cache.TemplateCache.modifyForConfIcI:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lfreemarker/cache/TemplateCache;
0 8 1 path Ljava/lang/String;
1 8 2 result Ljava/lang/Object;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
path
private java.lang.Object modifyForConfIcI(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 1
aconst_null
areturn
1: StackMap locals:
StackMap stack:
aload 0
getfield freemarker.cache.TemplateCache.config: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_21:I
if_icmpge 3
2: aload 1
areturn
3: StackMap locals:
StackMap stack:
aload 1
instanceof freemarker.cache.URLTemplateSource
ifeq 8
4: aload 1
checkcast freemarker.cache.URLTemplateSource
astore 2
start local 2 5: aload 2
invokevirtual freemarker.cache.URLTemplateSource.getUseCaches:()Ljava/lang/Boolean;
ifnonnull 10
6: aload 2
iconst_0
invokevirtual freemarker.cache.URLTemplateSource.setUseCaches:(Z)V
end local 2 7: goto 10
StackMap locals:
StackMap stack:
8: aload 1
instanceof freemarker.cache.MultiTemplateLoader$MultiSource
ifeq 10
9: aload 0
aload 1
checkcast freemarker.cache.MultiTemplateLoader$MultiSource
invokevirtual freemarker.cache.MultiTemplateLoader$MultiSource.getWrappedSource:()Ljava/lang/Object;
invokevirtual freemarker.cache.TemplateCache.modifyForConfIcI:(Ljava/lang/Object;)Ljava/lang/Object;
pop
10: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lfreemarker/cache/TemplateCache;
0 11 1 templateSource Ljava/lang/Object;
5 7 2 urlTemplateSource Lfreemarker/cache/URLTemplateSource;
MethodParameters:
Name Flags
templateSource
private java.lang.String concatPath(java.util.List, int, int);
descriptor: (Ljava/util/List;II)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new java.lang.StringBuilder
dup
iload 3
iload 2
isub
bipush 16
imul
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 4
start local 4 1: iload 2
istore 5
start local 5 2: goto 5
3: StackMap locals: java.lang.StringBuilder int
StackMap stack:
aload 4
aload 1
iload 5
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
bipush 47
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
4: iinc 5 1
StackMap locals:
StackMap stack:
5: iload 5
iload 3
if_icmplt 3
end local 5 6: aload 4
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
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/cache/TemplateCache;
0 7 1 path Ljava/util/List;
0 7 2 from I
0 7 3 to I
1 7 4 buf Ljava/lang/StringBuilder;
2 6 5 i I
MethodParameters:
Name Flags
path
from
to
}
SourceFile: "TemplateCache.java"
NestMembers:
freemarker.cache.TemplateCache$CachedTemplate freemarker.cache.TemplateCache$MaybeMissingTemplate freemarker.cache.TemplateCache$TemplateCacheTemplateLookupContext freemarker.cache.TemplateCache$TemplateKey
InnerClasses:
final MultiSource = freemarker.cache.MultiTemplateLoader$MultiSource of freemarker.cache.MultiTemplateLoader
private final CachedTemplate = freemarker.cache.TemplateCache$CachedTemplate of freemarker.cache.TemplateCache
public final MaybeMissingTemplate = freemarker.cache.TemplateCache$MaybeMissingTemplate of freemarker.cache.TemplateCache
private TemplateCacheTemplateLookupContext = freemarker.cache.TemplateCache$TemplateCacheTemplateLookupContext of freemarker.cache.TemplateCache
private final TemplateKey = freemarker.cache.TemplateCache$TemplateKey of freemarker.cache.TemplateCache
public WrongEncodingException = freemarker.template.Template$WrongEncodingException of freemarker.template.Template