class com.sun.tools.jdeprscan.scan.ClassFinder$JrtPathEntry implements com.sun.tools.jdeprscan.scan.ClassFinder$PathEntry
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.sun.tools.jdeprscan.scan.ClassFinder$JrtPathEntry
super_class: java.lang.Object
{
final java.nio.file.FileSystem fs;
descriptor: Ljava/nio/file/FileSystem;
flags: (0x0010) ACC_FINAL
final com.sun.tools.jdeprscan.scan.ClassFinder this$0;
descriptor: Lcom/sun/tools/jdeprscan/scan/ClassFinder;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(com.sun.tools.jdeprscan.scan.ClassFinder);
descriptor: (Lcom/sun/tools/jdeprscan/scan/ClassFinder;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 0: aload 0
aload 1
putfield com.sun.tools.jdeprscan.scan.ClassFinder$JrtPathEntry.this$0:Lcom/sun/tools/jdeprscan/scan/ClassFinder;
aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
ldc "jrt:/"
invokestatic java.net.URI.create:(Ljava/lang/String;)Ljava/net/URI;
invokestatic java.nio.file.FileSystems.getFileSystem:(Ljava/net/URI;)Ljava/nio/file/FileSystem;
putfield com.sun.tools.jdeprscan.scan.ClassFinder$JrtPathEntry.fs:Ljava/nio/file/FileSystem;
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/tools/jdeprscan/scan/ClassFinder$JrtPathEntry;
MethodParameters:
Name Flags
this$0 final
public com.sun.tools.classfile.ClassFile find(java.lang.String);
descriptor: (Ljava/lang/String;)Lcom/sun/tools/classfile/ClassFile;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=8, args_size=2
start local 0 start local 1 0: aload 1
bipush 47
invokevirtual java.lang.String.lastIndexOf:(I)I
istore 2
start local 2 1: iload 2
ifge 3
2: aconst_null
areturn
3: StackMap locals: int
StackMap stack:
new java.lang.StringBuilder
dup
ldc "/packages/"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
iconst_0
iload 2
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
4: bipush 47
bipush 46
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
5: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
start local 3 6: aconst_null
astore 4
aconst_null
astore 5
7: aload 0
getfield com.sun.tools.jdeprscan.scan.ClassFinder$JrtPathEntry.fs:Ljava/nio/file/FileSystem;
aload 3
iconst_0
anewarray java.lang.String
invokevirtual java.nio.file.FileSystem.getPath:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
invokestatic java.nio.file.Files.list:(Ljava/nio/file/Path;)Ljava/util/stream/Stream;
astore 6
start local 6 8: aload 6
aload 1
invokedynamic apply(Ljava/lang/String;)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;
com/sun/tools/jdeprscan/scan/ClassFinder$JrtPathEntry.lambda$0(Ljava/lang/String;Ljava/nio/file/Path;)Ljava/nio/file/Path; (6)
(Ljava/nio/file/Path;)Ljava/nio/file/Path;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
invokedynamic test()Ljava/util/function/Predicate;
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;)Z
com/sun/tools/jdeprscan/scan/ClassFinder$JrtPathEntry.lambda$2(Ljava/nio/file/Path;)Z (6)
(Ljava/nio/file/Path;)Z
9: invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
10: invokeinterface java.util.stream.Stream.findFirst:()Ljava/util/Optional;
11: astore 7
start local 7 12: aload 7
invokevirtual java.util.Optional.isPresent:()Z
ifeq 16
13: aload 7
invokevirtual java.util.Optional.get:()Ljava/lang/Object;
checkcast java.nio.file.Path
invokestatic com.sun.tools.classfile.ClassFile.read:(Ljava/nio/file/Path;)Lcom/sun/tools/classfile/ClassFile;
14: aload 6
ifnull 15
aload 6
invokeinterface java.util.stream.Stream.close:()V
15: StackMap locals: com.sun.tools.jdeprscan.scan.ClassFinder$JrtPathEntry java.lang.String int java.lang.String java.lang.Throwable java.lang.Throwable java.util.stream.Stream java.util.Optional
StackMap stack: com.sun.tools.classfile.ClassFile
areturn
16: StackMap locals:
StackMap stack:
aload 6
ifnull 17
aload 6
invokeinterface java.util.stream.Stream.close:()V
17: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 7 StackMap locals: com.sun.tools.jdeprscan.scan.ClassFinder$JrtPathEntry java.lang.String int java.lang.String java.lang.Throwable java.lang.Throwable java.util.stream.Stream
StackMap stack: java.lang.Throwable
18: astore 4
19: aload 6
ifnull 20
aload 6
invokeinterface java.util.stream.Stream.close:()V
end local 6 StackMap locals:
StackMap stack:
20: aload 4
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
21: astore 5
aload 4
ifnonnull 22
aload 5
astore 4
goto 23
StackMap locals:
StackMap stack:
22: aload 4
aload 5
if_acmpeq 23
aload 4
aload 5
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
23: aload 4
athrow
StackMap locals: com.sun.tools.jdeprscan.scan.ClassFinder$JrtPathEntry java.lang.String int java.lang.String
StackMap stack: java.nio.file.NoSuchFileException
24: pop
goto 28
25: StackMap locals:
StackMap stack: java.lang.Exception
astore 4
start local 4 26: aload 0
getfield com.sun.tools.jdeprscan.scan.ClassFinder$JrtPathEntry.this$0:Lcom/sun/tools/jdeprscan/scan/ClassFinder;
getfield com.sun.tools.jdeprscan.scan.ClassFinder.verbose:Z
ifeq 28
27: aload 4
invokevirtual java.lang.Exception.printStackTrace:()V
end local 4 28: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lcom/sun/tools/jdeprscan/scan/ClassFinder$JrtPathEntry;
0 29 1 className Ljava/lang/String;
1 29 2 end I
6 29 3 pkg Ljava/lang/String;
8 20 6 mods Ljava/util/stream/Stream<Ljava/nio/file/Path;>;
12 18 7 opath Ljava/util/Optional<Ljava/nio/file/Path;>;
26 28 4 ex Ljava/lang/Exception;
Exception table:
from to target type
8 14 18 any
7 15 21 any
16 17 21 any
18 21 21 any
6 15 24 Class java.nio.file.NoSuchFileException
16 17 24 Class java.nio.file.NoSuchFileException
18 24 24 Class java.nio.file.NoSuchFileException
6 15 25 Class java.io.IOException
16 17 25 Class java.io.IOException
18 24 25 Class java.io.IOException
6 15 25 Class com.sun.tools.classfile.ConstantPoolException
16 17 25 Class com.sun.tools.classfile.ConstantPoolException
18 24 25 Class com.sun.tools.classfile.ConstantPoolException
MethodParameters:
Name Flags
className
private static java.nio.file.Path lambda$0(java.lang.String, java.nio.file.Path);
descriptor: (Ljava/lang/String;Ljava/nio/file/Path;)Ljava/nio/file/Path;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=4, locals=2, args_size=2
start local 1 0: aload 1
new java.lang.StringBuilder
dup
aload 0
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".class"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface java.nio.file.Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
areturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 path Ljava/nio/file/Path;
private static boolean lambda$2(java.nio.file.Path);
descriptor: (Ljava/nio/file/Path;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
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 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 arg0 Ljava/nio/file/Path;
}
SourceFile: "ClassFinder.java"
NestHost: com.sun.tools.jdeprscan.scan.ClassFinder
InnerClasses:
JrtPathEntry = com.sun.tools.jdeprscan.scan.ClassFinder$JrtPathEntry of com.sun.tools.jdeprscan.scan.ClassFinder
abstract PathEntry = com.sun.tools.jdeprscan.scan.ClassFinder$PathEntry of com.sun.tools.jdeprscan.scan.ClassFinder
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles