final class com.sun.tools.javac.file.JavacFileManager$DirectoryContainer implements com.sun.tools.javac.file.JavacFileManager$Container
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.sun.tools.javac.file.JavacFileManager$DirectoryContainer
super_class: java.lang.Object
{
private final java.nio.file.Path directory;
descriptor: Ljava/nio/file/Path;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
final com.sun.tools.javac.file.JavacFileManager this$0;
descriptor: Lcom/sun/tools/javac/file/JavacFileManager;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
public void <init>(com.sun.tools.javac.file.JavacFileManager, java.nio.file.Path);
descriptor: (Lcom/sun/tools/javac/file/JavacFileManager;Ljava/nio/file/Path;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 2 0: aload 0
aload 1
putfield com.sun.tools.javac.file.JavacFileManager$DirectoryContainer.this$0:Lcom/sun/tools/javac/file/JavacFileManager;
aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 2
putfield com.sun.tools.javac.file.JavacFileManager$DirectoryContainer.directory:Ljava/nio/file/Path;
2: return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/tools/javac/file/JavacFileManager$DirectoryContainer;
0 3 2 directory Ljava/nio/file/Path;
MethodParameters:
Name Flags
this$0 final
directory
public void list(java.nio.file.Path, com.sun.tools.javac.file.RelativePath$RelativeDirectory, java.util.Set<javax.tools.JavaFileObject$Kind>, boolean, com.sun.tools.javac.util.ListBuffer<javax.tools.JavaFileObject>);
descriptor: (Ljava/nio/file/Path;Lcom/sun/tools/javac/file/RelativePath$RelativeDirectory;Ljava/util/Set;ZLcom/sun/tools/javac/util/ListBuffer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=13, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 2
aload 1
invokevirtual com.sun.tools.javac.file.RelativePath$RelativeDirectory.resolveAgainst:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
astore 6
start local 6 1: goto 4
end local 6 StackMap locals:
StackMap stack: java.nio.file.InvalidPathException
2: pop
3: return
start local 6 4: StackMap locals: java.nio.file.Path
StackMap stack:
aload 6
iconst_0
anewarray java.nio.file.LinkOption
invokestatic java.nio.file.Files.exists:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
ifne 6
5: return
6: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javac.file.JavacFileManager$DirectoryContainer.this$0:Lcom/sun/tools/javac/file/JavacFileManager;
aload 6
aload 2
invokevirtual com.sun.tools.javac.file.JavacFileManager.caseMapCheck:(Ljava/nio/file/Path;Lcom/sun/tools/javac/file/RelativePath;)Z
ifne 8
7: return
8: StackMap locals:
StackMap stack:
aconst_null
astore 8
aconst_null
astore 9
9: aload 6
invokestatic java.nio.file.Files.list:(Ljava/nio/file/Path;)Ljava/util/stream/Stream;
astore 10
start local 10 10: aload 0
getfield com.sun.tools.javac.file.JavacFileManager$DirectoryContainer.this$0:Lcom/sun/tools/javac/file/JavacFileManager;
getfield com.sun.tools.javac.file.JavacFileManager.sortFiles:Lcom/sun/tools/javac/file/JavacFileManager$SortFiles;
ifnonnull 11
aload 10
goto 12
StackMap locals: com.sun.tools.javac.file.JavacFileManager$DirectoryContainer java.nio.file.Path com.sun.tools.javac.file.RelativePath$RelativeDirectory java.util.Set int com.sun.tools.javac.util.ListBuffer java.nio.file.Path top java.lang.Throwable java.lang.Throwable java.util.stream.Stream
StackMap stack:
11: aload 10
aload 0
getfield com.sun.tools.javac.file.JavacFileManager$DirectoryContainer.this$0:Lcom/sun/tools/javac/file/JavacFileManager;
getfield com.sun.tools.javac.file.JavacFileManager.sortFiles:Lcom/sun/tools/javac/file/JavacFileManager$SortFiles;
invokeinterface java.util.stream.Stream.sorted:(Ljava/util/Comparator;)Ljava/util/stream/Stream;
StackMap locals:
StackMap stack: java.util.stream.Stream
12: 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
astore 7
start local 7 13: aload 10
ifnull 21
aload 10
invokeinterface java.util.stream.Stream.close:()V
goto 21
end local 7 StackMap locals:
StackMap stack: java.lang.Throwable
14: astore 8
aload 10
ifnull 15
aload 10
invokeinterface java.util.stream.Stream.close:()V
end local 10 StackMap locals:
StackMap stack:
15: aload 8
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
16: astore 9
aload 8
ifnonnull 17
aload 9
astore 8
goto 18
StackMap locals:
StackMap stack:
17: aload 8
aload 9
if_acmpeq 18
aload 8
aload 9
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
18: aload 8
athrow
StackMap locals: com.sun.tools.javac.file.JavacFileManager$DirectoryContainer java.nio.file.Path com.sun.tools.javac.file.RelativePath$RelativeDirectory java.util.Set int com.sun.tools.javac.util.ListBuffer java.nio.file.Path
StackMap stack: java.io.IOException
19: pop
20: return
start local 7 21: StackMap locals: java.util.List
StackMap stack:
aload 7
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 9
goto 44
StackMap locals: com.sun.tools.javac.file.JavacFileManager$DirectoryContainer java.nio.file.Path com.sun.tools.javac.file.RelativePath$RelativeDirectory java.util.Set int com.sun.tools.javac.util.ListBuffer java.nio.file.Path java.util.List top java.util.Iterator
StackMap stack:
22: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.nio.file.Path
astore 8
start local 8 23: aload 8
invokeinterface java.nio.file.Path.getFileName:()Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
astore 10
start local 10 24: aload 10
ldc "/"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 26
25: aload 10
iconst_0
aload 10
invokevirtual java.lang.String.length:()I
iconst_1
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 10
26: StackMap locals: com.sun.tools.javac.file.JavacFileManager$DirectoryContainer java.nio.file.Path com.sun.tools.javac.file.RelativePath$RelativeDirectory java.util.Set int com.sun.tools.javac.util.ListBuffer java.nio.file.Path java.util.List java.nio.file.Path java.util.Iterator java.lang.String
StackMap stack:
aload 8
iconst_0
anewarray java.nio.file.LinkOption
invokestatic java.nio.file.Files.isDirectory:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
ifeq 35
27: iload 4
ifeq 44
aload 10
invokestatic javax.lang.model.SourceVersion.isIdentifier:(Ljava/lang/CharSequence;)Z
ifeq 44
28: aload 0
aload 1
29: new com.sun.tools.javac.file.RelativePath$RelativeDirectory
dup
aload 2
aload 10
invokespecial com.sun.tools.javac.file.RelativePath$RelativeDirectory.<init>:(Lcom/sun/tools/javac/file/RelativePath$RelativeDirectory;Ljava/lang/String;)V
30: aload 3
31: iload 4
32: aload 5
33: invokevirtual com.sun.tools.javac.file.JavacFileManager$DirectoryContainer.list:(Ljava/nio/file/Path;Lcom/sun/tools/javac/file/RelativePath$RelativeDirectory;Ljava/util/Set;ZLcom/sun/tools/javac/util/ListBuffer;)V
34: goto 44
35: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.tools.javac.file.JavacFileManager$DirectoryContainer.this$0:Lcom/sun/tools/javac/file/JavacFileManager;
aload 10
aload 3
invokevirtual com.sun.tools.javac.file.JavacFileManager.isValidFile:(Ljava/lang/String;Ljava/util/Set;)Z
ifeq 44
36: new com.sun.tools.javac.file.RelativePath$RelativeFile
dup
aload 2
aload 10
invokespecial com.sun.tools.javac.file.RelativePath$RelativeFile.<init>:(Lcom/sun/tools/javac/file/RelativePath$RelativeDirectory;Ljava/lang/String;)V
astore 11
start local 11 37: aload 0
getfield com.sun.tools.javac.file.JavacFileManager$DirectoryContainer.this$0:Lcom/sun/tools/javac/file/JavacFileManager;
38: aload 11
aload 0
getfield com.sun.tools.javac.file.JavacFileManager$DirectoryContainer.directory:Ljava/nio/file/Path;
invokevirtual com.sun.tools.javac.file.RelativePath$RelativeFile.resolveAgainst:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
aload 1
aload 11
39: invokestatic com.sun.tools.javac.file.PathFileObject.forDirectoryPath:(Lcom/sun/tools/javac/file/BaseFileManager;Ljava/nio/file/Path;Ljava/nio/file/Path;Lcom/sun/tools/javac/file/RelativePath;)Lcom/sun/tools/javac/file/PathFileObject;
astore 12
start local 12 40: aload 5
aload 12
invokevirtual com.sun.tools.javac.util.ListBuffer.append:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/ListBuffer;
pop
end local 12 end local 11 41: goto 44
StackMap locals:
StackMap stack: java.nio.file.InvalidPathException
42: astore 11
start local 11 43: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "error accessing directory "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.sun.tools.javac.file.JavacFileManager$DirectoryContainer.directory:Ljava/nio/file/Path;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
aload 11
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
end local 11 end local 10 end local 8 44: StackMap locals: com.sun.tools.javac.file.JavacFileManager$DirectoryContainer java.nio.file.Path com.sun.tools.javac.file.RelativePath$RelativeDirectory java.util.Set int com.sun.tools.javac.util.ListBuffer java.nio.file.Path java.util.List top java.util.Iterator
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 22
45: return
end local 7 end local 6 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 46 0 this Lcom/sun/tools/javac/file/JavacFileManager$DirectoryContainer;
0 46 1 userPath Ljava/nio/file/Path;
0 46 2 subdirectory Lcom/sun/tools/javac/file/RelativePath$RelativeDirectory;
0 46 3 fileKinds Ljava/util/Set<Ljavax/tools/JavaFileObject$Kind;>;
0 46 4 recurse Z
0 46 5 resultList Lcom/sun/tools/javac/util/ListBuffer<Ljavax/tools/JavaFileObject;>;
1 2 6 d Ljava/nio/file/Path;
4 46 6 d Ljava/nio/file/Path;
13 14 7 files Ljava/util/List<Ljava/nio/file/Path;>;
21 46 7 files Ljava/util/List<Ljava/nio/file/Path;>;
10 15 10 s Ljava/util/stream/Stream<Ljava/nio/file/Path;>;
23 44 8 f Ljava/nio/file/Path;
24 44 10 fname Ljava/lang/String;
37 41 11 file Lcom/sun/tools/javac/file/RelativePath$RelativeFile;
40 41 12 fe Ljavax/tools/JavaFileObject;
43 44 11 e Ljava/nio/file/InvalidPathException;
Exception table:
from to target type
0 1 2 Class java.nio.file.InvalidPathException
10 13 14 any
9 16 16 any
8 19 19 Class java.io.IOException
36 41 42 Class java.nio.file.InvalidPathException
Exceptions:
throws java.io.IOException
Signature: (Ljava/nio/file/Path;Lcom/sun/tools/javac/file/RelativePath$RelativeDirectory;Ljava/util/Set<Ljavax/tools/JavaFileObject$Kind;>;ZLcom/sun/tools/javac/util/ListBuffer<Ljavax/tools/JavaFileObject;>;)V
MethodParameters:
Name Flags
userPath
subdirectory
fileKinds
recurse
resultList
public javax.tools.JavaFileObject getFileObject(java.nio.file.Path, com.sun.tools.javac.file.RelativePath$RelativeFile);
descriptor: (Ljava/nio/file/Path;Lcom/sun/tools/javac/file/RelativePath$RelativeFile;)Ljavax/tools/JavaFileObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
aload 1
invokevirtual com.sun.tools.javac.file.RelativePath$RelativeFile.resolveAgainst:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
astore 3
start local 3 1: aload 3
iconst_0
anewarray java.nio.file.LinkOption
invokestatic java.nio.file.Files.exists:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
ifeq 7
2: aload 0
getfield com.sun.tools.javac.file.JavacFileManager$DirectoryContainer.this$0:Lcom/sun/tools/javac/file/JavacFileManager;
3: aload 0
getfield com.sun.tools.javac.file.JavacFileManager$DirectoryContainer.this$0:Lcom/sun/tools/javac/file/JavacFileManager;
getfield com.sun.tools.javac.file.JavacFileManager.fsInfo:Lcom/sun/tools/javac/file/FSInfo;
aload 3
invokevirtual com.sun.tools.javac.file.FSInfo.getCanonicalFile:(Ljava/nio/file/Path;)Ljava/nio/file/Path;
aload 3
4: invokestatic com.sun.tools.javac.file.PathFileObject.forSimplePath:(Lcom/sun/tools/javac/file/BaseFileManager;Ljava/nio/file/Path;Ljava/nio/file/Path;)Lcom/sun/tools/javac/file/PathFileObject;
5: areturn
end local 3 6: StackMap locals:
StackMap stack: java.nio.file.InvalidPathException
pop
7: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/tools/javac/file/JavacFileManager$DirectoryContainer;
0 8 1 userPath Ljava/nio/file/Path;
0 8 2 name Lcom/sun/tools/javac/file/RelativePath$RelativeFile;
1 6 3 f Ljava/nio/file/Path;
Exception table:
from to target type
0 5 6 Class java.nio.file.InvalidPathException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
userPath
name
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=1, args_size=1
start local 0 0: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/file/JavacFileManager$DirectoryContainer;
Exceptions:
throws java.io.IOException
public boolean maintainsDirectoryIndex();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/file/JavacFileManager$DirectoryContainer;
public java.lang.Iterable<com.sun.tools.javac.file.RelativePath$RelativeDirectory> indexedDirectories();
descriptor: ()Ljava/lang/Iterable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/file/JavacFileManager$DirectoryContainer;
Signature: ()Ljava/lang/Iterable<Lcom/sun/tools/javac/file/RelativePath$RelativeDirectory;>;
}
SourceFile: "JavacFileManager.java"
NestHost: com.sun.tools.javac.file.JavacFileManager
InnerClasses:
private abstract Container = com.sun.tools.javac.file.JavacFileManager$Container of com.sun.tools.javac.file.JavacFileManager
private final DirectoryContainer = com.sun.tools.javac.file.JavacFileManager$DirectoryContainer of com.sun.tools.javac.file.JavacFileManager
public RelativeDirectory = com.sun.tools.javac.file.RelativePath$RelativeDirectory of com.sun.tools.javac.file.RelativePath
public RelativeFile = com.sun.tools.javac.file.RelativePath$RelativeFile of com.sun.tools.javac.file.RelativePath
public final Kind = javax.tools.JavaFileObject$Kind of javax.tools.JavaFileObject