class com.google.protobuf.Utf8$DecodeUtil
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.google.protobuf.Utf8$DecodeUtil
super_class: java.lang.Object
{
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/protobuf/Utf8$DecodeUtil;
private static boolean isOneByte(byte);
descriptor: (B)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iload 0
iflt 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 b B
MethodParameters:
Name Flags
b
private static boolean isTwoBytes(byte);
descriptor: (B)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
bipush -32
if_icmpge 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 b B
MethodParameters:
Name Flags
b
private static boolean isThreeBytes(byte);
descriptor: (B)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
bipush -16
if_icmpge 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 b B
MethodParameters:
Name Flags
b
private static void handleOneByte(byte, char[], int);
descriptor: (B[CI)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
iload 2
iload 0
i2c
castore
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 byte1 B
0 2 1 resultArr [C
0 2 2 resultPos I
MethodParameters:
Name Flags
byte1
resultArr
resultPos
private static void handleTwoBytes(byte, byte, char[], int);
descriptor: (BB[CI)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 0
bipush -62
if_icmplt 1
iload 1
invokestatic com.google.protobuf.Utf8$DecodeUtil.isNotTrailingByte:(B)Z
ifeq 2
1: StackMap locals:
StackMap stack:
invokestatic com.google.protobuf.InvalidProtocolBufferException.invalidUtf8:()Lcom/google/protobuf/InvalidProtocolBufferException;
athrow
2: StackMap locals:
StackMap stack:
aload 2
iload 3
iload 0
bipush 31
iand
bipush 6
ishl
iload 1
invokestatic com.google.protobuf.Utf8$DecodeUtil.trailingByteValue:(B)I
ior
i2c
castore
3: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 byte1 B
0 4 1 byte2 B
0 4 2 resultArr [C
0 4 3 resultPos I
Exceptions:
throws com.google.protobuf.InvalidProtocolBufferException
MethodParameters:
Name Flags
byte1
byte2
resultArr
resultPos
private static void handleThreeBytes(byte, byte, byte, char[], int);
descriptor: (BBB[CI)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iload 1
invokestatic com.google.protobuf.Utf8$DecodeUtil.isNotTrailingByte:(B)Z
ifne 4
1: iload 0
bipush -32
if_icmpne 2
iload 1
bipush -96
if_icmplt 4
2: StackMap locals:
StackMap stack:
iload 0
bipush -19
if_icmpne 3
iload 1
bipush -96
if_icmpge 4
3: StackMap locals:
StackMap stack:
iload 2
invokestatic com.google.protobuf.Utf8$DecodeUtil.isNotTrailingByte:(B)Z
ifeq 5
4: StackMap locals:
StackMap stack:
invokestatic com.google.protobuf.InvalidProtocolBufferException.invalidUtf8:()Lcom/google/protobuf/InvalidProtocolBufferException;
athrow
5: StackMap locals:
StackMap stack:
aload 3
iload 4
6: iload 0
bipush 15
iand
bipush 12
ishl
iload 1
invokestatic com.google.protobuf.Utf8$DecodeUtil.trailingByteValue:(B)I
bipush 6
ishl
ior
iload 2
invokestatic com.google.protobuf.Utf8$DecodeUtil.trailingByteValue:(B)I
ior
i2c
7: castore
8: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 byte1 B
0 9 1 byte2 B
0 9 2 byte3 B
0 9 3 resultArr [C
0 9 4 resultPos I
Exceptions:
throws com.google.protobuf.InvalidProtocolBufferException
MethodParameters:
Name Flags
byte1
byte2
byte3
resultArr
resultPos
private static void handleFourBytes(byte, byte, byte, byte, char[], int);
descriptor: (BBBB[CI)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=7, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: iload 1
invokestatic com.google.protobuf.Utf8$DecodeUtil.isNotTrailingByte:(B)Z
ifne 4
1: iload 0
bipush 28
ishl
iload 1
bipush -112
isub
iadd
bipush 30
ishr
ifne 4
2: iload 2
invokestatic com.google.protobuf.Utf8$DecodeUtil.isNotTrailingByte:(B)Z
ifne 4
3: iload 3
invokestatic com.google.protobuf.Utf8$DecodeUtil.isNotTrailingByte:(B)Z
ifeq 5
4: StackMap locals:
StackMap stack:
invokestatic com.google.protobuf.InvalidProtocolBufferException.invalidUtf8:()Lcom/google/protobuf/InvalidProtocolBufferException;
athrow
5: StackMap locals:
StackMap stack:
iload 0
bipush 7
iand
bipush 18
ishl
6: iload 1
invokestatic com.google.protobuf.Utf8$DecodeUtil.trailingByteValue:(B)I
bipush 12
ishl
7: ior
8: iload 2
invokestatic com.google.protobuf.Utf8$DecodeUtil.trailingByteValue:(B)I
bipush 6
ishl
9: ior
10: iload 3
invokestatic com.google.protobuf.Utf8$DecodeUtil.trailingByteValue:(B)I
11: ior
12: istore 6
start local 6 13: aload 4
iload 5
iload 6
invokestatic com.google.protobuf.Utf8$DecodeUtil.highSurrogate:(I)C
castore
14: aload 4
iload 5
iconst_1
iadd
iload 6
invokestatic com.google.protobuf.Utf8$DecodeUtil.lowSurrogate:(I)C
castore
15: return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 byte1 B
0 16 1 byte2 B
0 16 2 byte3 B
0 16 3 byte4 B
0 16 4 resultArr [C
0 16 5 resultPos I
13 16 6 codepoint I
Exceptions:
throws com.google.protobuf.InvalidProtocolBufferException
MethodParameters:
Name Flags
byte1
byte2
byte3
byte4
resultArr
resultPos
private static boolean isNotTrailingByte(byte);
descriptor: (B)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
bipush -65
if_icmple 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 b B
MethodParameters:
Name Flags
b
private static int trailingByteValue(byte);
descriptor: (B)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
bipush 63
iand
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 b B
MethodParameters:
Name Flags
b
private static char highSurrogate(int);
descriptor: (I)C
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: ldc 55232
iload 0
bipush 10
iushr
iadd
i2c
1: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 codePoint I
MethodParameters:
Name Flags
codePoint
private static char lowSurrogate(int);
descriptor: (I)C
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: ldc 56320
iload 0
sipush 1023
iand
iadd
i2c
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 codePoint I
MethodParameters:
Name Flags
codePoint
}
SourceFile: "Utf8.java"
NestHost: com.google.protobuf.Utf8
InnerClasses:
private DecodeUtil = com.google.protobuf.Utf8$DecodeUtil of com.google.protobuf.Utf8