class com.google.protobuf.RopeByteString$1 extends com.google.protobuf.ByteString$AbstractByteIterator
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.google.protobuf.RopeByteString$1
super_class: com.google.protobuf.ByteString$AbstractByteIterator
{
final com.google.protobuf.RopeByteString$PieceIterator pieces;
descriptor: Lcom/google/protobuf/RopeByteString$PieceIterator;
flags: (0x0010) ACC_FINAL
com.google.protobuf.ByteString$ByteIterator current;
descriptor: Lcom/google/protobuf/ByteString$ByteIterator;
flags: (0x0000)
final com.google.protobuf.RopeByteString this$0;
descriptor: Lcom/google/protobuf/RopeByteString;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(com.google.protobuf.RopeByteString);
descriptor: (Lcom/google/protobuf/RopeByteString;)V
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 // com.google.protobuf.RopeByteString$1 this
0: .line 285
aload 0 /* this */
aload 1
putfield com.google.protobuf.RopeByteString$1.this$0:Lcom/google/protobuf/RopeByteString;
aload 0 /* this */
invokespecial com.google.protobuf.ByteString$AbstractByteIterator.<init>:()V
1: .line 286
aload 0 /* this */
new com.google.protobuf.RopeByteString$PieceIterator
dup
aload 1
invokespecial com.google.protobuf.RopeByteString$PieceIterator.<init>:(Lcom/google/protobuf/ByteString;)V
putfield com.google.protobuf.RopeByteString$1.pieces:Lcom/google/protobuf/RopeByteString$PieceIterator;
2: .line 287
aload 0 /* this */
aload 0 /* this */
invokevirtual com.google.protobuf.RopeByteString$1.nextPiece:()Lcom/google/protobuf/ByteString$ByteIterator;
putfield com.google.protobuf.RopeByteString$1.current:Lcom/google/protobuf/ByteString$ByteIterator;
3: .line 285
return
end local 0 // com.google.protobuf.RopeByteString$1 this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/google/protobuf/RopeByteString$1;
MethodParameters:
Name Flags
this$0 final
private com.google.protobuf.ByteString$ByteIterator nextPiece();
descriptor: ()Lcom/google/protobuf/ByteString$ByteIterator;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 // com.google.protobuf.RopeByteString$1 this
0: .line 292
aload 0 /* this */
getfield com.google.protobuf.RopeByteString$1.pieces:Lcom/google/protobuf/RopeByteString$PieceIterator;
invokevirtual com.google.protobuf.RopeByteString$PieceIterator.hasNext:()Z
ifeq 1
aload 0 /* this */
getfield com.google.protobuf.RopeByteString$1.pieces:Lcom/google/protobuf/RopeByteString$PieceIterator;
invokevirtual com.google.protobuf.RopeByteString$PieceIterator.next:()Lcom/google/protobuf/ByteString$LeafByteString;
invokevirtual com.google.protobuf.ByteString$LeafByteString.iterator:()Lcom/google/protobuf/ByteString$ByteIterator;
goto 2
StackMap locals:
StackMap stack:
1: aconst_null
StackMap locals:
StackMap stack: com.google.protobuf.ByteString$ByteIterator
2: areturn
end local 0 // com.google.protobuf.RopeByteString$1 this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/google/protobuf/RopeByteString$1;
public boolean hasNext();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // com.google.protobuf.RopeByteString$1 this
0: .line 297
aload 0 /* this */
getfield com.google.protobuf.RopeByteString$1.current:Lcom/google/protobuf/ByteString$ByteIterator;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 // com.google.protobuf.RopeByteString$1 this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/google/protobuf/RopeByteString$1;
public byte nextByte();
descriptor: ()B
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 // com.google.protobuf.RopeByteString$1 this
0: .line 302
aload 0 /* this */
getfield com.google.protobuf.RopeByteString$1.current:Lcom/google/protobuf/ByteString$ByteIterator;
ifnonnull 2
1: .line 303
new java.util.NoSuchElementException
dup
invokespecial java.util.NoSuchElementException.<init>:()V
athrow
2: .line 305
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield com.google.protobuf.RopeByteString$1.current:Lcom/google/protobuf/ByteString$ByteIterator;
invokeinterface com.google.protobuf.ByteString$ByteIterator.nextByte:()B
istore 1 /* b */
start local 1 // byte b
3: .line 306
aload 0 /* this */
getfield com.google.protobuf.RopeByteString$1.current:Lcom/google/protobuf/ByteString$ByteIterator;
invokeinterface com.google.protobuf.ByteString$ByteIterator.hasNext:()Z
ifne 5
4: .line 307
aload 0 /* this */
aload 0 /* this */
invokevirtual com.google.protobuf.RopeByteString$1.nextPiece:()Lcom/google/protobuf/ByteString$ByteIterator;
putfield com.google.protobuf.RopeByteString$1.current:Lcom/google/protobuf/ByteString$ByteIterator;
5: .line 309
StackMap locals: int
StackMap stack:
iload 1 /* b */
ireturn
end local 1 // byte b
end local 0 // com.google.protobuf.RopeByteString$1 this
LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/google/protobuf/RopeByteString$1;
3 6 1 b B
}
SourceFile: "RopeByteString.java"
EnclosingMethod: com.google.protobuf.RopeByteString.iterator:()Lcom/google/protobuf/ByteString$ByteIterator;
NestHost: com.google.protobuf.RopeByteString
InnerClasses:
abstract AbstractByteIterator = com.google.protobuf.ByteString$AbstractByteIterator of com.google.protobuf.ByteString
public abstract ByteIterator = com.google.protobuf.ByteString$ByteIterator of com.google.protobuf.ByteString
abstract LeafByteString = com.google.protobuf.ByteString$LeafByteString of com.google.protobuf.ByteString
com.google.protobuf.RopeByteString$1
private final PieceIterator = com.google.protobuf.RopeByteString$PieceIterator of com.google.protobuf.RopeByteString