final class com.google.common.hash.HashCode$BytesHashCode extends com.google.common.hash.HashCode implements java.io.Serializable
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.google.common.hash.HashCode$BytesHashCode
super_class: com.google.common.hash.HashCode
{
final byte[] bytes;
descriptor: [B
flags: (0x0010) ACC_FINAL
private static final long serialVersionUID;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
void <init>(byte[]);
descriptor: ([B)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial com.google.common.hash.HashCode.<init>:()V
1: aload 0
aload 1
invokestatic com.google.common.base.Preconditions.checkNotNull:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast byte[]
putfield com.google.common.hash.HashCode$BytesHashCode.bytes:[B
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/google/common/hash/HashCode$BytesHashCode;
0 3 1 bytes [B
MethodParameters:
Name Flags
bytes
public int bits();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.google.common.hash.HashCode$BytesHashCode.bytes:[B
arraylength
bipush 8
imul
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/common/hash/HashCode$BytesHashCode;
public byte[] asBytes();
descriptor: ()[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.google.common.hash.HashCode$BytesHashCode.bytes:[B
invokevirtual byte[].clone:()Ljava/lang/Object;
checkcast byte[]
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/common/hash/HashCode$BytesHashCode;
public int asInt();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield com.google.common.hash.HashCode$BytesHashCode.bytes:[B
arraylength
iconst_4
if_icmplt 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
2: StackMap locals:
StackMap stack: int
ldc "HashCode#asInt() requires >= 4 bytes (it only has %s bytes)."
3: aload 0
getfield com.google.common.hash.HashCode$BytesHashCode.bytes:[B
arraylength
4: invokestatic com.google.common.base.Preconditions.checkState:(ZLjava/lang/String;I)V
5: aload 0
getfield com.google.common.hash.HashCode$BytesHashCode.bytes:[B
iconst_0
baload
sipush 255
iand
6: aload 0
getfield com.google.common.hash.HashCode$BytesHashCode.bytes:[B
iconst_1
baload
sipush 255
iand
bipush 8
ishl
7: ior
8: aload 0
getfield com.google.common.hash.HashCode$BytesHashCode.bytes:[B
iconst_2
baload
sipush 255
iand
bipush 16
ishl
9: ior
10: aload 0
getfield com.google.common.hash.HashCode$BytesHashCode.bytes:[B
iconst_3
baload
sipush 255
iand
bipush 24
ishl
11: ior
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/google/common/hash/HashCode$BytesHashCode;
public long asLong();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield com.google.common.hash.HashCode$BytesHashCode.bytes:[B
arraylength
bipush 8
if_icmplt 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
2: StackMap locals:
StackMap stack: int
ldc "HashCode#asLong() requires >= 8 bytes (it only has %s bytes)."
3: aload 0
getfield com.google.common.hash.HashCode$BytesHashCode.bytes:[B
arraylength
4: invokestatic com.google.common.base.Preconditions.checkState:(ZLjava/lang/String;I)V
5: aload 0
invokevirtual com.google.common.hash.HashCode$BytesHashCode.padToLong:()J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/google/common/hash/HashCode$BytesHashCode;
public long padToLong();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=1
start local 0 0: aload 0
getfield com.google.common.hash.HashCode$BytesHashCode.bytes:[B
iconst_0
baload
sipush 255
iand
i2l
lstore 1
start local 1 1: iconst_1
istore 3
start local 3 2: goto 5
3: StackMap locals: long int
StackMap stack:
lload 1
aload 0
getfield com.google.common.hash.HashCode$BytesHashCode.bytes:[B
iload 3
baload
i2l
ldc 255
land
iload 3
bipush 8
imul
lshl
lor
lstore 1
4: iinc 3 1
StackMap locals:
StackMap stack:
5: iload 3
aload 0
getfield com.google.common.hash.HashCode$BytesHashCode.bytes:[B
arraylength
bipush 8
invokestatic java.lang.Math.min:(II)I
if_icmplt 3
end local 3 6: lload 1
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/google/common/hash/HashCode$BytesHashCode;
1 7 1 retVal J
2 6 3 i I
void writeBytesToImpl(byte[], int, int);
descriptor: ([BII)V
flags: (0x0000)
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield com.google.common.hash.HashCode$BytesHashCode.bytes:[B
iconst_0
aload 1
iload 2
iload 3
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/google/common/hash/HashCode$BytesHashCode;
0 2 1 dest [B
0 2 2 offset I
0 2 3 maxLength I
MethodParameters:
Name Flags
dest
offset
maxLength
byte[] getBytesInternal();
descriptor: ()[B
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.google.common.hash.HashCode$BytesHashCode.bytes:[B
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/common/hash/HashCode$BytesHashCode;
boolean equalsSameBits(com.google.common.hash.HashCode);
descriptor: (Lcom/google/common/hash/HashCode;)Z
flags: (0x0000)
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield com.google.common.hash.HashCode$BytesHashCode.bytes:[B
arraylength
aload 1
invokevirtual com.google.common.hash.HashCode.getBytesInternal:()[B
arraylength
if_icmpeq 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
iconst_1
istore 2
start local 2 3: iconst_0
istore 3
start local 3 4: goto 9
5: StackMap locals: int int
StackMap stack:
iload 2
aload 0
getfield com.google.common.hash.HashCode$BytesHashCode.bytes:[B
iload 3
baload
aload 1
invokevirtual com.google.common.hash.HashCode.getBytesInternal:()[B
iload 3
baload
if_icmpne 6
iconst_1
goto 7
StackMap locals:
StackMap stack: int
6: iconst_0
StackMap locals: com.google.common.hash.HashCode$BytesHashCode com.google.common.hash.HashCode int int
StackMap stack: int int
7: iand
istore 2
8: iinc 3 1
StackMap locals:
StackMap stack:
9: iload 3
aload 0
getfield com.google.common.hash.HashCode$BytesHashCode.bytes:[B
arraylength
if_icmplt 5
end local 3 10: iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/google/common/hash/HashCode$BytesHashCode;
0 11 1 that Lcom/google/common/hash/HashCode;
3 11 2 areEqual Z
4 10 3 i I
MethodParameters:
Name Flags
that
}
SourceFile: "HashCode.java"
NestHost: com.google.common.hash.HashCode
InnerClasses:
private final BytesHashCode = com.google.common.hash.HashCode$BytesHashCode of com.google.common.hash.HashCode