class com.sun.tools.jdeps.JdepsWriter$DotFileWriter extends com.sun.tools.jdeps.JdepsWriter
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.sun.tools.jdeps.JdepsWriter$DotFileWriter
super_class: com.sun.tools.jdeps.JdepsWriter
{
final boolean showLabel;
descriptor: Z
flags: (0x0010) ACC_FINAL
final java.nio.file.Path outputDir;
descriptor: Ljava/nio/file/Path;
flags: (0x0010) ACC_FINAL
void <init>(java.nio.file.Path, com.sun.tools.jdeps.Analyzer$Type, boolean, boolean, boolean);
descriptor: (Ljava/nio/file/Path;Lcom/sun/tools/jdeps/Analyzer$Type;ZZZ)V
flags: (0x0000)
Code:
stack=4, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 2
iload 3
iload 4
invokespecial com.sun.tools.jdeps.JdepsWriter.<init>:(Lcom/sun/tools/jdeps/Analyzer$Type;ZZ)V
1: aload 0
iload 5
putfield com.sun.tools.jdeps.JdepsWriter$DotFileWriter.showLabel:Z
2: aload 0
aload 1
putfield com.sun.tools.jdeps.JdepsWriter$DotFileWriter.outputDir:Ljava/nio/file/Path;
3: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/sun/tools/jdeps/JdepsWriter$DotFileWriter;
0 4 1 dir Ljava/nio/file/Path;
0 4 2 type Lcom/sun/tools/jdeps/Analyzer$Type;
0 4 3 showProfile Z
0 4 4 showModule Z
0 4 5 showLabel Z
MethodParameters:
Name Flags
dir
type
showProfile
showModule
showLabel
void generateOutput(java.util.Collection<com.sun.tools.jdeps.Archive>, com.sun.tools.jdeps.Analyzer);
descriptor: (Ljava/util/Collection;Lcom/sun/tools/jdeps/Analyzer;)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.sun.tools.jdeps.JdepsWriter$DotFileWriter.outputDir:Ljava/nio/file/Path;
iconst_0
anewarray java.nio.file.attribute.FileAttribute
invokestatic java.nio.file.Files.createDirectories:(Ljava/nio/file/Path;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/file/Path;
pop
1: aload 0
getfield com.sun.tools.jdeps.JdepsWriter$DotFileWriter.type:Lcom/sun/tools/jdeps/Analyzer$Type;
getstatic com.sun.tools.jdeps.Analyzer$Type.SUMMARY:Lcom/sun/tools/jdeps/Analyzer$Type;
if_acmpeq 5
aload 0
getfield com.sun.tools.jdeps.JdepsWriter$DotFileWriter.type:Lcom/sun/tools/jdeps/Analyzer$Type;
getstatic com.sun.tools.jdeps.Analyzer$Type.MODULE:Lcom/sun/tools/jdeps/Analyzer$Type;
if_acmpeq 5
2: aload 1
invokeinterface java.util.Collection.stream:()Ljava/util/stream/Stream;
3: aload 2
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
invokedynamic test(Lcom/sun/tools/jdeps/Analyzer;)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/jdeps/Analyzer.hasDependences(Lcom/sun/tools/jdeps/Archive;)Z (5)
(Lcom/sun/tools/jdeps/Archive;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
4: aload 0
aload 2
invokedynamic accept(Lcom/sun/tools/jdeps/JdepsWriter$DotFileWriter;Lcom/sun/tools/jdeps/Analyzer;)Ljava/util/function/Consumer;
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;)V
com/sun/tools/jdeps/JdepsWriter$DotFileWriter.lambda$1(Lcom/sun/tools/jdeps/Analyzer;Lcom/sun/tools/jdeps/Archive;)V (7)
(Lcom/sun/tools/jdeps/Archive;)V
invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
5: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
invokevirtual com.sun.tools.jdeps.JdepsWriter$DotFileWriter.generateSummaryDotFile:(Ljava/util/Collection;Lcom/sun/tools/jdeps/Analyzer;)V
6: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/tools/jdeps/JdepsWriter$DotFileWriter;
0 7 1 archives Ljava/util/Collection<Lcom/sun/tools/jdeps/Archive;>;
0 7 2 analyzer Lcom/sun/tools/jdeps/Analyzer;
Exceptions:
throws java.io.IOException
Signature: (Ljava/util/Collection<Lcom/sun/tools/jdeps/Archive;>;Lcom/sun/tools/jdeps/Analyzer;)V
MethodParameters:
Name Flags
archives
analyzer
private void generateSummaryDotFile(java.util.Collection<com.sun.tools.jdeps.Archive>, com.sun.tools.jdeps.Analyzer);
descriptor: (Ljava/util/Collection;Lcom/sun/tools/jdeps/Analyzer;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=12, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.sun.tools.jdeps.JdepsWriter$DotFileWriter.type:Lcom/sun/tools/jdeps/Analyzer$Type;
getstatic com.sun.tools.jdeps.Analyzer$Type.PACKAGE:Lcom/sun/tools/jdeps/Analyzer$Type;
if_acmpeq 1
aload 0
getfield com.sun.tools.jdeps.JdepsWriter$DotFileWriter.type:Lcom/sun/tools/jdeps/Analyzer$Type;
getstatic com.sun.tools.jdeps.Analyzer$Type.SUMMARY:Lcom/sun/tools/jdeps/Analyzer$Type;
if_acmpeq 1
aload 0
getfield com.sun.tools.jdeps.JdepsWriter$DotFileWriter.type:Lcom/sun/tools/jdeps/Analyzer$Type;
getstatic com.sun.tools.jdeps.Analyzer$Type.MODULE:Lcom/sun/tools/jdeps/Analyzer$Type;
if_acmpeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: istore 3
start local 3 3: iload 3
ifeq 4
getstatic com.sun.tools.jdeps.Analyzer$Type.SUMMARY:Lcom/sun/tools/jdeps/Analyzer$Type;
goto 5
StackMap locals: int
StackMap stack:
4: getstatic com.sun.tools.jdeps.Analyzer$Type.PACKAGE:Lcom/sun/tools/jdeps/Analyzer$Type;
StackMap locals:
StackMap stack: com.sun.tools.jdeps.Analyzer$Type
5: astore 4
start local 4 6: aload 0
getfield com.sun.tools.jdeps.JdepsWriter$DotFileWriter.outputDir:Ljava/nio/file/Path;
ldc "summary.dot"
invokeinterface java.nio.file.Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
astore 5
start local 5 7: aconst_null
astore 6
aconst_null
astore 7
8: new java.io.PrintWriter
dup
aload 5
iconst_0
anewarray java.nio.file.OpenOption
invokestatic java.nio.file.Files.newOutputStream:(Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljava/io/OutputStream;
invokespecial java.io.PrintWriter.<init>:(Ljava/io/OutputStream;)V
astore 8
start local 8 9: new com.sun.tools.jdeps.JdepsWriter$DotFileWriter$SummaryDotFile
dup
aload 0
aload 8
aload 4
invokespecial com.sun.tools.jdeps.JdepsWriter$DotFileWriter$SummaryDotFile.<init>:(Lcom/sun/tools/jdeps/JdepsWriter$DotFileWriter;Ljava/io/PrintWriter;Lcom/sun/tools/jdeps/Analyzer$Type;)V
astore 9
start local 9 10: aload 1
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 11
goto 16
StackMap locals: com.sun.tools.jdeps.JdepsWriter$DotFileWriter java.util.Collection com.sun.tools.jdeps.Analyzer int com.sun.tools.jdeps.Analyzer$Type java.nio.file.Path java.lang.Throwable java.lang.Throwable java.io.PrintWriter com.sun.tools.jdeps.JdepsWriter$DotFileWriter$SummaryDotFile top java.util.Iterator
StackMap stack:
11: aload 11
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.tools.jdeps.Archive
astore 10
start local 10 12: iload 3
ifeq 15
13: aload 0
getfield com.sun.tools.jdeps.JdepsWriter$DotFileWriter.showLabel:Z
ifeq 15
14: aload 2
aload 10
aload 9
invokevirtual com.sun.tools.jdeps.JdepsWriter$DotFileWriter$SummaryDotFile.labelBuilder:()Lcom/sun/tools/jdeps/Analyzer$Visitor;
getstatic com.sun.tools.jdeps.Analyzer$Type.PACKAGE:Lcom/sun/tools/jdeps/Analyzer$Type;
invokevirtual com.sun.tools.jdeps.Analyzer.visitDependences:(Lcom/sun/tools/jdeps/Archive;Lcom/sun/tools/jdeps/Analyzer$Visitor;Lcom/sun/tools/jdeps/Analyzer$Type;)V
15: StackMap locals: com.sun.tools.jdeps.JdepsWriter$DotFileWriter java.util.Collection com.sun.tools.jdeps.Analyzer int com.sun.tools.jdeps.Analyzer$Type java.nio.file.Path java.lang.Throwable java.lang.Throwable java.io.PrintWriter com.sun.tools.jdeps.JdepsWriter$DotFileWriter$SummaryDotFile com.sun.tools.jdeps.Archive java.util.Iterator
StackMap stack:
aload 2
aload 10
aload 9
aload 4
invokevirtual com.sun.tools.jdeps.Analyzer.visitDependences:(Lcom/sun/tools/jdeps/Archive;Lcom/sun/tools/jdeps/Analyzer$Visitor;Lcom/sun/tools/jdeps/Analyzer$Type;)V
end local 10 16: StackMap locals: com.sun.tools.jdeps.JdepsWriter$DotFileWriter java.util.Collection com.sun.tools.jdeps.Analyzer int com.sun.tools.jdeps.Analyzer$Type java.nio.file.Path java.lang.Throwable java.lang.Throwable java.io.PrintWriter com.sun.tools.jdeps.JdepsWriter$DotFileWriter$SummaryDotFile top java.util.Iterator
StackMap stack:
aload 11
invokeinterface java.util.Iterator.hasNext:()Z
ifne 11
17: aload 9
ifnull 20
aload 9
invokevirtual com.sun.tools.jdeps.JdepsWriter$DotFileWriter$SummaryDotFile.close:()V
goto 20
StackMap locals: com.sun.tools.jdeps.JdepsWriter$DotFileWriter java.util.Collection com.sun.tools.jdeps.Analyzer int com.sun.tools.jdeps.Analyzer$Type java.nio.file.Path java.lang.Throwable java.lang.Throwable java.io.PrintWriter com.sun.tools.jdeps.JdepsWriter$DotFileWriter$SummaryDotFile
StackMap stack: java.lang.Throwable
18: astore 6
aload 9
ifnull 19
aload 9
invokevirtual com.sun.tools.jdeps.JdepsWriter$DotFileWriter$SummaryDotFile.close:()V
end local 9 StackMap locals:
StackMap stack:
19: aload 6
athrow
StackMap locals:
StackMap stack:
20: aload 8
ifnull 28
aload 8
invokevirtual java.io.PrintWriter.close:()V
goto 28
StackMap locals:
StackMap stack: java.lang.Throwable
21: astore 7
aload 6
ifnonnull 22
aload 7
astore 6
goto 23
StackMap locals:
StackMap stack:
22: aload 6
aload 7
if_acmpeq 23
aload 6
aload 7
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
23: aload 8
ifnull 24
aload 8
invokevirtual java.io.PrintWriter.close:()V
end local 8 StackMap locals:
StackMap stack:
24: aload 6
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
25: astore 7
aload 6
ifnonnull 26
aload 7
astore 6
goto 27
StackMap locals:
StackMap stack:
26: aload 6
aload 7
if_acmpeq 27
aload 6
aload 7
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
27: aload 6
athrow
28: StackMap locals:
StackMap stack:
return
end local 5 end local 4 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/jdeps/JdepsWriter$DotFileWriter;
0 29 1 archives Ljava/util/Collection<Lcom/sun/tools/jdeps/Archive;>;
0 29 2 analyzer Lcom/sun/tools/jdeps/Analyzer;
3 29 3 isSummary Z
6 29 4 summaryType Lcom/sun/tools/jdeps/Analyzer$Type;
7 29 5 summary Ljava/nio/file/Path;
9 24 8 sw Ljava/io/PrintWriter;
10 19 9 dotfile Lcom/sun/tools/jdeps/JdepsWriter$DotFileWriter$SummaryDotFile;
12 16 10 archive Lcom/sun/tools/jdeps/Archive;
Exception table:
from to target type
10 17 18 any
9 20 21 any
8 25 25 any
Exceptions:
throws java.io.IOException
Signature: (Ljava/util/Collection<Lcom/sun/tools/jdeps/Archive;>;Lcom/sun/tools/jdeps/Analyzer;)V
MethodParameters:
Name Flags
archives
analyzer
private void lambda$1(com.sun.tools.jdeps.Analyzer, com.sun.tools.jdeps.Archive);
descriptor: (Lcom/sun/tools/jdeps/Analyzer;Lcom/sun/tools/jdeps/Archive;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=5, locals=8, args_size=3
start local 0 start local 2 0: aload 0
getfield com.sun.tools.jdeps.JdepsWriter$DotFileWriter.outputDir:Ljava/nio/file/Path;
new java.lang.StringBuilder
dup
aload 2
invokevirtual com.sun.tools.jdeps.Archive.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".dot"
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;
astore 3
start local 3 1: aconst_null
astore 4
aconst_null
astore 5
2: new java.io.PrintWriter
dup
aload 3
iconst_0
anewarray java.nio.file.OpenOption
invokestatic java.nio.file.Files.newOutputStream:(Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljava/io/OutputStream;
invokespecial java.io.PrintWriter.<init>:(Ljava/io/OutputStream;)V
astore 6
start local 6 3: new com.sun.tools.jdeps.JdepsWriter$DotFileWriter$DotFileFormatter
dup
aload 0
aload 6
aload 2
invokespecial com.sun.tools.jdeps.JdepsWriter$DotFileWriter$DotFileFormatter.<init>:(Lcom/sun/tools/jdeps/JdepsWriter$DotFileWriter;Ljava/io/PrintWriter;Lcom/sun/tools/jdeps/Archive;)V
astore 7
start local 7 4: aload 1
aload 2
aload 7
invokevirtual com.sun.tools.jdeps.Analyzer.visitDependences:(Lcom/sun/tools/jdeps/Archive;Lcom/sun/tools/jdeps/Analyzer$Visitor;)V
5: aload 7
ifnull 8
aload 7
invokevirtual com.sun.tools.jdeps.JdepsWriter$DotFileWriter$DotFileFormatter.close:()V
goto 8
StackMap locals: com.sun.tools.jdeps.JdepsWriter$DotFileWriter com.sun.tools.jdeps.Analyzer com.sun.tools.jdeps.Archive java.nio.file.Path java.lang.Throwable java.lang.Throwable java.io.PrintWriter com.sun.tools.jdeps.JdepsWriter$DotFileWriter$DotFileFormatter
StackMap stack: java.lang.Throwable
6: astore 4
aload 7
ifnull 7
aload 7
invokevirtual com.sun.tools.jdeps.JdepsWriter$DotFileWriter$DotFileFormatter.close:()V
end local 7 StackMap locals:
StackMap stack:
7: aload 4
athrow
StackMap locals:
StackMap stack:
8: aload 6
ifnull 18
aload 6
invokevirtual java.io.PrintWriter.close:()V
goto 18
StackMap locals:
StackMap stack: java.lang.Throwable
9: astore 5
aload 4
ifnonnull 10
aload 5
astore 4
goto 11
StackMap locals:
StackMap stack:
10: aload 4
aload 5
if_acmpeq 11
aload 4
aload 5
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
11: aload 6
ifnull 12
aload 6
invokevirtual java.io.PrintWriter.close:()V
end local 6 StackMap locals:
StackMap stack:
12: aload 4
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
13: astore 5
aload 4
ifnonnull 14
aload 5
astore 4
goto 15
StackMap locals:
StackMap stack:
14: aload 4
aload 5
if_acmpeq 15
aload 4
aload 5
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
15: aload 4
athrow
StackMap locals: com.sun.tools.jdeps.JdepsWriter$DotFileWriter com.sun.tools.jdeps.Analyzer com.sun.tools.jdeps.Archive java.nio.file.Path
StackMap stack: java.io.IOException
16: astore 4
start local 4 17: new java.io.UncheckedIOException
dup
aload 4
invokespecial java.io.UncheckedIOException.<init>:(Ljava/io/IOException;)V
athrow
end local 4 end local 3 18: StackMap locals:
StackMap stack:
return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lcom/sun/tools/jdeps/JdepsWriter$DotFileWriter;
0 19 2 archive Lcom/sun/tools/jdeps/Archive;
1 18 3 dotfile Ljava/nio/file/Path;
3 12 6 pw Ljava/io/PrintWriter;
4 7 7 formatter Lcom/sun/tools/jdeps/JdepsWriter$DotFileWriter$DotFileFormatter;
17 18 4 e Ljava/io/IOException;
Exception table:
from to target type
4 5 6 any
3 8 9 any
2 13 13 any
1 16 16 Class java.io.IOException
}
SourceFile: "JdepsWriter.java"
NestHost: com.sun.tools.jdeps.JdepsWriter
InnerClasses:
public final Type = com.sun.tools.jdeps.Analyzer$Type of com.sun.tools.jdeps.Analyzer
abstract Visitor = com.sun.tools.jdeps.Analyzer$Visitor of com.sun.tools.jdeps.Analyzer
DotFileWriter = com.sun.tools.jdeps.JdepsWriter$DotFileWriter of com.sun.tools.jdeps.JdepsWriter
DotFileFormatter = com.sun.tools.jdeps.JdepsWriter$DotFileWriter$DotFileFormatter of com.sun.tools.jdeps.JdepsWriter$DotFileWriter
SummaryDotFile = com.sun.tools.jdeps.JdepsWriter$DotFileWriter$SummaryDotFile of com.sun.tools.jdeps.JdepsWriter$DotFileWriter
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles