final class jdk.incubator.http.internal.websocket.UTF8AccumulatingDecoder
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: jdk.incubator.http.internal.websocket.UTF8AccumulatingDecoder
super_class: java.lang.Object
{
private final java.nio.charset.CharsetDecoder decoder;
descriptor: Ljava/nio/charset/CharsetDecoder;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private java.nio.ByteBuffer leftovers;
descriptor: Ljava/nio/ByteBuffer;
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 Ljdk/incubator/http/internal/websocket/UTF8AccumulatingDecoder;
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 jdk.incubator.http.internal.websocket.UTF8AccumulatingDecoder.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
invokevirtual java.nio.charset.Charset.newDecoder:()Ljava/nio/charset/CharsetDecoder;
putfield jdk.incubator.http.internal.websocket.UTF8AccumulatingDecoder.decoder:Ljava/nio/charset/CharsetDecoder;
2: aload 0
getfield jdk.incubator.http.internal.websocket.UTF8AccumulatingDecoder.decoder:Ljava/nio/charset/CharsetDecoder;
getstatic java.nio.charset.CodingErrorAction.REPORT:Ljava/nio/charset/CodingErrorAction;
invokevirtual java.nio.charset.CharsetDecoder.onMalformedInput:(Ljava/nio/charset/CodingErrorAction;)Ljava/nio/charset/CharsetDecoder;
pop
3: aload 0
getfield jdk.incubator.http.internal.websocket.UTF8AccumulatingDecoder.decoder:Ljava/nio/charset/CharsetDecoder;
getstatic java.nio.charset.CodingErrorAction.REPORT:Ljava/nio/charset/CodingErrorAction;
invokevirtual java.nio.charset.CharsetDecoder.onUnmappableCharacter:(Ljava/nio/charset/CodingErrorAction;)Ljava/nio/charset/CharsetDecoder;
pop
4: aload 0
getstatic jdk.incubator.http.internal.common.Utils.EMPTY_BYTEBUFFER:Ljava/nio/ByteBuffer;
putfield jdk.incubator.http.internal.websocket.UTF8AccumulatingDecoder.leftovers:Ljava/nio/ByteBuffer;
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/incubator/http/internal/websocket/UTF8AccumulatingDecoder;
java.nio.CharBuffer decode(java.nio.ByteBuffer, boolean);
descriptor: (Ljava/nio/ByteBuffer;Z)Ljava/nio/CharBuffer;
flags: (0x0000)
Code:
stack=5, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield jdk.incubator.http.internal.websocket.UTF8AccumulatingDecoder.leftovers:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.remaining:()I
istore 4
start local 4 1: iload 4
ifeq 5
2: iload 4
aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
iadd
invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
astore 3
start local 3 3: aload 3
aload 0
getfield jdk.incubator.http.internal.websocket.UTF8AccumulatingDecoder.leftovers:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.put:(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
aload 1
invokevirtual java.nio.ByteBuffer.put:(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/ByteBuffer;
pop
4: goto 6
end local 3 5: StackMap locals: jdk.incubator.http.internal.websocket.UTF8AccumulatingDecoder java.nio.ByteBuffer int top int
StackMap stack:
aload 1
astore 3
start local 3 6: StackMap locals: jdk.incubator.http.internal.websocket.UTF8AccumulatingDecoder java.nio.ByteBuffer int java.nio.ByteBuffer int
StackMap stack:
aload 3
invokevirtual java.nio.ByteBuffer.remaining:()I
invokestatic java.nio.CharBuffer.allocate:(I)Ljava/nio/CharBuffer;
astore 5
start local 5 7: aload 0
getfield jdk.incubator.http.internal.websocket.UTF8AccumulatingDecoder.decoder:Ljava/nio/charset/CharsetDecoder;
aload 3
aload 5
iload 2
invokevirtual java.nio.charset.CharsetDecoder.decode:(Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;Z)Ljava/nio/charset/CoderResult;
astore 6
start local 6 8: aload 6
invokevirtual java.nio.charset.CoderResult.isError:()Z
ifeq 10
9: aload 6
invokevirtual java.nio.charset.CoderResult.throwException:()V
10: StackMap locals: java.nio.CharBuffer java.nio.charset.CoderResult
StackMap stack:
aload 3
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifeq 13
11: aload 0
aload 3
invokevirtual java.nio.ByteBuffer.remaining:()I
invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
aload 3
invokevirtual java.nio.ByteBuffer.put:(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/ByteBuffer;
putfield jdk.incubator.http.internal.websocket.UTF8AccumulatingDecoder.leftovers:Ljava/nio/ByteBuffer;
12: goto 14
13: StackMap locals:
StackMap stack:
aload 0
getstatic jdk.incubator.http.internal.common.Utils.EMPTY_BYTEBUFFER:Ljava/nio/ByteBuffer;
putfield jdk.incubator.http.internal.websocket.UTF8AccumulatingDecoder.leftovers:Ljava/nio/ByteBuffer;
14: StackMap locals:
StackMap stack:
aload 0
getfield jdk.incubator.http.internal.websocket.UTF8AccumulatingDecoder.leftovers:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.remaining:()I
iconst_4
if_icmplt 18
15: ldc "The size of decoding leftovers is greater than expected: {0}"
iconst_1
anewarray java.lang.Object
dup
iconst_0
16: aload 0
getfield jdk.incubator.http.internal.websocket.UTF8AccumulatingDecoder.leftovers:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.remaining:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
17: invokestatic jdk.incubator.http.internal.common.Log.logError:(Ljava/lang/String;[Ljava/lang/Object;)V
18: StackMap locals:
StackMap stack:
aload 3
aload 3
invokevirtual java.nio.ByteBuffer.limit:()I
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
pop
19: getstatic jdk.incubator.http.internal.websocket.UTF8AccumulatingDecoder.$assertionsDisabled:Z
ifne 20
iload 2
ifeq 20
aload 0
getfield jdk.incubator.http.internal.websocket.UTF8AccumulatingDecoder.leftovers:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifeq 20
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
iload 2
invokestatic java.lang.String.valueOf:(Z)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield jdk.incubator.http.internal.websocket.UTF8AccumulatingDecoder.leftovers:Ljava/nio/ByteBuffer;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
20: StackMap locals:
StackMap stack:
iload 2
ifeq 25
21: aload 0
getfield jdk.incubator.http.internal.websocket.UTF8AccumulatingDecoder.decoder:Ljava/nio/charset/CharsetDecoder;
aload 5
invokevirtual java.nio.charset.CharsetDecoder.flush:(Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;
astore 6
22: aload 0
getfield jdk.incubator.http.internal.websocket.UTF8AccumulatingDecoder.decoder:Ljava/nio/charset/CharsetDecoder;
invokevirtual java.nio.charset.CharsetDecoder.reset:()Ljava/nio/charset/CharsetDecoder;
pop
23: aload 6
invokevirtual java.nio.charset.CoderResult.isOverflow:()Z
ifeq 25
24: new java.lang.InternalError
dup
ldc "Not yet implemented"
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
25: StackMap locals:
StackMap stack:
aload 5
invokevirtual java.nio.CharBuffer.flip:()Ljava/nio/CharBuffer;
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 26 0 this Ljdk/incubator/http/internal/websocket/UTF8AccumulatingDecoder;
0 26 1 in Ljava/nio/ByteBuffer;
0 26 2 endOfInput Z
3 5 3 b Ljava/nio/ByteBuffer;
6 26 3 b Ljava/nio/ByteBuffer;
1 26 4 rem I
7 26 5 out Ljava/nio/CharBuffer;
8 26 6 r Ljava/nio/charset/CoderResult;
Exceptions:
throws java.nio.charset.CharacterCodingException
MethodParameters:
Name Flags
in
endOfInput
}
SourceFile: "UTF8AccumulatingDecoder.java"