public class com.oracle.graal.python.charset.PythonUnicodeEscapeCharsetDecoder extends java.nio.charset.CharsetDecoder
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.graal.python.charset.PythonUnicodeEscapeCharsetDecoder
super_class: java.nio.charset.CharsetDecoder
{
private int octalCodePoint;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int octalLength;
descriptor: I
flags: (0x0002) ACC_PRIVATE
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 Lcom/oracle/graal/python/charset/PythonUnicodeEscapeCharsetDecoder;
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 com.oracle.graal.python.charset.PythonUnicodeEscapeCharsetDecoder.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
protected void <init>(java.nio.charset.Charset);
descriptor: (Ljava/nio/charset/Charset;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
fconst_1
fconst_1
invokespecial java.nio.charset.CharsetDecoder.<init>:(Ljava/nio/charset/Charset;FF)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/graal/python/charset/PythonUnicodeEscapeCharsetDecoder;
0 2 1 cs Ljava/nio/charset/Charset;
MethodParameters:
Name Flags
cs
static java.nio.charset.CoderResult decodeHexUnicodeEscape(java.nio.ByteBuffer, java.nio.CharBuffer, byte, int);
descriptor: (Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;BI)Ljava/nio/charset/CoderResult;
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 2
lookupswitch { // 3
85: 5
117: 3
120: 1
default: 7
}
1: StackMap locals:
StackMap stack:
iconst_2
istore 4
start local 4 2: goto 8
end local 4 3: StackMap locals:
StackMap stack:
iconst_4
istore 4
start local 4 4: goto 8
end local 4 5: StackMap locals:
StackMap stack:
bipush 8
istore 4
start local 4 6: goto 8
end local 4 7: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
invokespecial java.lang.IllegalArgumentException.<init>:()V
athrow
start local 4 8: StackMap locals: int
StackMap stack:
aload 0
invokevirtual java.nio.ByteBuffer.remaining:()I
iload 4
if_icmpge 11
9: aload 0
iload 3
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
pop
10: getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
areturn
11: StackMap locals:
StackMap stack:
iload 4
newarray 8
astore 5
start local 5 12: aload 0
aload 5
iconst_0
iload 4
invokevirtual java.nio.ByteBuffer.get:([BII)Ljava/nio/ByteBuffer;
pop
13: new java.lang.String
dup
aload 5
iconst_0
iload 4
getstatic java.nio.charset.StandardCharsets.US_ASCII:Ljava/nio/charset/Charset;
invokespecial java.lang.String.<init>:([BIILjava/nio/charset/Charset;)V
bipush 16
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;I)I
istore 6
start local 6 14: goto 19
end local 6 StackMap locals: java.nio.ByteBuffer java.nio.CharBuffer int int int byte[]
StackMap stack: java.lang.NumberFormatException
15: pop
16: aload 0
invokevirtual java.nio.ByteBuffer.position:()I
istore 7
start local 7 17: aload 0
iload 3
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
pop
18: iload 7
iload 3
isub
invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
areturn
end local 7 start local 6 19: StackMap locals: int
StackMap stack:
aload 0
aload 1
iload 6
iload 3
invokestatic com.oracle.graal.python.charset.PythonUnicodeEscapeCharsetDecoder.outputCodePoint:(Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;II)Ljava/nio/charset/CoderResult;
areturn
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 20 0 source Ljava/nio/ByteBuffer;
0 20 1 target Ljava/nio/CharBuffer;
0 20 2 b B
0 20 3 initialPosition I
2 3 4 count I
4 5 4 count I
6 7 4 count I
8 20 4 count I
12 20 5 numbuf [B
14 15 6 codePoint I
19 20 6 codePoint I
17 19 7 pos I
Exception table:
from to target type
13 14 15 Class java.lang.NumberFormatException
MethodParameters:
Name Flags
source
target
b
initialPosition
static java.nio.charset.CoderResult outputCodePoint(java.nio.ByteBuffer, java.nio.CharBuffer, int, int);
descriptor: (Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;II)Ljava/nio/charset/CoderResult;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 2
invokestatic java.lang.Character.isValidCodePoint:(I)Z
ifne 4
1: aload 0
invokevirtual java.nio.ByteBuffer.position:()I
istore 4
start local 4 2: aload 0
iload 3
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
pop
3: iload 4
iload 3
isub
invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
areturn
end local 4 4: StackMap locals:
StackMap stack:
iload 2
invokestatic java.lang.Character.charCount:(I)I
iconst_2
if_icmpne 12
5: aload 1
iload 2
invokestatic java.lang.Character.highSurrogate:(I)C
invokevirtual java.nio.CharBuffer.put:(C)Ljava/nio/CharBuffer;
pop
6: aload 1
invokevirtual java.nio.CharBuffer.hasRemaining:()Z
ifne 10
7: aload 0
iload 3
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
pop
8: aload 1
aload 1
invokevirtual java.nio.CharBuffer.position:()I
iconst_1
isub
invokevirtual java.nio.CharBuffer.position:(I)Ljava/nio/CharBuffer;
pop
9: getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
areturn
10: StackMap locals:
StackMap stack:
aload 1
iload 2
invokestatic java.lang.Character.lowSurrogate:(I)C
invokevirtual java.nio.CharBuffer.put:(C)Ljava/nio/CharBuffer;
pop
11: goto 13
12: StackMap locals:
StackMap stack:
aload 1
iload 2
i2c
invokevirtual java.nio.CharBuffer.put:(C)Ljava/nio/CharBuffer;
pop
13: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 source Ljava/nio/ByteBuffer;
0 14 1 target Ljava/nio/CharBuffer;
0 14 2 codePoint I
0 14 3 initialPosition I
2 4 4 pos I
MethodParameters:
Name Flags
source
target
codePoint
initialPosition
protected java.nio.charset.CoderResult decodeLoop(java.nio.ByteBuffer, java.nio.CharBuffer);
descriptor: (Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=9, args_size=3
start local 0 start local 1 start local 2 0: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 2
1: getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
areturn
2: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.nio.CharBuffer.hasRemaining:()Z
ifne 4
3: getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
areturn
4: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.position:()I
istore 3
start local 3 5: aload 1
invokevirtual java.nio.ByteBuffer.get:()B
istore 4
start local 4 6: iload 4
bipush 92
if_icmpne 66
7: aload 1
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 10
8: aload 1
iload 3
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
pop
9: getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
areturn
10: StackMap locals: int int
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.get:()B
istore 4
11: iload 4
bipush 48
if_icmplt 15
iload 4
bipush 55
if_icmpgt 15
12: aload 0
iconst_1
putfield com.oracle.graal.python.charset.PythonUnicodeEscapeCharsetDecoder.octalLength:I
13: aload 0
iload 4
bipush 48
isub
putfield com.oracle.graal.python.charset.PythonUnicodeEscapeCharsetDecoder.octalCodePoint:I
14: goto 0
15: StackMap locals:
StackMap stack:
iload 4
lookupswitch { // 16
10: 36
13: 36
34: 32
39: 34
78: 40
85: 37
92: 16
97: 18
98: 20
102: 22
110: 24
114: 26
116: 28
117: 37
118: 30
120: 37
default: 63
}
16: StackMap locals:
StackMap stack:
aload 2
bipush 92
invokevirtual java.nio.CharBuffer.put:(C)Ljava/nio/CharBuffer;
pop
17: goto 0
18: StackMap locals:
StackMap stack:
aload 2
bipush 7
invokevirtual java.nio.CharBuffer.put:(C)Ljava/nio/CharBuffer;
pop
19: goto 0
20: StackMap locals:
StackMap stack:
aload 2
bipush 8
invokevirtual java.nio.CharBuffer.put:(C)Ljava/nio/CharBuffer;
pop
21: goto 0
22: StackMap locals:
StackMap stack:
aload 2
bipush 12
invokevirtual java.nio.CharBuffer.put:(C)Ljava/nio/CharBuffer;
pop
23: goto 0
24: StackMap locals:
StackMap stack:
aload 2
bipush 10
invokevirtual java.nio.CharBuffer.put:(C)Ljava/nio/CharBuffer;
pop
25: goto 0
26: StackMap locals:
StackMap stack:
aload 2
bipush 13
invokevirtual java.nio.CharBuffer.put:(C)Ljava/nio/CharBuffer;
pop
27: goto 0
28: StackMap locals:
StackMap stack:
aload 2
bipush 9
invokevirtual java.nio.CharBuffer.put:(C)Ljava/nio/CharBuffer;
pop
29: goto 0
30: StackMap locals:
StackMap stack:
aload 2
bipush 11
invokevirtual java.nio.CharBuffer.put:(C)Ljava/nio/CharBuffer;
pop
31: goto 0
32: StackMap locals:
StackMap stack:
aload 2
bipush 34
invokevirtual java.nio.CharBuffer.put:(C)Ljava/nio/CharBuffer;
pop
33: goto 0
34: StackMap locals:
StackMap stack:
aload 2
bipush 39
invokevirtual java.nio.CharBuffer.put:(C)Ljava/nio/CharBuffer;
pop
35: goto 0
36: StackMap locals:
StackMap stack:
goto 0
37: StackMap locals:
StackMap stack:
aload 1
aload 2
iload 4
iload 3
invokestatic com.oracle.graal.python.charset.PythonUnicodeEscapeCharsetDecoder.decodeHexUnicodeEscape:(Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;BI)Ljava/nio/charset/CoderResult;
astore 5
start local 5 38: aload 5
ifnull 0
39: aload 5
areturn
end local 5 40: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 43
41: aload 1
iload 3
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
pop
42: getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
areturn
43: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.get:()B
istore 4
44: iload 4
bipush 123
if_icmpeq 47
45: aload 1
iload 3
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
pop
46: iconst_2
invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
areturn
47: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 50
48: aload 1
iload 3
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
pop
49: getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
areturn
50: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.get:()B
istore 4
51: iload 4
bipush 125
if_icmpne 47
52: aload 1
invokevirtual java.nio.ByteBuffer.position:()I
istore 6
start local 6 53: aload 1
iload 3
iconst_3
iadd
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
pop
54: iload 6
aload 1
invokevirtual java.nio.ByteBuffer.position:()I
isub
iconst_1
isub
newarray 8
astore 7
start local 7 55: aload 1
aload 7
invokevirtual java.nio.ByteBuffer.get:([B)Ljava/nio/ByteBuffer;
pop
56: new java.lang.String
dup
aload 7
getstatic java.nio.charset.StandardCharsets.US_ASCII:Ljava/nio/charset/Charset;
invokespecial java.lang.String.<init>:([BLjava/nio/charset/Charset;)V
invokestatic com.oracle.graal.python.parser.sst.StringUtils.getCodePoint:(Ljava/lang/String;)I
istore 8
start local 8 57: iload 8
ifge 60
58: aload 1
iload 3
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
pop
59: iload 6
iload 3
isub
invokestatic java.nio.charset.CoderResult.malformedForLength:(I)Ljava/nio/charset/CoderResult;
areturn
60: StackMap locals: com.oracle.graal.python.charset.PythonUnicodeEscapeCharsetDecoder java.nio.ByteBuffer java.nio.CharBuffer int int top int byte[] int
StackMap stack:
aload 1
aload 2
iload 8
iload 3
invokestatic com.oracle.graal.python.charset.PythonUnicodeEscapeCharsetDecoder.outputCodePoint:(Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;II)Ljava/nio/charset/CoderResult;
astore 5
start local 5 61: aload 5
ifnull 0
62: aload 5
areturn
end local 8 end local 7 end local 6 end local 5 63: StackMap locals: com.oracle.graal.python.charset.PythonUnicodeEscapeCharsetDecoder java.nio.ByteBuffer java.nio.CharBuffer int int
StackMap stack:
aload 2
bipush 92
invokevirtual java.nio.CharBuffer.put:(C)Ljava/nio/CharBuffer;
pop
64: aload 1
aload 1
invokevirtual java.nio.ByteBuffer.position:()I
iconst_1
isub
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
pop
65: goto 0
66: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.graal.python.charset.PythonUnicodeEscapeCharsetDecoder.octalLength:I
ifle 72
iload 4
bipush 48
if_icmplt 72
iload 4
bipush 55
if_icmpgt 72
67: aload 0
dup
getfield com.oracle.graal.python.charset.PythonUnicodeEscapeCharsetDecoder.octalLength:I
iconst_1
iadd
putfield com.oracle.graal.python.charset.PythonUnicodeEscapeCharsetDecoder.octalLength:I
68: aload 0
aload 0
getfield com.oracle.graal.python.charset.PythonUnicodeEscapeCharsetDecoder.octalCodePoint:I
bipush 8
imul
iload 4
bipush 48
isub
iadd
putfield com.oracle.graal.python.charset.PythonUnicodeEscapeCharsetDecoder.octalCodePoint:I
69: aload 0
getfield com.oracle.graal.python.charset.PythonUnicodeEscapeCharsetDecoder.octalLength:I
iconst_3
if_icmplt 0
70: aload 0
aload 2
invokevirtual com.oracle.graal.python.charset.PythonUnicodeEscapeCharsetDecoder.outputOctal:(Ljava/nio/CharBuffer;)V
71: goto 0
72: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.graal.python.charset.PythonUnicodeEscapeCharsetDecoder.octalLength:I
iconst_1
if_icmplt 76
73: aload 0
aload 2
invokevirtual com.oracle.graal.python.charset.PythonUnicodeEscapeCharsetDecoder.outputOctal:(Ljava/nio/CharBuffer;)V
74: aload 2
invokevirtual java.nio.CharBuffer.hasRemaining:()Z
ifne 76
75: getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
areturn
76: StackMap locals:
StackMap stack:
aload 2
iload 4
i2c
invokevirtual java.nio.CharBuffer.put:(C)Ljava/nio/CharBuffer;
pop
end local 4 end local 3 77: goto 0
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 78 0 this Lcom/oracle/graal/python/charset/PythonUnicodeEscapeCharsetDecoder;
0 78 1 source Ljava/nio/ByteBuffer;
0 78 2 target Ljava/nio/CharBuffer;
5 77 3 initialPosition I
6 77 4 b B
38 40 5 result Ljava/nio/charset/CoderResult;
61 63 5 result Ljava/nio/charset/CoderResult;
53 63 6 end I
55 63 7 nameBytes [B
57 63 8 codePoint I
MethodParameters:
Name Flags
source
target
private void outputOctal(java.nio.CharBuffer);
descriptor: (Ljava/nio/CharBuffer;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: getstatic com.oracle.graal.python.charset.PythonUnicodeEscapeCharsetDecoder.$assertionsDisabled:Z
ifne 2
aload 0
getfield com.oracle.graal.python.charset.PythonUnicodeEscapeCharsetDecoder.octalCodePoint:I
invokestatic java.lang.Character.isValidCodePoint:(I)Z
ifeq 1
aload 0
getfield com.oracle.graal.python.charset.PythonUnicodeEscapeCharsetDecoder.octalCodePoint:I
invokestatic java.lang.Character.charCount:(I)I
iconst_1
if_icmpeq 2
StackMap locals:
StackMap stack:
1: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield com.oracle.graal.python.charset.PythonUnicodeEscapeCharsetDecoder.octalCodePoint:I
i2c
invokevirtual java.nio.CharBuffer.put:(C)Ljava/nio/CharBuffer;
pop
3: aload 0
iconst_0
putfield com.oracle.graal.python.charset.PythonUnicodeEscapeCharsetDecoder.octalCodePoint:I
4: aload 0
iconst_0
putfield com.oracle.graal.python.charset.PythonUnicodeEscapeCharsetDecoder.octalLength:I
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/graal/python/charset/PythonUnicodeEscapeCharsetDecoder;
0 6 1 target Ljava/nio/CharBuffer;
MethodParameters:
Name Flags
target
protected void implReset();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
putfield com.oracle.graal.python.charset.PythonUnicodeEscapeCharsetDecoder.octalCodePoint:I
1: aload 0
iconst_0
putfield com.oracle.graal.python.charset.PythonUnicodeEscapeCharsetDecoder.octalLength:I
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/graal/python/charset/PythonUnicodeEscapeCharsetDecoder;
protected java.nio.charset.CoderResult implFlush(java.nio.CharBuffer);
descriptor: (Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.graal.python.charset.PythonUnicodeEscapeCharsetDecoder.octalLength:I
ifle 4
1: aload 1
invokevirtual java.nio.CharBuffer.hasRemaining:()Z
ifne 3
2: getstatic java.nio.charset.CoderResult.OVERFLOW:Ljava/nio/charset/CoderResult;
areturn
3: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.oracle.graal.python.charset.PythonUnicodeEscapeCharsetDecoder.outputOctal:(Ljava/nio/CharBuffer;)V
4: StackMap locals:
StackMap stack:
getstatic java.nio.charset.CoderResult.UNDERFLOW:Ljava/nio/charset/CoderResult;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/graal/python/charset/PythonUnicodeEscapeCharsetDecoder;
0 5 1 target Ljava/nio/CharBuffer;
MethodParameters:
Name Flags
target
}
SourceFile: "PythonUnicodeEscapeCharsetDecoder.java"