final class java.lang.StackStreamFactory$StackFrameTraverser$StackFrameBuffer extends java.lang.StackStreamFactory$FrameBuffer<java.lang.StackFrameInfo>
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: java.lang.StackStreamFactory$StackFrameTraverser$StackFrameBuffer
super_class: java.lang.StackStreamFactory$FrameBuffer
{
private java.lang.StackFrameInfo[] stackFrames;
descriptor: [Ljava/lang/StackFrameInfo;
flags: (0x0002) ACC_PRIVATE
final java.lang.StackStreamFactory$StackFrameTraverser this$1;
descriptor: Ljava/lang/StackStreamFactory$StackFrameTraverser;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Ljava/lang/StackStreamFactory;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic java.lang.StackStreamFactory$StackFrameTraverser$StackFrameBuffer.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(java.lang.StackStreamFactory$StackFrameTraverser, int);
descriptor: (Ljava/lang/StackStreamFactory$StackFrameTraverser;I)V
flags: (0x0000)
Code:
stack=5, locals=4, args_size=3
start local 0 start local 2 0: aload 0
aload 1
putfield java.lang.StackStreamFactory$StackFrameTraverser$StackFrameBuffer.this$1:Ljava/lang/StackStreamFactory$StackFrameTraverser;
1: aload 0
iload 2
invokespecial java.lang.StackStreamFactory$FrameBuffer.<init>:(I)V
2: aload 0
iload 2
anewarray java.lang.StackFrameInfo
putfield java.lang.StackStreamFactory$StackFrameTraverser$StackFrameBuffer.stackFrames:[Ljava/lang/StackFrameInfo;
3: iconst_2
istore 3
start local 3 4: goto 7
5: StackMap locals: java.lang.StackStreamFactory$StackFrameTraverser$StackFrameBuffer java.lang.StackStreamFactory$StackFrameTraverser int int
StackMap stack:
aload 0
getfield java.lang.StackStreamFactory$StackFrameTraverser$StackFrameBuffer.stackFrames:[Ljava/lang/StackFrameInfo;
iload 3
new java.lang.StackFrameInfo
dup
aload 1
getfield java.lang.StackStreamFactory$StackFrameTraverser.walker:Ljava/lang/StackWalker;
invokespecial java.lang.StackFrameInfo.<init>:(Ljava/lang/StackWalker;)V
aastore
6: iinc 3 1
StackMap locals:
StackMap stack:
7: iload 3
iload 2
if_icmplt 5
end local 3 8: return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljava/lang/StackStreamFactory$StackFrameTraverser$StackFrameBuffer;
0 9 2 initialBatchSize I
4 8 3 i I
MethodParameters:
Name Flags
this$0 final
initialBatchSize
java.lang.StackFrameInfo[] frames();
descriptor: ()[Ljava/lang/StackFrameInfo;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield java.lang.StackStreamFactory$StackFrameTraverser$StackFrameBuffer.stackFrames:[Ljava/lang/StackFrameInfo;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/StackStreamFactory$StackFrameTraverser$StackFrameBuffer;
void resize(int, int);
descriptor: (II)V
flags: (0x0000)
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual java.lang.StackStreamFactory$StackFrameTraverser$StackFrameBuffer.isActive:()Z
ifne 2
1: new java.lang.IllegalStateException
dup
ldc "inactive frame buffer can't be resized"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
getstatic java.lang.StackStreamFactory$StackFrameTraverser$StackFrameBuffer.$assertionsDisabled:Z
ifne 4
iload 1
iconst_2
if_icmpeq 4
new java.lang.AssertionError
dup
3: new java.lang.StringBuilder
dup
ldc "bad start index "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " expected "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iconst_2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
4: StackMap locals:
StackMap stack:
iload 1
iload 2
iadd
istore 3
start local 3 5: aload 0
getfield java.lang.StackStreamFactory$StackFrameTraverser$StackFrameBuffer.stackFrames:[Ljava/lang/StackFrameInfo;
arraylength
iload 3
if_icmpge 9
6: iload 3
anewarray java.lang.StackFrameInfo
astore 4
start local 4 7: aload 0
getfield java.lang.StackStreamFactory$StackFrameTraverser$StackFrameBuffer.stackFrames:[Ljava/lang/StackFrameInfo;
iconst_0
aload 4
iconst_0
iload 1
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
8: aload 0
aload 4
putfield java.lang.StackStreamFactory$StackFrameTraverser$StackFrameBuffer.stackFrames:[Ljava/lang/StackFrameInfo;
end local 4 9: StackMap locals: int
StackMap stack:
iload 1
istore 4
start local 4 10: goto 13
11: StackMap locals: int
StackMap stack:
aload 0
getfield java.lang.StackStreamFactory$StackFrameTraverser$StackFrameBuffer.stackFrames:[Ljava/lang/StackFrameInfo;
iload 4
new java.lang.StackFrameInfo
dup
aload 0
getfield java.lang.StackStreamFactory$StackFrameTraverser$StackFrameBuffer.this$1:Ljava/lang/StackStreamFactory$StackFrameTraverser;
getfield java.lang.StackStreamFactory$StackFrameTraverser.walker:Ljava/lang/StackWalker;
invokespecial java.lang.StackFrameInfo.<init>:(Ljava/lang/StackWalker;)V
aastore
12: iinc 4 1
StackMap locals:
StackMap stack:
13: iload 4
iload 3
if_icmplt 11
end local 4 14: aload 0
iload 3
putfield java.lang.StackStreamFactory$StackFrameTraverser$StackFrameBuffer.currentBatchSize:I
15: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Ljava/lang/StackStreamFactory$StackFrameTraverser$StackFrameBuffer;
0 16 1 startIndex I
0 16 2 elements I
5 16 3 size I
7 9 4 newFrames [Ljava/lang/StackFrameInfo;
10 14 4 i I
MethodParameters:
Name Flags
startIndex
elements
java.lang.StackFrameInfo nextStackFrame();
descriptor: ()Ljava/lang/StackFrameInfo;
flags: (0x0000)
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.StackStreamFactory$StackFrameTraverser$StackFrameBuffer.isEmpty:()Z
ifeq 2
1: new java.util.NoSuchElementException
dup
new java.lang.StringBuilder
dup
ldc "origin="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield java.lang.StackStreamFactory$StackFrameTraverser$StackFrameBuffer.origin:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " fence="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield java.lang.StackStreamFactory$StackFrameTraverser$StackFrameBuffer.fence:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.util.NoSuchElementException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield java.lang.StackStreamFactory$StackFrameTraverser$StackFrameBuffer.stackFrames:[Ljava/lang/StackFrameInfo;
aload 0
getfield java.lang.StackStreamFactory$StackFrameTraverser$StackFrameBuffer.origin:I
aaload
astore 1
start local 1 3: aload 0
dup
getfield java.lang.StackStreamFactory$StackFrameTraverser$StackFrameBuffer.origin:I
iconst_1
iadd
putfield java.lang.StackStreamFactory$StackFrameTraverser$StackFrameBuffer.origin:I
4: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/lang/StackStreamFactory$StackFrameTraverser$StackFrameBuffer;
3 5 1 frame Ljava/lang/StackFrameInfo;
final java.lang.Class<?> at(int);
descriptor: (I)Ljava/lang/Class;
flags: (0x0010) ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield java.lang.StackStreamFactory$StackFrameTraverser$StackFrameBuffer.stackFrames:[Ljava/lang/StackFrameInfo;
iload 1
aaload
invokevirtual java.lang.StackFrameInfo.declaringClass:()Ljava/lang/Class;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/StackStreamFactory$StackFrameTraverser$StackFrameBuffer;
0 1 1 index I
Signature: (I)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
index
java.lang.Object nextStackFrame();
descriptor: ()Ljava/lang/Object;
flags: (0x1040) ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual java.lang.StackStreamFactory$StackFrameTraverser$StackFrameBuffer.nextStackFrame:()Ljava/lang/StackFrameInfo;
areturn
LocalVariableTable:
Start End Slot Name Signature
java.lang.Object[] frames();
descriptor: ()[Ljava/lang/Object;
flags: (0x1040) ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual java.lang.StackStreamFactory$StackFrameTraverser$StackFrameBuffer.frames:()[Ljava/lang/StackFrameInfo;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
Signature: Ljava/lang/StackStreamFactory$FrameBuffer<Ljava/lang/StackFrameInfo;>;
SourceFile: "StackStreamFactory.java"
NestHost: java.lang.StackStreamFactory
InnerClasses:
abstract FrameBuffer = java.lang.StackStreamFactory$FrameBuffer of java.lang.StackStreamFactory
StackFrameTraverser = java.lang.StackStreamFactory$StackFrameTraverser of java.lang.StackStreamFactory
final StackFrameBuffer = java.lang.StackStreamFactory$StackFrameTraverser$StackFrameBuffer of java.lang.StackStreamFactory$StackFrameTraverser