public class io.netty.handler.codec.json.JsonObjectDecoder extends io.netty.handler.codec.ByteToMessageDecoder
{
private static final int ST_CORRUPTED;
private static final int ST_INIT;
private static final int ST_DECODING_NORMAL;
private static final int ST_DECODING_ARRAY_STREAM;
private int openBraces;
private int idx;
private int lastReaderIndex;
private int state;
private boolean insideString;
private final int maxObjectLength;
private final boolean streamArrayElements;
public void <init>()
{
io.netty.handler.codec.json.JsonObjectDecoder v;
v := @this: io.netty.handler.codec.json.JsonObjectDecoder;
specialinvoke v.<io.netty.handler.codec.json.JsonObjectDecoder: void <init>(int)>(1048576);
return;
}
public void <init>(int)
{
int v;
io.netty.handler.codec.json.JsonObjectDecoder v;
v := @this: io.netty.handler.codec.json.JsonObjectDecoder;
v := @parameter: int;
specialinvoke v.<io.netty.handler.codec.json.JsonObjectDecoder: void <init>(int,boolean)>(v, 0);
return;
}
public void <init>(boolean)
{
boolean v;
io.netty.handler.codec.json.JsonObjectDecoder v;
v := @this: io.netty.handler.codec.json.JsonObjectDecoder;
v := @parameter: boolean;
specialinvoke v.<io.netty.handler.codec.json.JsonObjectDecoder: void <init>(int,boolean)>(1048576, v);
return;
}
public void <init>(int, boolean)
{
int v, v;
boolean v;
io.netty.handler.codec.json.JsonObjectDecoder v;
v := @this: io.netty.handler.codec.json.JsonObjectDecoder;
v := @parameter: int;
v := @parameter: boolean;
specialinvoke v.<io.netty.handler.codec.ByteToMessageDecoder: void <init>()>();
v = staticinvoke <io.netty.util.internal.ObjectUtil: int checkPositive(int,java.lang.String)>(v, "maxObjectLength");
v.<io.netty.handler.codec.json.JsonObjectDecoder: int maxObjectLength> = v;
v.<io.netty.handler.codec.json.JsonObjectDecoder: boolean streamArrayElements> = v;
return;
}
protected void decode(io.netty.channel.ChannelHandlerContext, io.netty.buffer.ByteBuf, java.util.List) throws java.lang.Exception
{
byte v, v, v;
boolean v, v, v, v;
io.netty.handler.codec.json.JsonObjectDecoder v;
io.netty.handler.codec.TooLongFrameException v;
java.util.List v;
io.netty.channel.ChannelHandlerContext v;
io.netty.buffer.ByteBuf v, v, v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.String v, v, v;
io.netty.handler.codec.CorruptedFrameException v;
v := @this: io.netty.handler.codec.json.JsonObjectDecoder;
v := @parameter: io.netty.channel.ChannelHandlerContext;
v := @parameter: io.netty.buffer.ByteBuf;
v := @parameter: java.util.List;
v = v.<io.netty.handler.codec.json.JsonObjectDecoder: int state>;
v = (int) -1;
if v != v goto label;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readableBytes()>();
virtualinvoke v.<io.netty.buffer.ByteBuf: io.netty.buffer.ByteBuf skipBytes(int)>(v);
return;
label:
v = v.<io.netty.handler.codec.json.JsonObjectDecoder: int idx>;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readerIndex()>();
if v <= v goto label;
v = v.<io.netty.handler.codec.json.JsonObjectDecoder: int lastReaderIndex>;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readerIndex()>();
if v == v goto label;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readerIndex()>();
v = v.<io.netty.handler.codec.json.JsonObjectDecoder: int idx>;
v = v.<io.netty.handler.codec.json.JsonObjectDecoder: int lastReaderIndex>;
v = v - v;
v = v + v;
v.<io.netty.handler.codec.json.JsonObjectDecoder: int idx> = v;
label:
v = v.<io.netty.handler.codec.json.JsonObjectDecoder: int idx>;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int writerIndex()>();
v = v.<io.netty.handler.codec.json.JsonObjectDecoder: int maxObjectLength>;
if v <= v goto label;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readableBytes()>();
virtualinvoke v.<io.netty.buffer.ByteBuf: io.netty.buffer.ByteBuf skipBytes(int)>(v);
specialinvoke v.<io.netty.handler.codec.json.JsonObjectDecoder: void reset()>();
v = new io.netty.handler.codec.TooLongFrameException;
v = v.<io.netty.handler.codec.json.JsonObjectDecoder: int maxObjectLength>;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int,int)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("object length exceeds \u0001: \u bytes discarded");
specialinvoke v.<io.netty.handler.codec.TooLongFrameException: void <init>(java.lang.String)>(v);
throw v;
label:
if v >= v goto label;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: byte getByte(int)>(v);
v = v.<io.netty.handler.codec.json.JsonObjectDecoder: int state>;
if v != 1 goto label;
specialinvoke v.<io.netty.handler.codec.json.JsonObjectDecoder: void decodeByte(byte,io.netty.buffer.ByteBuf,int)>(v, v, v);
v = v.<io.netty.handler.codec.json.JsonObjectDecoder: int openBraces>;
if v != 0 goto label;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readerIndex()>();
v = v + 1;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readerIndex()>();
v = v - v;
v = virtualinvoke v.<io.netty.handler.codec.json.JsonObjectDecoder: io.netty.buffer.ByteBuf extractObject(io.netty.channel.ChannelHandlerContext,io.netty.buffer.ByteBuf,int,int)>(v, v, v, v);
if v == null goto label;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
label:
v = v + 1;
virtualinvoke v.<io.netty.buffer.ByteBuf: io.netty.buffer.ByteBuf readerIndex(int)>(v);
specialinvoke v.<io.netty.handler.codec.json.JsonObjectDecoder: void reset()>();
goto label;
label:
v = v.<io.netty.handler.codec.json.JsonObjectDecoder: int state>;
if v != 2 goto label;
specialinvoke v.<io.netty.handler.codec.json.JsonObjectDecoder: void decodeByte(byte,io.netty.buffer.ByteBuf,int)>(v, v, v);
v = v.<io.netty.handler.codec.json.JsonObjectDecoder: boolean insideString>;
if v != 0 goto label;
v = v.<io.netty.handler.codec.json.JsonObjectDecoder: int openBraces>;
if v != 1 goto label;
if v == 44 goto label;
label:
v = v.<io.netty.handler.codec.json.JsonObjectDecoder: int openBraces>;
if v != 0 goto label;
if v != 93 goto label;
label:
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readerIndex()>();
label:
v = virtualinvoke v.<io.netty.buffer.ByteBuf: byte getByte(int)>(v);
v = staticinvoke <java.lang.Character: boolean isWhitespace(int)>(v);
if v == 0 goto label;
virtualinvoke v.<io.netty.buffer.ByteBuf: io.netty.buffer.ByteBuf skipBytes(int)>(1);
v = v + 1;
goto label;
label:
v = v - 1;
label:
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readerIndex()>();
if v < v goto label;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: byte getByte(int)>(v);
v = staticinvoke <java.lang.Character: boolean isWhitespace(int)>(v);
if v == 0 goto label;
v = v - 1;
goto label;
label:
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readerIndex()>();
v = v + 1;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readerIndex()>();
v = v - v;
v = virtualinvoke v.<io.netty.handler.codec.json.JsonObjectDecoder: io.netty.buffer.ByteBuf extractObject(io.netty.channel.ChannelHandlerContext,io.netty.buffer.ByteBuf,int,int)>(v, v, v, v);
if v == null goto label;
interfaceinvoke v.<java.util.List: boolean add(java.lang.Object)>(v);
label:
v = v + 1;
virtualinvoke v.<io.netty.buffer.ByteBuf: io.netty.buffer.ByteBuf readerIndex(int)>(v);
if v != 93 goto label;
specialinvoke v.<io.netty.handler.codec.json.JsonObjectDecoder: void reset()>();
goto label;
label:
if v == 123 goto label;
if v != 91 goto label;
label:
specialinvoke v.<io.netty.handler.codec.json.JsonObjectDecoder: void initDecoding(byte)>(v);
v = v.<io.netty.handler.codec.json.JsonObjectDecoder: int state>;
if v != 2 goto label;
virtualinvoke v.<io.netty.buffer.ByteBuf: io.netty.buffer.ByteBuf skipBytes(int)>(1);
goto label;
label:
v = staticinvoke <java.lang.Character: boolean isWhitespace(int)>(v);
if v == 0 goto label;
virtualinvoke v.<io.netty.buffer.ByteBuf: io.netty.buffer.ByteBuf skipBytes(int)>(1);
goto label;
label:
v = (int) -1;
v.<io.netty.handler.codec.json.JsonObjectDecoder: int state> = v;
v = new io.netty.handler.codec.CorruptedFrameException;
v = staticinvoke <io.netty.buffer.ByteBufUtil: java.lang.String hexDump(io.netty.buffer.ByteBuf)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int,java.lang.String)>(v, v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("invalid JSON received at byte position \u0001: \u0001");
specialinvoke v.<io.netty.handler.codec.CorruptedFrameException: void <init>(java.lang.String)>(v);
throw v;
label:
v = v + 1;
goto label;
label:
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readableBytes()>();
if v != 0 goto label;
v.<io.netty.handler.codec.json.JsonObjectDecoder: int idx> = 0;
goto label;
label:
v.<io.netty.handler.codec.json.JsonObjectDecoder: int idx> = v;
label:
v = virtualinvoke v.<io.netty.buffer.ByteBuf: int readerIndex()>();
v.<io.netty.handler.codec.json.JsonObjectDecoder: int lastReaderIndex> = v;
return;
}
protected io.netty.buffer.ByteBuf extractObject(io.netty.channel.ChannelHandlerContext, io.netty.buffer.ByteBuf, int, int)
{
io.netty.channel.ChannelHandlerContext v;
io.netty.buffer.ByteBuf v, v;
int v, v;
io.netty.handler.codec.json.JsonObjectDecoder v;
v := @this: io.netty.handler.codec.json.JsonObjectDecoder;
v := @parameter: io.netty.channel.ChannelHandlerContext;
v := @parameter: io.netty.buffer.ByteBuf;
v := @parameter: int;
v := @parameter: int;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: io.netty.buffer.ByteBuf retainedSlice(int,int)>(v, v);
return v;
}
private void decodeByte(byte, io.netty.buffer.ByteBuf, int)
{
byte v, v;
io.netty.buffer.ByteBuf v;
int v, v, v, v, v, v, v, v;
boolean v, v, v;
io.netty.handler.codec.json.JsonObjectDecoder v;
v := @this: io.netty.handler.codec.json.JsonObjectDecoder;
v := @parameter: byte;
v := @parameter: io.netty.buffer.ByteBuf;
v := @parameter: int;
if v == 123 goto label;
if v != 91 goto label;
label:
v = v.<io.netty.handler.codec.json.JsonObjectDecoder: boolean insideString>;
if v != 0 goto label;
v = v.<io.netty.handler.codec.json.JsonObjectDecoder: int openBraces>;
v = v + 1;
v.<io.netty.handler.codec.json.JsonObjectDecoder: int openBraces> = v;
goto label;
label:
if v == 125 goto label;
if v != 93 goto label;
label:
v = v.<io.netty.handler.codec.json.JsonObjectDecoder: boolean insideString>;
if v != 0 goto label;
v = v.<io.netty.handler.codec.json.JsonObjectDecoder: int openBraces>;
v = v - 1;
v.<io.netty.handler.codec.json.JsonObjectDecoder: int openBraces> = v;
goto label;
label:
if v != 34 goto label;
v = v.<io.netty.handler.codec.json.JsonObjectDecoder: boolean insideString>;
if v != 0 goto label;
v.<io.netty.handler.codec.json.JsonObjectDecoder: boolean insideString> = 1;
goto label;
label:
v = 0;
v = v - 1;
label:
if v < 0 goto label;
v = virtualinvoke v.<io.netty.buffer.ByteBuf: byte getByte(int)>(v);
if v != 92 goto label;
v = v + 1;
v = v - 1;
goto label;
label:
v = v % 2;
if v != 0 goto label;
v.<io.netty.handler.codec.json.JsonObjectDecoder: boolean insideString> = 0;
label:
return;
}
private void initDecoding(byte)
{
byte v;
boolean v;
io.netty.handler.codec.json.JsonObjectDecoder v;
v := @this: io.netty.handler.codec.json.JsonObjectDecoder;
v := @parameter: byte;
v.<io.netty.handler.codec.json.JsonObjectDecoder: int openBraces> = 1;
if v != 91 goto label;
v = v.<io.netty.handler.codec.json.JsonObjectDecoder: boolean streamArrayElements>;
if v == 0 goto label;
v.<io.netty.handler.codec.json.JsonObjectDecoder: int state> = 2;
goto label;
label:
v.<io.netty.handler.codec.json.JsonObjectDecoder: int state> = 1;
label:
return;
}
private void reset()
{
io.netty.handler.codec.json.JsonObjectDecoder v;
v := @this: io.netty.handler.codec.json.JsonObjectDecoder;
v.<io.netty.handler.codec.json.JsonObjectDecoder: boolean insideString> = 0;
v.<io.netty.handler.codec.json.JsonObjectDecoder: int state> = 0;
v.<io.netty.handler.codec.json.JsonObjectDecoder: int openBraces> = 0;
return;
}
}