class com.google.common.io.ByteSource$ByteArrayByteSource extends com.google.common.io.ByteSource
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.google.common.io.ByteSource$ByteArrayByteSource
super_class: com.google.common.io.ByteSource
{
final byte[] bytes;
descriptor: [B
flags: (0x0010) ACC_FINAL
final int offset;
descriptor: I
flags: (0x0010) ACC_FINAL
final int length;
descriptor: I
flags: (0x0010) ACC_FINAL
void <init>(byte[]);
descriptor: ([B)V
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
aload 1
arraylength
invokespecial com.google.common.io.ByteSource$ByteArrayByteSource.<init>:([BII)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/google/common/io/ByteSource$ByteArrayByteSource;
0 2 1 bytes [B
MethodParameters:
Name Flags
bytes
void <init>(byte[], int, int);
descriptor: ([BII)V
flags: (0x0000)
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial com.google.common.io.ByteSource.<init>:()V
1: aload 0
aload 1
putfield com.google.common.io.ByteSource$ByteArrayByteSource.bytes:[B
2: aload 0
iload 2
putfield com.google.common.io.ByteSource$ByteArrayByteSource.offset:I
3: aload 0
iload 3
putfield com.google.common.io.ByteSource$ByteArrayByteSource.length:I
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/google/common/io/ByteSource$ByteArrayByteSource;
0 5 1 bytes [B
0 5 2 offset I
0 5 3 length I
MethodParameters:
Name Flags
bytes
offset
length
public java.io.InputStream openStream();
descriptor: ()Ljava/io/InputStream;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: new java.io.ByteArrayInputStream
dup
aload 0
getfield com.google.common.io.ByteSource$ByteArrayByteSource.bytes:[B
aload 0
getfield com.google.common.io.ByteSource$ByteArrayByteSource.offset:I
aload 0
getfield com.google.common.io.ByteSource$ByteArrayByteSource.length:I
invokespecial java.io.ByteArrayInputStream.<init>:([BII)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/common/io/ByteSource$ByteArrayByteSource;
public java.io.InputStream openBufferedStream();
descriptor: ()Ljava/io/InputStream;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.google.common.io.ByteSource$ByteArrayByteSource.openStream:()Ljava/io/InputStream;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/common/io/ByteSource$ByteArrayByteSource;
Exceptions:
throws java.io.IOException
public boolean isEmpty();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.google.common.io.ByteSource$ByteArrayByteSource.length:I
ifne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/google/common/io/ByteSource$ByteArrayByteSource;
public long size();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.google.common.io.ByteSource$ByteArrayByteSource.length:I
i2l
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/common/io/ByteSource$ByteArrayByteSource;
public com.google.common.base.Optional<java.lang.Long> sizeIfKnown();
descriptor: ()Lcom/google/common/base/Optional;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.google.common.io.ByteSource$ByteArrayByteSource.length:I
i2l
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokestatic com.google.common.base.Optional.of:(Ljava/lang/Object;)Lcom/google/common/base/Optional;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/common/io/ByteSource$ByteArrayByteSource;
Signature: ()Lcom/google/common/base/Optional<Ljava/lang/Long;>;
public byte[] read();
descriptor: ()[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield com.google.common.io.ByteSource$ByteArrayByteSource.bytes:[B
aload 0
getfield com.google.common.io.ByteSource$ByteArrayByteSource.offset:I
aload 0
getfield com.google.common.io.ByteSource$ByteArrayByteSource.offset:I
aload 0
getfield com.google.common.io.ByteSource$ByteArrayByteSource.length:I
iadd
invokestatic java.util.Arrays.copyOfRange:([BII)[B
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/common/io/ByteSource$ByteArrayByteSource;
public <T> T read(com.google.common.io.ByteProcessor<T>);
descriptor: (Lcom/google/common/io/ByteProcessor;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
getfield com.google.common.io.ByteSource$ByteArrayByteSource.bytes:[B
aload 0
getfield com.google.common.io.ByteSource$ByteArrayByteSource.offset:I
aload 0
getfield com.google.common.io.ByteSource$ByteArrayByteSource.length:I
invokeinterface com.google.common.io.ByteProcessor.processBytes:([BII)Z
pop
1: aload 1
invokeinterface com.google.common.io.ByteProcessor.getResult:()Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/google/common/io/ByteSource$ByteArrayByteSource;
0 2 1 processor Lcom/google/common/io/ByteProcessor<TT;>;
Exceptions:
throws java.io.IOException
Signature: <T:Ljava/lang/Object;>(Lcom/google/common/io/ByteProcessor<TT;>;)TT;
MethodParameters:
Name Flags
processor
public long copyTo(java.io.OutputStream);
descriptor: (Ljava/io/OutputStream;)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
getfield com.google.common.io.ByteSource$ByteArrayByteSource.bytes:[B
aload 0
getfield com.google.common.io.ByteSource$ByteArrayByteSource.offset:I
aload 0
getfield com.google.common.io.ByteSource$ByteArrayByteSource.length:I
invokevirtual java.io.OutputStream.write:([BII)V
1: aload 0
getfield com.google.common.io.ByteSource$ByteArrayByteSource.length:I
i2l
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/google/common/io/ByteSource$ByteArrayByteSource;
0 2 1 output Ljava/io/OutputStream;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
output
public com.google.common.hash.HashCode hash(com.google.common.hash.HashFunction);
descriptor: (Lcom/google/common/hash/HashFunction;)Lcom/google/common/hash/HashCode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
getfield com.google.common.io.ByteSource$ByteArrayByteSource.bytes:[B
aload 0
getfield com.google.common.io.ByteSource$ByteArrayByteSource.offset:I
aload 0
getfield com.google.common.io.ByteSource$ByteArrayByteSource.length:I
invokeinterface com.google.common.hash.HashFunction.hashBytes:([BII)Lcom/google/common/hash/HashCode;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/common/io/ByteSource$ByteArrayByteSource;
0 1 1 hashFunction Lcom/google/common/hash/HashFunction;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
hashFunction
public com.google.common.io.ByteSource slice(long, long);
descriptor: (JJ)Lcom/google/common/io/ByteSource;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=3
start local 0 start local 1 start local 3 0: lload 1
lconst_0
lcmp
iflt 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ldc "offset (%s) may not be negative"
lload 1
invokestatic com.google.common.base.Preconditions.checkArgument:(ZLjava/lang/String;J)V
3: lload 3
lconst_0
lcmp
iflt 4
iconst_1
goto 5
StackMap locals:
StackMap stack:
4: iconst_0
StackMap locals:
StackMap stack: int
5: ldc "length (%s) may not be negative"
lload 3
invokestatic com.google.common.base.Preconditions.checkArgument:(ZLjava/lang/String;J)V
6: lload 1
aload 0
getfield com.google.common.io.ByteSource$ByteArrayByteSource.length:I
i2l
invokestatic java.lang.Math.min:(JJ)J
lstore 1
7: lload 3
aload 0
getfield com.google.common.io.ByteSource$ByteArrayByteSource.length:I
i2l
lload 1
lsub
invokestatic java.lang.Math.min:(JJ)J
lstore 3
8: aload 0
getfield com.google.common.io.ByteSource$ByteArrayByteSource.offset:I
lload 1
l2i
iadd
istore 5
start local 5 9: new com.google.common.io.ByteSource$ByteArrayByteSource
dup
aload 0
getfield com.google.common.io.ByteSource$ByteArrayByteSource.bytes:[B
iload 5
lload 3
l2i
invokespecial com.google.common.io.ByteSource$ByteArrayByteSource.<init>:([BII)V
areturn
end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/google/common/io/ByteSource$ByteArrayByteSource;
0 10 1 offset J
0 10 3 length J
9 10 5 newOffset I
MethodParameters:
Name Flags
offset
length
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "ByteSource.wrap("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
1: invokestatic com.google.common.io.BaseEncoding.base16:()Lcom/google/common/io/BaseEncoding;
aload 0
getfield com.google.common.io.ByteSource$ByteArrayByteSource.bytes:[B
aload 0
getfield com.google.common.io.ByteSource$ByteArrayByteSource.offset:I
aload 0
getfield com.google.common.io.ByteSource$ByteArrayByteSource.length:I
invokevirtual com.google.common.io.BaseEncoding.encode:([BII)Ljava/lang/String;
bipush 30
ldc "..."
invokestatic com.google.common.base.Ascii.truncate:(Ljava/lang/CharSequence;ILjava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
2: ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
3: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/google/common/io/ByteSource$ByteArrayByteSource;
}
SourceFile: "ByteSource.java"
NestHost: com.google.common.io.ByteSource
InnerClasses:
private ByteArrayByteSource = com.google.common.io.ByteSource$ByteArrayByteSource of com.google.common.io.ByteSource