public class org.stringtemplate.v4.STGroupFile extends org.stringtemplate.v4.STGroup
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.stringtemplate.v4.STGroupFile
super_class: org.stringtemplate.v4.STGroup
{
public java.lang.String fileName;
descriptor: Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
public java.net.URL url;
descriptor: Ljava/net/URL;
flags: (0x0001) ACC_PUBLIC
protected boolean alreadyLoaded;
descriptor: Z
flags: (0x0004) ACC_PROTECTED
public void <init>(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
bipush 60
bipush 62
invokespecial org.stringtemplate.v4.STGroupFile.<init>:(Ljava/lang/String;CC)V
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/stringtemplate/v4/STGroupFile;
0 1 1 fileName Ljava/lang/String;
MethodParameters:
Name Flags
fileName
public void <init>(java.lang.String, char, char);
descriptor: (Ljava/lang/String;CC)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
iload 2
iload 3
invokespecial org.stringtemplate.v4.STGroup.<init>:(CC)V
1: aload 0
iconst_0
putfield org.stringtemplate.v4.STGroupFile.alreadyLoaded:Z
2: aload 1
getstatic org.stringtemplate.v4.STGroupFile.GROUP_FILE_EXTENSION:Ljava/lang/String;
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifne 4
3: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Group file names must end in .stg: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: org.stringtemplate.v4.STGroupFile java.lang.String int int
StackMap stack:
new java.io.File
dup
aload 1
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 4
start local 4 5: aload 4
invokevirtual java.io.File.exists:()Z
ifeq 12
6: aload 0
aload 4
invokevirtual java.io.File.toURI:()Ljava/net/URI;
invokevirtual java.net.URI.toURL:()Ljava/net/URL;
putfield org.stringtemplate.v4.STGroupFile.url:Ljava/net/URL;
7: goto 10
8: StackMap locals: org.stringtemplate.v4.STGroupFile java.lang.String int int java.io.File
StackMap stack: java.net.MalformedURLException
astore 5
start local 5 9: new org.stringtemplate.v4.compiler.STException
dup
new java.lang.StringBuilder
dup
ldc "can't load group file "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 5
invokespecial org.stringtemplate.v4.compiler.STException.<init>:(Ljava/lang/String;Ljava/lang/Exception;)V
athrow
end local 5 10: StackMap locals:
StackMap stack:
getstatic org.stringtemplate.v4.STGroupFile.verbose:Z
ifeq 18
getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "STGroupFile("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ") == file "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
11: goto 18
12: StackMap locals:
StackMap stack:
aload 0
aload 0
aload 1
invokevirtual org.stringtemplate.v4.STGroupFile.getURL:(Ljava/lang/String;)Ljava/net/URL;
putfield org.stringtemplate.v4.STGroupFile.url:Ljava/net/URL;
13: aload 0
getfield org.stringtemplate.v4.STGroupFile.url:Ljava/net/URL;
ifnonnull 17
14: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "No such group file: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
15: aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
16: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
17: StackMap locals:
StackMap stack:
getstatic org.stringtemplate.v4.STGroupFile.verbose:Z
ifeq 18
getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "STGroupFile("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ") == url "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.stringtemplate.v4.STGroupFile.url:Ljava/net/URL;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
18: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield org.stringtemplate.v4.STGroupFile.fileName:Ljava/lang/String;
19: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lorg/stringtemplate/v4/STGroupFile;
0 20 1 fileName Ljava/lang/String;
0 20 2 delimiterStartChar C
0 20 3 delimiterStopChar C
5 20 4 f Ljava/io/File;
9 10 5 e Ljava/net/MalformedURLException;
Exception table:
from to target type
6 7 8 Class java.net.MalformedURLException
MethodParameters:
Name Flags
fileName
delimiterStartChar
delimiterStopChar
public void <init>(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
bipush 60
bipush 62
invokespecial org.stringtemplate.v4.STGroupFile.<init>:(Ljava/lang/String;Ljava/lang/String;CC)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/stringtemplate/v4/STGroupFile;
0 2 1 fullyQualifiedFileName Ljava/lang/String;
0 2 2 encoding Ljava/lang/String;
MethodParameters:
Name Flags
fullyQualifiedFileName
encoding
public void <init>(java.lang.String, java.lang.String, char, char);
descriptor: (Ljava/lang/String;Ljava/lang/String;CC)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, 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
iload 3
iload 4
invokespecial org.stringtemplate.v4.STGroupFile.<init>:(Ljava/lang/String;CC)V
1: aload 0
aload 2
putfield org.stringtemplate.v4.STGroupFile.encoding:Ljava/lang/String;
2: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/stringtemplate/v4/STGroupFile;
0 3 1 fullyQualifiedFileName Ljava/lang/String;
0 3 2 encoding Ljava/lang/String;
0 3 3 delimiterStartChar C
0 3 4 delimiterStopChar C
MethodParameters:
Name Flags
fullyQualifiedFileName
encoding
delimiterStartChar
delimiterStopChar
public void <init>(java.net.URL, java.lang.String, char, char);
descriptor: (Ljava/net/URL;Ljava/lang/String;CC)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
iload 3
iload 4
invokespecial org.stringtemplate.v4.STGroup.<init>:(CC)V
1: aload 0
iconst_0
putfield org.stringtemplate.v4.STGroupFile.alreadyLoaded:Z
2: aload 1
ifnonnull 4
3: new java.lang.IllegalArgumentException
dup
ldc "URL to group file cannot be null"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: org.stringtemplate.v4.STGroupFile java.net.URL java.lang.String int int
StackMap stack:
aload 0
aload 1
putfield org.stringtemplate.v4.STGroupFile.url:Ljava/net/URL;
5: aload 0
aload 2
putfield org.stringtemplate.v4.STGroupFile.encoding:Ljava/lang/String;
6: aload 0
aconst_null
putfield org.stringtemplate.v4.STGroupFile.fileName:Ljava/lang/String;
7: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/stringtemplate/v4/STGroupFile;
0 8 1 url Ljava/net/URL;
0 8 2 encoding Ljava/lang/String;
0 8 3 delimiterStartChar C
0 8 4 delimiterStopChar C
MethodParameters:
Name Flags
url
encoding
delimiterStartChar
delimiterStopChar
public void <init>(java.net.URL);
descriptor: (Ljava/net/URL;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
ldc "UTF-8"
bipush 60
bipush 62
invokespecial org.stringtemplate.v4.STGroupFile.<init>:(Ljava/net/URL;Ljava/lang/String;CC)V
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/stringtemplate/v4/STGroupFile;
0 1 1 url Ljava/net/URL;
MethodParameters:
Name Flags
url
public boolean isDictionary(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.stringtemplate.v4.STGroupFile.alreadyLoaded:Z
ifne 1
aload 0
invokevirtual org.stringtemplate.v4.STGroupFile.load:()V
1: StackMap locals:
StackMap stack:
aload 0
aload 1
invokespecial org.stringtemplate.v4.STGroup.isDictionary:(Ljava/lang/String;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/stringtemplate/v4/STGroupFile;
0 2 1 name Ljava/lang/String;
MethodParameters:
Name Flags
name
public boolean isDefined(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.stringtemplate.v4.STGroupFile.alreadyLoaded:Z
ifne 1
aload 0
invokevirtual org.stringtemplate.v4.STGroupFile.load:()V
1: StackMap locals:
StackMap stack:
aload 0
aload 1
invokespecial org.stringtemplate.v4.STGroup.isDefined:(Ljava/lang/String;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/stringtemplate/v4/STGroupFile;
0 2 1 name Ljava/lang/String;
MethodParameters:
Name Flags
name
public synchronized void unload();
descriptor: ()V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.stringtemplate.v4.STGroup.unload:()V
1: aload 0
iconst_0
putfield org.stringtemplate.v4.STGroupFile.alreadyLoaded:Z
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/stringtemplate/v4/STGroupFile;
protected synchronized org.stringtemplate.v4.compiler.CompiledST load(java.lang.String);
descriptor: (Ljava/lang/String;)Lorg/stringtemplate/v4/compiler/CompiledST;
flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.stringtemplate.v4.STGroupFile.alreadyLoaded:Z
ifne 1
aload 0
invokevirtual org.stringtemplate.v4.STGroupFile.load:()V
1: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.stringtemplate.v4.STGroupFile.rawGetTemplate:(Ljava/lang/String;)Lorg/stringtemplate/v4/compiler/CompiledST;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/stringtemplate/v4/STGroupFile;
0 2 1 name Ljava/lang/String;
MethodParameters:
Name Flags
name
public synchronized void load();
descriptor: ()V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield org.stringtemplate.v4.STGroupFile.alreadyLoaded:Z
ifeq 1
return
1: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield org.stringtemplate.v4.STGroupFile.alreadyLoaded:Z
2: getstatic org.stringtemplate.v4.STGroupFile.verbose:Z
ifeq 3
getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "loading group file "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.stringtemplate.v4.STGroupFile.url:Ljava/net/URL;
invokevirtual java.net.URL.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
3: StackMap locals:
StackMap stack:
aload 0
ldc "/"
aload 0
getfield org.stringtemplate.v4.STGroupFile.url:Ljava/net/URL;
invokevirtual java.net.URL.toString:()Ljava/lang/String;
invokevirtual org.stringtemplate.v4.STGroupFile.loadGroupFile:(Ljava/lang/String;Ljava/lang/String;)V
4: getstatic org.stringtemplate.v4.STGroupFile.verbose:Z
ifeq 5
getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "found "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.stringtemplate.v4.STGroupFile.templates:Ljava/util/Map;
invokeinterface java.util.Map.size:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " templates in "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.stringtemplate.v4.STGroupFile.url:Ljava/net/URL;
invokevirtual java.net.URL.toString:()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;
aload 0
getfield org.stringtemplate.v4.STGroupFile.templates:Ljava/util/Map;
invokeinterface java.util.Map.keySet:()Ljava/util/Set;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
5: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/stringtemplate/v4/STGroupFile;
public java.lang.String show();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.stringtemplate.v4.STGroupFile.alreadyLoaded:Z
ifne 1
aload 0
invokevirtual org.stringtemplate.v4.STGroupFile.load:()V
1: StackMap locals:
StackMap stack:
aload 0
invokespecial org.stringtemplate.v4.STGroup.show:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/stringtemplate/v4/STGroupFile;
public java.lang.String getName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.stringtemplate.v4.STGroupFile.getFileName:()Ljava/lang/String;
invokestatic org.stringtemplate.v4.misc.Misc.getFileNameNoSuffix:(Ljava/lang/String;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/stringtemplate/v4/STGroupFile;
public java.lang.String getFileName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.stringtemplate.v4.STGroupFile.fileName:Ljava/lang/String;
ifnull 2
1: aload 0
getfield org.stringtemplate.v4.STGroupFile.fileName:Ljava/lang/String;
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.stringtemplate.v4.STGroupFile.url:Ljava/net/URL;
invokevirtual java.net.URL.getFile:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/stringtemplate/v4/STGroupFile;
public java.net.URL getRootDirURL();
descriptor: ()Ljava/net/URL;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=1
start local 0 0: aload 0
getfield org.stringtemplate.v4.STGroupFile.url:Ljava/net/URL;
invokevirtual java.net.URL.toString:()Ljava/lang/String;
invokestatic org.stringtemplate.v4.misc.Misc.stripLastPathElement:(Ljava/lang/String;)Ljava/lang/String;
astore 1
start local 1 1: aload 1
ldc ".jar!"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 3
2: 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 "/."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 1
3: StackMap locals: java.lang.String
StackMap stack:
new java.net.URL
dup
aload 1
invokespecial java.net.URL.<init>:(Ljava/lang/String;)V
astore 2
start local 2 4: aload 2
5: areturn
end local 2 6: StackMap locals:
StackMap stack: java.net.MalformedURLException
astore 2
start local 2 7: aload 0
getfield org.stringtemplate.v4.STGroupFile.errMgr:Lorg/stringtemplate/v4/misc/ErrorManager;
aconst_null
aconst_null
getstatic org.stringtemplate.v4.misc.ErrorType.INVALID_TEMPLATE_NAME:Lorg/stringtemplate/v4/misc/ErrorType;
8: aload 2
aload 1
9: invokevirtual org.stringtemplate.v4.misc.ErrorManager.runTimeError:(Lorg/stringtemplate/v4/Interpreter;Lorg/stringtemplate/v4/InstanceScope;Lorg/stringtemplate/v4/misc/ErrorType;Ljava/lang/Throwable;Ljava/lang/Object;)V
end local 2 10: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/stringtemplate/v4/STGroupFile;
1 11 1 parent Ljava/lang/String;
4 6 2 parentURL Ljava/net/URL;
7 10 2 mue Ljava/net/MalformedURLException;
Exception table:
from to target type
3 5 6 Class java.net.MalformedURLException
}
SourceFile: "STGroupFile.java"