class freemarker.cache.FileTemplateLoader$2 implements java.security.PrivilegedExceptionAction<java.io.File>
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: freemarker.cache.FileTemplateLoader$2
super_class: java.lang.Object
{
final freemarker.cache.FileTemplateLoader this$0;
descriptor: Lfreemarker/cache/FileTemplateLoader;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private final java.lang.String val$name;
descriptor: Ljava/lang/String;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
void <init>(freemarker.cache.FileTemplateLoader, java.lang.String);
descriptor: (Lfreemarker/cache/FileTemplateLoader;Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 0: aload 0
aload 1
putfield freemarker.cache.FileTemplateLoader$2.this$0:Lfreemarker/cache/FileTemplateLoader;
aload 0
aload 2
putfield freemarker.cache.FileTemplateLoader$2.val$name:Ljava/lang/String;
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$2;
MethodParameters:
Name Flags
this$0 final
val$name final
public java.io.File run();
descriptor: ()Ljava/io/File;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=1
start local 0 0: new java.io.File
dup
aload 0
getfield freemarker.cache.FileTemplateLoader$2.this$0:Lfreemarker/cache/FileTemplateLoader;
getfield freemarker.cache.FileTemplateLoader.baseDir:Ljava/io/File;
getstatic freemarker.cache.FileTemplateLoader.SEP_IS_SLASH:Z
ifeq 1
aload 0
getfield freemarker.cache.FileTemplateLoader$2.val$name:Ljava/lang/String;
goto 2
1: StackMap locals: freemarker.cache.FileTemplateLoader$2
StackMap stack: new 0 new 0 java.io.File
aload 0
getfield freemarker.cache.FileTemplateLoader$2.val$name:Ljava/lang/String;
bipush 47
getstatic java.io.File.separatorChar:C
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
2: StackMap locals: freemarker.cache.FileTemplateLoader$2
StackMap stack: new 0 new 0 java.io.File java.lang.String
invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
astore 1
start local 1 3: aload 1
invokevirtual java.io.File.isFile:()Z
ifne 5
4: aconst_null
areturn
5: StackMap locals: java.io.File
StackMap stack:
aload 0
getfield freemarker.cache.FileTemplateLoader$2.this$0:Lfreemarker/cache/FileTemplateLoader;
getfield freemarker.cache.FileTemplateLoader.canonicalBasePath:Ljava/lang/String;
ifnull 12
6: aload 1
invokevirtual java.io.File.getCanonicalPath:()Ljava/lang/String;
astore 2
start local 2 7: aload 2
aload 0
getfield freemarker.cache.FileTemplateLoader$2.this$0:Lfreemarker/cache/FileTemplateLoader;
getfield freemarker.cache.FileTemplateLoader.canonicalBasePath:Ljava/lang/String;
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 12
8: new java.lang.SecurityException
dup
new java.lang.StringBuilder
dup
aload 1
invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
9: ldc " resolves to "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " which "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
10: ldc " doesn't start with "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield freemarker.cache.FileTemplateLoader$2.this$0:Lfreemarker/cache/FileTemplateLoader;
getfield freemarker.cache.FileTemplateLoader.canonicalBasePath:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
11: invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
athrow
end local 2 12: StackMap locals:
StackMap stack:
aload 0
getfield freemarker.cache.FileTemplateLoader$2.this$0:Lfreemarker/cache/FileTemplateLoader;
getfield freemarker.cache.FileTemplateLoader.emulateCaseSensitiveFileSystem:Z
ifeq 14
aload 0
getfield freemarker.cache.FileTemplateLoader$2.this$0:Lfreemarker/cache/FileTemplateLoader;
aload 1
invokevirtual freemarker.cache.FileTemplateLoader.isNameCaseCorrect:(Ljava/io/File;)Z
ifne 14
13: aconst_null
areturn
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$2;
3 15 1 source Ljava/io/File;
7 12 2 normalized 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$2.run:()Ljava/io/File;
areturn
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.lang.Exception
}
Signature: Ljava/lang/Object;Ljava/security/PrivilegedExceptionAction<Ljava/io/File;>;
SourceFile: "FileTemplateLoader.java"
EnclosingMethod: freemarker.cache.FileTemplateLoader.findTemplateSource:(Ljava/lang/String;)Ljava/lang/Object;
NestHost: freemarker.cache.FileTemplateLoader
InnerClasses:
freemarker.cache.FileTemplateLoader$2