public class com.sun.tools.javac.file.FSInfo
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.sun.tools.javac.file.FSInfo
super_class: java.lang.Object
{
private java.nio.file.spi.FileSystemProvider jarFSProvider;
descriptor: Ljava/nio/file/spi/FileSystemProvider;
flags: (0x0002) ACC_PRIVATE
public static com.sun.tools.javac.file.FSInfo instance(com.sun.tools.javac.util.Context);
descriptor: (Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/file/FSInfo;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
ldc Lcom/sun/tools/javac/file/FSInfo;
invokevirtual com.sun.tools.javac.util.Context.get:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast com.sun.tools.javac.file.FSInfo
astore 1
start local 1 1: aload 1
ifnonnull 3
2: new com.sun.tools.javac.file.FSInfo
dup
invokespecial com.sun.tools.javac.file.FSInfo.<init>:()V
astore 1
3: StackMap locals: com.sun.tools.javac.file.FSInfo
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 context Lcom/sun/tools/javac/util/Context;
1 4 1 instance Lcom/sun/tools/javac/file/FSInfo;
MethodParameters:
Name Flags
context
protected void <init>();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/tools/javac/file/FSInfo;
protected void <init>(com.sun.tools.javac.util.Context);
descriptor: (Lcom/sun/tools/javac/util/Context;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 1
ldc Lcom/sun/tools/javac/file/FSInfo;
aload 0
invokevirtual com.sun.tools.javac.util.Context.put:(Ljava/lang/Class;Ljava/lang/Object;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/tools/javac/file/FSInfo;
0 3 1 context Lcom/sun/tools/javac/util/Context;
MethodParameters:
Name Flags
context
public java.nio.file.Path getCanonicalFile(java.nio.file.Path);
descriptor: (Ljava/nio/file/Path;)Ljava/nio/file/Path;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
iconst_0
anewarray java.nio.file.LinkOption
invokeinterface java.nio.file.Path.toRealPath:([Ljava/nio/file/LinkOption;)Ljava/nio/file/Path;
1: areturn
2: StackMap locals:
StackMap stack: java.io.IOException
pop
3: aload 1
invokeinterface java.nio.file.Path.toAbsolutePath:()Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.normalize:()Ljava/nio/file/Path;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/tools/javac/file/FSInfo;
0 4 1 file Ljava/nio/file/Path;
Exception table:
from to target type
0 1 2 Class java.io.IOException
MethodParameters:
Name Flags
file
public boolean exists(java.nio.file.Path);
descriptor: (Ljava/nio/file/Path;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
iconst_0
anewarray java.nio.file.LinkOption
invokestatic java.nio.file.Files.exists:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/file/FSInfo;
0 1 1 file Ljava/nio/file/Path;
MethodParameters:
Name Flags
file
public boolean isDirectory(java.nio.file.Path);
descriptor: (Ljava/nio/file/Path;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
iconst_0
anewarray java.nio.file.LinkOption
invokestatic java.nio.file.Files.isDirectory:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/file/FSInfo;
0 1 1 file Ljava/nio/file/Path;
MethodParameters:
Name Flags
file
public boolean isFile(java.nio.file.Path);
descriptor: (Ljava/nio/file/Path;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
iconst_0
anewarray java.nio.file.LinkOption
invokestatic java.nio.file.Files.isRegularFile:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/file/FSInfo;
0 1 1 file Ljava/nio/file/Path;
MethodParameters:
Name Flags
file
public java.util.List<java.nio.file.Path> getJarClassPath(java.nio.file.Path);
descriptor: (Ljava/nio/file/Path;)Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=13, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
aconst_null
astore 3
1: new java.util.jar.JarFile
dup
aload 1
invokeinterface java.nio.file.Path.toFile:()Ljava/io/File;
invokespecial java.util.jar.JarFile.<init>:(Ljava/io/File;)V
astore 4
start local 4 2: aload 4
invokevirtual java.util.jar.JarFile.getManifest:()Ljava/util/jar/Manifest;
astore 5
start local 5 3: aload 5
ifnonnull 7
4: invokestatic java.util.Collections.emptyList:()Ljava/util/List;
5: aload 4
ifnull 6
aload 4
invokevirtual java.util.jar.JarFile.close:()V
6: StackMap locals: com.sun.tools.javac.file.FSInfo java.nio.file.Path java.lang.Throwable java.lang.Throwable java.util.jar.JarFile java.util.jar.Manifest
StackMap stack: java.util.List
areturn
7: StackMap locals:
StackMap stack:
aload 5
invokevirtual java.util.jar.Manifest.getMainAttributes:()Ljava/util/jar/Attributes;
astore 6
start local 6 8: aload 6
ifnonnull 12
9: invokestatic java.util.Collections.emptyList:()Ljava/util/List;
10: aload 4
ifnull 11
aload 4
invokevirtual java.util.jar.JarFile.close:()V
11: StackMap locals: com.sun.tools.javac.file.FSInfo java.nio.file.Path java.lang.Throwable java.lang.Throwable java.util.jar.JarFile java.util.jar.Manifest java.util.jar.Attributes
StackMap stack: java.util.List
areturn
12: StackMap locals:
StackMap stack:
aload 6
getstatic java.util.jar.Attributes$Name.CLASS_PATH:Ljava/util/jar/Attributes$Name;
invokevirtual java.util.jar.Attributes.getValue:(Ljava/util/jar/Attributes$Name;)Ljava/lang/String;
astore 7
start local 7 13: aload 7
ifnonnull 17
14: invokestatic java.util.Collections.emptyList:()Ljava/util/List;
15: aload 4
ifnull 16
aload 4
invokevirtual java.util.jar.JarFile.close:()V
16: StackMap locals: com.sun.tools.javac.file.FSInfo java.nio.file.Path java.lang.Throwable java.lang.Throwable java.util.jar.JarFile java.util.jar.Manifest java.util.jar.Attributes java.lang.String
StackMap stack: java.util.List
areturn
17: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 8
start local 8 18: aload 1
invokeinterface java.nio.file.Path.toUri:()Ljava/net/URI;
invokevirtual java.net.URI.toURL:()Ljava/net/URL;
astore 9
start local 9 19: new java.util.StringTokenizer
dup
aload 7
invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;)V
astore 10
start local 10 20: goto 28
21: StackMap locals: java.util.List java.net.URL java.util.StringTokenizer
StackMap stack:
aload 10
invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
astore 11
start local 11 22: aload 9
aload 11
invokestatic com.sun.tools.javac.file.FSInfo.tryResolveFile:(Ljava/net/URL;Ljava/lang/String;)Ljava/net/URL;
astore 12
start local 12 23: aload 12
ifnull 28
24: aload 8
aload 12
invokevirtual java.net.URL.toURI:()Ljava/net/URI;
invokestatic java.nio.file.Path.of:(Ljava/net/URI;)Ljava/nio/file/Path;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 12 25: goto 28
StackMap locals: com.sun.tools.javac.file.FSInfo java.nio.file.Path java.lang.Throwable java.lang.Throwable java.util.jar.JarFile java.util.jar.Manifest java.util.jar.Attributes java.lang.String java.util.List java.net.URL java.util.StringTokenizer java.lang.String
StackMap stack: java.net.URISyntaxException
26: astore 12
start local 12 27: new java.io.IOException
dup
aload 12
invokespecial java.io.IOException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 12 end local 11 28: StackMap locals:
StackMap stack:
aload 10
invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
ifne 21
end local 10 29: aload 8
30: aload 4
ifnull 31
aload 4
invokevirtual java.util.jar.JarFile.close:()V
31: StackMap locals: com.sun.tools.javac.file.FSInfo java.nio.file.Path java.lang.Throwable java.lang.Throwable java.util.jar.JarFile java.util.jar.Manifest java.util.jar.Attributes java.lang.String java.util.List java.net.URL
StackMap stack: java.util.List
areturn
end local 9 end local 8 end local 7 end local 6 end local 5 StackMap locals: com.sun.tools.javac.file.FSInfo java.nio.file.Path java.lang.Throwable java.lang.Throwable java.util.jar.JarFile
StackMap stack: java.lang.Throwable
32: astore 2
33: aload 4
ifnull 34
aload 4
invokevirtual java.util.jar.JarFile.close:()V
end local 4 StackMap locals:
StackMap stack:
34: aload 2
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
35: astore 3
aload 2
ifnonnull 36
aload 3
astore 2
goto 37
StackMap locals:
StackMap stack:
36: aload 2
aload 3
if_acmpeq 37
aload 2
aload 3
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
37: aload 2
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 38 0 this Lcom/sun/tools/javac/file/FSInfo;
0 38 1 file Ljava/nio/file/Path;
2 34 4 jarFile Ljava/util/jar/JarFile;
3 32 5 man Ljava/util/jar/Manifest;
8 32 6 attr Ljava/util/jar/Attributes;
13 32 7 path Ljava/lang/String;
18 32 8 list Ljava/util/List<Ljava/nio/file/Path;>;
19 32 9 base Ljava/net/URL;
20 29 10 st Ljava/util/StringTokenizer;
22 28 11 elt Ljava/lang/String;
23 25 12 url Ljava/net/URL;
27 28 12 ex Ljava/net/URISyntaxException;
Exception table:
from to target type
22 25 26 Class java.net.URISyntaxException
2 5 32 any
7 10 32 any
12 15 32 any
17 30 32 any
1 6 35 any
7 11 35 any
12 16 35 any
17 31 35 any
32 35 35 any
Exceptions:
throws java.io.IOException
Signature: (Ljava/nio/file/Path;)Ljava/util/List<Ljava/nio/file/Path;>;
MethodParameters:
Name Flags
file
static java.net.URL tryResolveFile(java.net.URL, java.lang.String);
descriptor: (Ljava/net/URL;Ljava/lang/String;)Ljava/net/URL;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: new java.net.URL
dup
aload 0
aload 1
invokespecial java.net.URL.<init>:(Ljava/net/URL;Ljava/lang/String;)V
astore 2
start local 2 1: aload 1
bipush 58
invokevirtual java.lang.String.indexOf:(I)I
iflt 3
ldc "file"
aload 2
invokevirtual java.net.URL.getProtocol:()Ljava/lang/String;
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 3
2: aconst_null
areturn
3: StackMap locals: java.net.URL
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 base Ljava/net/URL;
0 4 1 input Ljava/lang/String;
1 4 2 retVal Ljava/net/URL;
Exceptions:
throws java.net.MalformedURLException
MethodParameters:
Name Flags
base
input
public synchronized java.nio.file.spi.FileSystemProvider getJarFSProvider();
descriptor: ()Ljava/nio/file/spi/FileSystemProvider;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
getfield com.sun.tools.javac.file.FSInfo.jarFSProvider:Ljava/nio/file/spi/FileSystemProvider;
ifnull 2
1: aload 0
getfield com.sun.tools.javac.file.FSInfo.jarFSProvider:Ljava/nio/file/spi/FileSystemProvider;
areturn
2: StackMap locals:
StackMap stack:
invokestatic java.nio.file.spi.FileSystemProvider.installedProviders:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 2
goto 6
StackMap locals: com.sun.tools.javac.file.FSInfo top java.util.Iterator
StackMap stack:
3: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.nio.file.spi.FileSystemProvider
astore 1
start local 1 4: aload 1
invokevirtual java.nio.file.spi.FileSystemProvider.getScheme:()Ljava/lang/String;
ldc "jar"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 6
5: aload 0
aload 1
dup_x1
putfield com.sun.tools.javac.file.FSInfo.jarFSProvider:Ljava/nio/file/spi/FileSystemProvider;
areturn
end local 1 6: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
7: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/tools/javac/file/FSInfo;
4 6 1 provider Ljava/nio/file/spi/FileSystemProvider;
}
SourceFile: "FSInfo.java"
InnerClasses:
public Name = java.util.jar.Attributes$Name of java.util.jar.Attributes