final class com.oracle.truffle.api.TruffleFile$Walker implements java.lang.Iterable<com.oracle.truffle.api.TruffleFile$Walker$Event>
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.oracle.truffle.api.TruffleFile$Walker
super_class: java.lang.Object
{
private final com.oracle.truffle.api.TruffleFile start;
descriptor: Lcom/oracle/truffle/api/TruffleFile;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int maxDepth;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean followSymLinks;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private com.oracle.truffle.api.TruffleFile$Walker$IteratorImpl currentIterator;
descriptor: Lcom/oracle/truffle/api/TruffleFile$Walker$IteratorImpl;
flags: (0x0002) ACC_PRIVATE
void <init>(com.oracle.truffle.api.TruffleFile, int, java.nio.file.FileVisitOption[]);
descriptor: (Lcom/oracle/truffle/api/TruffleFile;I[Ljava/nio/file/FileVisitOption;)V
flags: (0x0080) ACC_VARARGS
Code:
stack=2, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield com.oracle.truffle.api.TruffleFile$Walker.start:Lcom/oracle/truffle/api/TruffleFile;
2: aload 0
iload 2
putfield com.oracle.truffle.api.TruffleFile$Walker.maxDepth:I
3: iconst_0
istore 4
start local 4 4: aload 3
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 10
StackMap locals: com.oracle.truffle.api.TruffleFile$Walker com.oracle.truffle.api.TruffleFile int java.nio.file.FileVisitOption[] int top int int java.nio.file.FileVisitOption[]
StackMap stack:
5: aload 8
iload 6
aaload
astore 5
start local 5 6: aload 5
getstatic java.nio.file.FileVisitOption.FOLLOW_LINKS:Ljava/nio/file/FileVisitOption;
if_acmpne 9
7: iconst_1
istore 4
8: goto 11
end local 5 9: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
10: iload 6
iload 7
if_icmplt 5
11: StackMap locals: com.oracle.truffle.api.TruffleFile$Walker com.oracle.truffle.api.TruffleFile int java.nio.file.FileVisitOption[] int
StackMap stack:
aload 0
iload 4
putfield com.oracle.truffle.api.TruffleFile$Walker.followSymLinks:Z
12: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/oracle/truffle/api/TruffleFile$Walker;
0 13 1 start Lcom/oracle/truffle/api/TruffleFile;
0 13 2 maxDepth I
0 13 3 options [Ljava/nio/file/FileVisitOption;
4 13 4 followSymLinksTmp Z
6 9 5 option Ljava/nio/file/FileVisitOption;
MethodParameters:
Name Flags
start
maxDepth
options
public java.util.Iterator<com.oracle.truffle.api.TruffleFile$Walker$Event> iterator();
descriptor: ()Ljava/util/Iterator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.TruffleFile$Walker.currentIterator:Lcom/oracle/truffle/api/TruffleFile$Walker$IteratorImpl;
ifnull 2
1: new java.lang.IllegalStateException
dup
ldc "Multiple iterators are not allowed."
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
new com.oracle.truffle.api.TruffleFile$Walker$IteratorImpl
dup
aload 0
getfield com.oracle.truffle.api.TruffleFile$Walker.start:Lcom/oracle/truffle/api/TruffleFile;
aload 0
getfield com.oracle.truffle.api.TruffleFile$Walker.maxDepth:I
aload 0
getfield com.oracle.truffle.api.TruffleFile$Walker.followSymLinks:Z
invokespecial com.oracle.truffle.api.TruffleFile$Walker$IteratorImpl.<init>:(Lcom/oracle/truffle/api/TruffleFile;IZ)V
putfield com.oracle.truffle.api.TruffleFile$Walker.currentIterator:Lcom/oracle/truffle/api/TruffleFile$Walker$IteratorImpl;
3: aload 0
getfield com.oracle.truffle.api.TruffleFile$Walker.currentIterator:Lcom/oracle/truffle/api/TruffleFile$Walker$IteratorImpl;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/api/TruffleFile$Walker;
Signature: ()Ljava/util/Iterator<Lcom/oracle/truffle/api/TruffleFile$Walker$Event;>;
void pop();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.TruffleFile$Walker.currentIterator:Lcom/oracle/truffle/api/TruffleFile$Walker$IteratorImpl;
getfield com.oracle.truffle.api.TruffleFile$Walker$IteratorImpl.stack:Ljava/util/Deque;
invokeinterface java.util.Deque.isEmpty:()Z
ifne 4
1: aload 0
getfield com.oracle.truffle.api.TruffleFile$Walker.currentIterator:Lcom/oracle/truffle/api/TruffleFile$Walker$IteratorImpl;
getfield com.oracle.truffle.api.TruffleFile$Walker$IteratorImpl.stack:Ljava/util/Deque;
invokeinterface java.util.Deque.removeLast:()Ljava/lang/Object;
checkcast com.oracle.truffle.api.TruffleFile$Walker$IteratorImpl$Dir
invokevirtual com.oracle.truffle.api.TruffleFile$Walker$IteratorImpl$Dir.close:()V
2: goto 4
StackMap locals:
StackMap stack: java.io.IOException
3: pop
4: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/api/TruffleFile$Walker;
Exception table:
from to target type
1 2 3 Class java.io.IOException
void skipRemainingSiblings();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.TruffleFile$Walker.currentIterator:Lcom/oracle/truffle/api/TruffleFile$Walker$IteratorImpl;
getfield com.oracle.truffle.api.TruffleFile$Walker$IteratorImpl.stack:Ljava/util/Deque;
invokeinterface java.util.Deque.isEmpty:()Z
ifne 2
1: aload 0
getfield com.oracle.truffle.api.TruffleFile$Walker.currentIterator:Lcom/oracle/truffle/api/TruffleFile$Walker$IteratorImpl;
getfield com.oracle.truffle.api.TruffleFile$Walker$IteratorImpl.stack:Ljava/util/Deque;
invokeinterface java.util.Deque.peekLast:()Ljava/lang/Object;
checkcast com.oracle.truffle.api.TruffleFile$Walker$IteratorImpl$Dir
iconst_1
invokevirtual com.oracle.truffle.api.TruffleFile$Walker$IteratorImpl$Dir.setSkipped:(Z)V
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/api/TruffleFile$Walker;
}
Signature: Ljava/lang/Object;Ljava/lang/Iterable<Lcom/oracle/truffle/api/TruffleFile$Walker$Event;>;
SourceFile: "TruffleFile.java"
NestHost: com.oracle.truffle.api.TruffleFile
InnerClasses:
private final Walker = com.oracle.truffle.api.TruffleFile$Walker of com.oracle.truffle.api.TruffleFile
Event = com.oracle.truffle.api.TruffleFile$Walker$Event of com.oracle.truffle.api.TruffleFile$Walker
private IteratorImpl = com.oracle.truffle.api.TruffleFile$Walker$IteratorImpl of com.oracle.truffle.api.TruffleFile$Walker
private final Dir = com.oracle.truffle.api.TruffleFile$Walker$IteratorImpl$Dir of com.oracle.truffle.api.TruffleFile$Walker$IteratorImpl