class freemarker.cache.FileTemplateLoader$1 implements java.security.PrivilegedExceptionAction<java.lang.Object[]>
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: freemarker.cache.FileTemplateLoader$1
super_class: java.lang.Object
{
final freemarker.cache.FileTemplateLoader this$0;
descriptor: Lfreemarker/cache/FileTemplateLoader;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private final java.io.File val$baseDir;
descriptor: Ljava/io/File;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final boolean val$disableCanonicalPathCheck;
descriptor: Z
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
void <init>(freemarker.cache.FileTemplateLoader, java.io.File, boolean);
descriptor: (Lfreemarker/cache/FileTemplateLoader;Ljava/io/File;Z)V
flags: (0x0000)
Code:
stack=2, locals=4, args_size=4
start local 0 0: aload 0
aload 1
putfield freemarker.cache.FileTemplateLoader$1.this$0:Lfreemarker/cache/FileTemplateLoader;
aload 0
aload 2
putfield freemarker.cache.FileTemplateLoader$1.val$baseDir:Ljava/io/File;
aload 0
iload 3
putfield freemarker.cache.FileTemplateLoader$1.val$disableCanonicalPathCheck:Z
aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lfreemarker/cache/FileTemplateLoader$1;
MethodParameters:
Name Flags
this$0 final
val$baseDir final
val$disableCanonicalPathCheck final
public java.lang.Object[] run();
descriptor: ()[Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
getfield freemarker.cache.FileTemplateLoader$1.val$baseDir:Ljava/io/File;
invokevirtual java.io.File.exists:()Z
ifne 2
1: new java.io.FileNotFoundException
dup
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 0
getfield freemarker.cache.FileTemplateLoader$1.val$baseDir:Ljava/io/File;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " does not exist."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.FileNotFoundException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield freemarker.cache.FileTemplateLoader$1.val$baseDir:Ljava/io/File;
invokevirtual java.io.File.isDirectory:()Z
ifne 4
3: new java.io.IOException
dup
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 0
getfield freemarker.cache.FileTemplateLoader$1.val$baseDir:Ljava/io/File;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " is not a directory."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
iconst_2
anewarray java.lang.Object
astore 1
start local 1 5: aload 0
getfield freemarker.cache.FileTemplateLoader$1.val$disableCanonicalPathCheck:Z
ifeq 9
6: aload 1
iconst_0
aload 0
getfield freemarker.cache.FileTemplateLoader$1.val$baseDir:Ljava/io/File;
aastore
7: aload 1
iconst_1
aconst_null
aastore
8: goto 14
9: StackMap locals: java.lang.Object[]
StackMap stack:
aload 1
iconst_0
aload 0
getfield freemarker.cache.FileTemplateLoader$1.val$baseDir:Ljava/io/File;
invokevirtual java.io.File.getCanonicalFile:()Ljava/io/File;
aastore
10: aload 1
iconst_0
aaload
checkcast java.io.File
invokevirtual java.io.File.getPath:()Ljava/lang/String;
astore 2
start local 2 11: aload 2
getstatic java.io.File.separator:Ljava/lang/String;
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifne 13
12: new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic java.io.File.separatorChar:C
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
13: StackMap locals: java.lang.String
StackMap stack:
aload 1
iconst_1
aload 2
aastore
end local 2 14: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lfreemarker/cache/FileTemplateLoader$1;
5 15 1 retval [Ljava/lang/Object;
11 14 2 basePath Ljava/lang/String;
Exceptions:
throws java.io.IOException
public java.lang.Object run();
descriptor: ()Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual freemarker.cache.FileTemplateLoader$1.run:()[Ljava/lang/Object;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.lang.Exception
}
Signature: Ljava/lang/Object;Ljava/security/PrivilegedExceptionAction<[Ljava/lang/Object;>;
SourceFile: "FileTemplateLoader.java"
EnclosingMethod: freemarker.cache.FileTemplateLoader.<init>:(Ljava/io/File;Z)V
NestHost: freemarker.cache.FileTemplateLoader
InnerClasses:
freemarker.cache.FileTemplateLoader$1