final class jdk.nashorn.tools.jjs.JavacPackagesHelper extends jdk.nashorn.tools.jjs.PackagesHelper
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: jdk.nashorn.tools.jjs.JavacPackagesHelper
super_class: jdk.nashorn.tools.jjs.PackagesHelper
{
private static final javax.tools.JavaCompiler compiler;
descriptor: Ljavax/tools/JavaCompiler;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final boolean modulePathSet;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final javax.tools.StandardJavaFileManager fm;
descriptor: Ljavax/tools/StandardJavaFileManager;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.Set<javax.tools.JavaFileObject$Kind> fileKinds;
descriptor: Ljava/util/Set;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Set<Ljavax/tools/JavaFileObject$Kind;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
ifnonnull 1
invokestatic javax.tools.ToolProvider.getSystemJavaCompiler:()Ljavax/tools/JavaCompiler;
goto 2
StackMap locals:
StackMap stack:
1: aconst_null
StackMap locals:
StackMap stack: javax.tools.JavaCompiler
2: putstatic jdk.nashorn.tools.jjs.JavacPackagesHelper.compiler:Ljavax/tools/JavaCompiler;
3: return
LocalVariableTable:
Start End Slot Name Signature
static boolean isAvailable();
descriptor: ()Z
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic jdk.nashorn.tools.jjs.JavacPackagesHelper.compiler:Ljavax/tools/JavaCompiler;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
LocalVariableTable:
Start End Slot Name Signature
void <init>(jdk.nashorn.internal.runtime.Context);
descriptor: (Ljdk/nashorn/internal/runtime/Context;)V
flags: (0x0000)
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial jdk.nashorn.tools.jjs.PackagesHelper.<init>:(Ljdk/nashorn/internal/runtime/Context;)V
1: aload 1
invokevirtual jdk.nashorn.internal.runtime.Context.getEnv:()Ljdk/nashorn/internal/runtime/ScriptEnvironment;
getfield jdk.nashorn.internal.runtime.ScriptEnvironment._module_path:Ljava/lang/String;
astore 2
start local 2 2: aload 0
aload 2
ifnull 3
aload 2
invokevirtual java.lang.String.isEmpty:()Z
ifne 3
iconst_1
goto 4
StackMap locals: jdk.nashorn.tools.jjs.JavacPackagesHelper jdk.nashorn.internal.runtime.Context java.lang.String
StackMap stack: jdk.nashorn.tools.jjs.JavacPackagesHelper
3: iconst_0
StackMap locals: jdk.nashorn.tools.jjs.JavacPackagesHelper jdk.nashorn.internal.runtime.Context java.lang.String
StackMap stack: jdk.nashorn.tools.jjs.JavacPackagesHelper int
4: putfield jdk.nashorn.tools.jjs.JavacPackagesHelper.modulePathSet:Z
5: invokestatic jdk.nashorn.tools.jjs.JavacPackagesHelper.isAvailable:()Z
ifeq 16
6: aload 1
invokevirtual jdk.nashorn.internal.runtime.Context.getEnv:()Ljdk/nashorn/internal/runtime/ScriptEnvironment;
getfield jdk.nashorn.internal.runtime.ScriptEnvironment._classpath:Ljava/lang/String;
astore 3
start local 3 7: aload 0
getstatic jdk.nashorn.tools.jjs.JavacPackagesHelper.compiler:Ljavax/tools/JavaCompiler;
aconst_null
aconst_null
aconst_null
invokeinterface javax.tools.JavaCompiler.getStandardFileManager:(Ljavax/tools/DiagnosticListener;Ljava/util/Locale;Ljava/nio/charset/Charset;)Ljavax/tools/StandardJavaFileManager;
putfield jdk.nashorn.tools.jjs.JavacPackagesHelper.fm:Ljavax/tools/StandardJavaFileManager;
8: aload 0
getstatic javax.tools.JavaFileObject$Kind.CLASS:Ljavax/tools/JavaFileObject$Kind;
invokestatic java.util.EnumSet.of:(Ljava/lang/Enum;)Ljava/util/EnumSet;
putfield jdk.nashorn.tools.jjs.JavacPackagesHelper.fileKinds:Ljava/util/Set;
9: aload 0
getfield jdk.nashorn.tools.jjs.JavacPackagesHelper.modulePathSet:Z
ifeq 11
10: aload 0
getfield jdk.nashorn.tools.jjs.JavacPackagesHelper.fm:Ljavax/tools/StandardJavaFileManager;
getstatic javax.tools.StandardLocation.MODULE_PATH:Ljavax/tools/StandardLocation;
aload 2
invokestatic jdk.nashorn.tools.jjs.JavacPackagesHelper.getFiles:(Ljava/lang/String;)Ljava/util/List;
invokeinterface javax.tools.StandardJavaFileManager.setLocation:(Ljavax/tools/JavaFileManager$Location;Ljava/lang/Iterable;)V
11: StackMap locals: java.lang.String
StackMap stack:
aload 3
ifnull 14
aload 3
invokevirtual java.lang.String.isEmpty:()Z
ifne 14
12: aload 0
getfield jdk.nashorn.tools.jjs.JavacPackagesHelper.fm:Ljavax/tools/StandardJavaFileManager;
getstatic javax.tools.StandardLocation.CLASS_PATH:Ljavax/tools/StandardLocation;
aload 3
invokestatic jdk.nashorn.tools.jjs.JavacPackagesHelper.getFiles:(Ljava/lang/String;)Ljava/util/List;
invokeinterface javax.tools.StandardJavaFileManager.setLocation:(Ljavax/tools/JavaFileManager$Location;Ljava/lang/Iterable;)V
13: goto 17
14: StackMap locals:
StackMap stack:
aload 0
getfield jdk.nashorn.tools.jjs.JavacPackagesHelper.fm:Ljavax/tools/StandardJavaFileManager;
getstatic javax.tools.StandardLocation.CLASS_PATH:Ljavax/tools/StandardLocation;
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
invokeinterface javax.tools.StandardJavaFileManager.setLocation:(Ljavax/tools/JavaFileManager$Location;Ljava/lang/Iterable;)V
end local 3 15: goto 17
16: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
ldc "JavacPackagesHelper is not available!"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
17: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Ljdk/nashorn/tools/jjs/JavacPackagesHelper;
0 18 1 context Ljdk/nashorn/internal/runtime/Context;
2 18 2 modulePath Ljava/lang/String;
7 15 3 classPath Ljava/lang/String;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
context final
void close();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.nashorn.tools.jjs.JavacPackagesHelper.fm:Ljavax/tools/StandardJavaFileManager;
ifnull 2
1: aload 0
getfield jdk.nashorn.tools.jjs.JavacPackagesHelper.fm:Ljavax/tools/StandardJavaFileManager;
invokeinterface javax.tools.StandardJavaFileManager.close:()V
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/nashorn/tools/jjs/JavacPackagesHelper;
Exceptions:
throws java.io.IOException
java.util.Set<java.lang.String> listPackage(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/Set;
flags: (0x0000)
Code:
stack=4, locals=7, args_size=2
start local 0 start local 1 0: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 2
start local 2 1: aload 0
getstatic javax.tools.StandardLocation.PLATFORM_CLASS_PATH:Ljavax/tools/StandardLocation;
aload 1
aload 2
invokevirtual jdk.nashorn.tools.jjs.JavacPackagesHelper.listPackage:(Ljavax/tools/JavaFileManager$Location;Ljava/lang/String;Ljava/util/Set;)V
2: aload 0
getfield jdk.nashorn.tools.jjs.JavacPackagesHelper.modulePathSet:Z
ifeq 10
3: aload 0
getfield jdk.nashorn.tools.jjs.JavacPackagesHelper.fm:Ljavax/tools/StandardJavaFileManager;
getstatic javax.tools.StandardLocation.MODULE_PATH:Ljavax/tools/StandardLocation;
invokeinterface javax.tools.StandardJavaFileManager.listLocationsForModules:(Ljavax/tools/JavaFileManager$Location;)Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 4
goto 9
StackMap locals: jdk.nashorn.tools.jjs.JavacPackagesHelper java.lang.String java.util.Set top java.util.Iterator
StackMap stack:
4: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Set
astore 3
start local 3 5: aload 3
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 6
goto 8
StackMap locals: jdk.nashorn.tools.jjs.JavacPackagesHelper java.lang.String java.util.Set java.util.Set java.util.Iterator top java.util.Iterator
StackMap stack:
6: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.tools.JavaFileManager$Location
astore 5
start local 5 7: aload 0
aload 5
aload 1
aload 2
invokevirtual jdk.nashorn.tools.jjs.JavacPackagesHelper.listPackage:(Ljavax/tools/JavaFileManager$Location;Ljava/lang/String;Ljava/util/Set;)V
end local 5 8: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
end local 3 9: StackMap locals: jdk.nashorn.tools.jjs.JavacPackagesHelper java.lang.String java.util.Set top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
10: StackMap locals: jdk.nashorn.tools.jjs.JavacPackagesHelper java.lang.String java.util.Set
StackMap stack:
aload 0
getstatic javax.tools.StandardLocation.CLASS_PATH:Ljavax/tools/StandardLocation;
aload 1
aload 2
invokevirtual jdk.nashorn.tools.jjs.JavacPackagesHelper.listPackage:(Ljavax/tools/JavaFileManager$Location;Ljava/lang/String;Ljava/util/Set;)V
11: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljdk/nashorn/tools/jjs/JavacPackagesHelper;
0 12 1 pkg Ljava/lang/String;
1 12 2 props Ljava/util/Set<Ljava/lang/String;>;
5 9 3 locs Ljava/util/Set<Ljavax/tools/JavaFileManager$Location;>;
7 8 5 loc Ljavax/tools/JavaFileManager$Location;
Exceptions:
throws java.io.IOException
Signature: (Ljava/lang/String;)Ljava/util/Set<Ljava/lang/String;>;
MethodParameters:
Name Flags
pkg final
private void listPackage(javax.tools.JavaFileManager$Location, java.lang.String, java.util.Set<java.lang.String>);
descriptor: (Ljavax/tools/JavaFileManager$Location;Ljava/lang/String;Ljava/util/Set;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield jdk.nashorn.tools.jjs.JavacPackagesHelper.fm:Ljavax/tools/StandardJavaFileManager;
aload 1
aload 2
aload 0
getfield jdk.nashorn.tools.jjs.JavacPackagesHelper.fileKinds:Ljava/util/Set;
iconst_1
invokeinterface javax.tools.StandardJavaFileManager.list:(Ljavax/tools/JavaFileManager$Location;Ljava/lang/String;Ljava/util/Set;Z)Ljava/lang/Iterable;
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 5
goto 15
StackMap locals: jdk.nashorn.tools.jjs.JavacPackagesHelper javax.tools.JavaFileManager$Location java.lang.String java.util.Set top java.util.Iterator
StackMap stack:
1: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.tools.JavaFileObject
astore 4
start local 4 2: aload 0
getfield jdk.nashorn.tools.jjs.JavacPackagesHelper.fm:Ljavax/tools/StandardJavaFileManager;
aload 1
aload 4
invokeinterface javax.tools.StandardJavaFileManager.inferBinaryName:(Ljavax/tools/JavaFileManager$Location;Ljavax/tools/JavaFileObject;)Ljava/lang/String;
astore 6
start local 6 3: aload 6
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
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 5
4: goto 15
5: StackMap locals: jdk.nashorn.tools.jjs.JavacPackagesHelper javax.tools.JavaFileManager$Location java.lang.String java.util.Set javax.tools.JavaFileObject java.util.Iterator java.lang.String
StackMap stack:
aload 6
bipush 46
aload 2
invokevirtual java.lang.String.length:()I
iconst_1
iadd
invokevirtual java.lang.String.indexOf:(II)I
istore 7
start local 7 6: aload 2
invokevirtual java.lang.String.length:()I
iconst_1
iadd
istore 8
start local 8 7: iload 7
iconst_m1
if_icmpeq 12
8: aload 6
iload 8
iload 7
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
pop
9: aload 0
aload 6
iconst_0
iload 7
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual jdk.nashorn.tools.jjs.JavacPackagesHelper.isPackageAccessible:(Ljava/lang/String;)Z
ifeq 15
10: aload 3
aload 6
iload 8
iload 7
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
11: goto 15
12: StackMap locals: int int
StackMap stack:
aload 6
iload 8
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
astore 9
start local 9 13: aload 9
bipush 36
invokevirtual java.lang.String.indexOf:(I)I
iconst_m1
if_icmpne 15
aload 0
aload 6
invokevirtual jdk.nashorn.tools.jjs.JavacPackagesHelper.isClassAccessible:(Ljava/lang/String;)Z
ifeq 15
14: aload 3
aload 9
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 9 end local 8 end local 7 end local 6 end local 4 15: StackMap locals: jdk.nashorn.tools.jjs.JavacPackagesHelper javax.tools.JavaFileManager$Location java.lang.String java.util.Set top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
16: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Ljdk/nashorn/tools/jjs/JavacPackagesHelper;
0 17 1 loc Ljavax/tools/JavaFileManager$Location;
0 17 2 pkg Ljava/lang/String;
0 17 3 props Ljava/util/Set<Ljava/lang/String;>;
2 15 4 file Ljavax/tools/JavaFileObject;
3 15 6 binaryName Ljava/lang/String;
6 15 7 nextDot I
7 15 8 start I
13 15 9 clsName Ljava/lang/String;
Exceptions:
throws java.io.IOException
Signature: (Ljavax/tools/JavaFileManager$Location;Ljava/lang/String;Ljava/util/Set<Ljava/lang/String;>;)V
MethodParameters:
Name Flags
loc final
pkg final
props final
private static java.util.List<java.io.File> getFiles(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/List;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic java.io.File.pathSeparator:Ljava/lang/String;
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
invokestatic java.util.stream.Stream.of:([Ljava/lang/Object;)Ljava/util/stream/Stream;
1: invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
java/io/File.<init>(Ljava/lang/String;)V (8)
(Ljava/lang/String;)Ljava/io/File;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
2: invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
checkcast java.util.List
3: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 classPath Ljava/lang/String;
Signature: (Ljava/lang/String;)Ljava/util/List<Ljava/io/File;>;
MethodParameters:
Name Flags
classPath final
}
SourceFile: "JavacPackagesHelper.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract Location = javax.tools.JavaFileManager$Location of javax.tools.JavaFileManager
public final Kind = javax.tools.JavaFileObject$Kind of javax.tools.JavaFileObject