public class com.fasterxml.jackson.core.io.UTF32Reader extends java.io.Reader
{
protected static final int LAST_VALID_UNICODE_CHAR;
protected static final char NC;
protected final com.fasterxml.jackson.core.io.IOContext _context;
protected java.io.InputStream _in;
protected byte[] _buffer;
protected int _ptr;
protected int _length;
protected final boolean _bigEndian;
protected char _surrogate;
protected int _charCount;
protected int _byteCount;
protected final boolean _managedBuffers;
protected char[] _tmpBuf;
public void <init>(com.fasterxml.jackson.core.io.IOContext, java.io.InputStream, byte[], int, int, boolean)
{
byte[] v;
com.fasterxml.jackson.core.io.UTF32Reader v;
com.fasterxml.jackson.core.io.IOContext v;
int v, v;
boolean v, v;
java.io.InputStream v;
v := @this: com.fasterxml.jackson.core.io.UTF32Reader;
v := @parameter: com.fasterxml.jackson.core.io.IOContext;
v := @parameter: java.io.InputStream;
v := @parameter: byte[];
v := @parameter: int;
v := @parameter: int;
v := @parameter: boolean;
specialinvoke v.<java.io.Reader: void <init>()>();
v.<com.fasterxml.jackson.core.io.UTF32Reader: char _surrogate> = 0;
v.<com.fasterxml.jackson.core.io.UTF32Reader: com.fasterxml.jackson.core.io.IOContext _context> = v;
v.<com.fasterxml.jackson.core.io.UTF32Reader: java.io.InputStream _in> = v;
v.<com.fasterxml.jackson.core.io.UTF32Reader: byte[] _buffer> = v;
v.<com.fasterxml.jackson.core.io.UTF32Reader: int _ptr> = v;
v.<com.fasterxml.jackson.core.io.UTF32Reader: int _length> = v;
v.<com.fasterxml.jackson.core.io.UTF32Reader: boolean _bigEndian> = v;
if v == null goto label;
v = 1;
goto label;
label:
v = 0;
label:
v.<com.fasterxml.jackson.core.io.UTF32Reader: boolean _managedBuffers> = v;
return;
}
public void close() throws java.io.IOException
{
com.fasterxml.jackson.core.io.UTF32Reader v;
java.io.InputStream v;
v := @this: com.fasterxml.jackson.core.io.UTF32Reader;
v = v.<com.fasterxml.jackson.core.io.UTF32Reader: java.io.InputStream _in>;
if v == null goto label;
v.<com.fasterxml.jackson.core.io.UTF32Reader: java.io.InputStream _in> = null;
specialinvoke v.<com.fasterxml.jackson.core.io.UTF32Reader: void freeBuffers()>();
virtualinvoke v.<java.io.InputStream: void close()>();
label:
return;
}
public int read() throws java.io.IOException
{
char v;
com.fasterxml.jackson.core.io.UTF32Reader v;
int v, v;
char[] v, v, v, v;
v := @this: com.fasterxml.jackson.core.io.UTF32Reader;
v = v.<com.fasterxml.jackson.core.io.UTF32Reader: char[] _tmpBuf>;
if v != null goto label;
v = newarray (char)[1];
v.<com.fasterxml.jackson.core.io.UTF32Reader: char[] _tmpBuf> = v;
label:
v = v.<com.fasterxml.jackson.core.io.UTF32Reader: char[] _tmpBuf>;
v = virtualinvoke v.<com.fasterxml.jackson.core.io.UTF32Reader: int read(char[],int,int)>(v, 0, 1);
if v >= 1 goto label;
v = (int) -1;
return v;
label:
v = v.<com.fasterxml.jackson.core.io.UTF32Reader: char[] _tmpBuf>;
v = v[0];
return v;
}
public int read(char[], int, int) throws java.io.IOException
{
byte[] v, v, v, v, v, v, v, v, v;
java.lang.Integer v;
byte v, v, v, v, v, v, v, v;
java.lang.Object[] v;
short v, v, v, v, v, v;
java.lang.String v;
char[] v;
boolean 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, v, v, v, v, v, v, v, v, v;
char v, v;
com.fasterxml.jackson.core.io.UTF32Reader v;
v := @this: com.fasterxml.jackson.core.io.UTF32Reader;
v := @parameter: char[];
v := @parameter: int;
v := @parameter: int;
v = v.<com.fasterxml.jackson.core.io.UTF32Reader: byte[] _buffer>;
if v != null goto label;
v = (int) -1;
return v;
label:
if v >= 1 goto label;
return v;
label:
if v < 0 goto label;
v = v + v;
v = lengthof v;
if v <= v goto label;
label:
specialinvoke v.<com.fasterxml.jackson.core.io.UTF32Reader: void reportBounds(char[],int,int)>(v, v, v);
label:
v = v;
v = v + v;
v = v.<com.fasterxml.jackson.core.io.UTF32Reader: char _surrogate>;
if v == 0 goto label;
v = v + 1;
v = v.<com.fasterxml.jackson.core.io.UTF32Reader: char _surrogate>;
v[v] = v;
v.<com.fasterxml.jackson.core.io.UTF32Reader: char _surrogate> = 0;
goto label;
label:
v = v.<com.fasterxml.jackson.core.io.UTF32Reader: int _length>;
v = v.<com.fasterxml.jackson.core.io.UTF32Reader: int _ptr>;
v = v - v;
if v >= 4 goto label;
v = specialinvoke v.<com.fasterxml.jackson.core.io.UTF32Reader: boolean loadMore(int)>(v);
if v != 0 goto label;
if v != 0 goto label;
v = (int) -1;
return v;
label:
v = v.<com.fasterxml.jackson.core.io.UTF32Reader: int _length>;
v = v.<com.fasterxml.jackson.core.io.UTF32Reader: int _ptr>;
v = v - v;
specialinvoke v.<com.fasterxml.jackson.core.io.UTF32Reader: void reportUnexpectedEOF(int,int)>(v, 4);
label:
v = v.<com.fasterxml.jackson.core.io.UTF32Reader: int _length>;
v = v - 4;
label:
if v >= v goto label;
v = v.<com.fasterxml.jackson.core.io.UTF32Reader: int _ptr>;
if v > v goto label;
v = v.<com.fasterxml.jackson.core.io.UTF32Reader: int _ptr>;
v = v.<com.fasterxml.jackson.core.io.UTF32Reader: boolean _bigEndian>;
if v == 0 goto label;
v = v.<com.fasterxml.jackson.core.io.UTF32Reader: byte[] _buffer>;
v = v[v];
v = v << 8;
v = v.<com.fasterxml.jackson.core.io.UTF32Reader: byte[] _buffer>;
v = v + 1;
v = v[v];
v = v & 255;
v = v | v;
v = v.<com.fasterxml.jackson.core.io.UTF32Reader: byte[] _buffer>;
v = v + 2;
v = v[v];
v = v & 255;
v = v << 8;
v = v.<com.fasterxml.jackson.core.io.UTF32Reader: byte[] _buffer>;
v = v + 3;
v = v[v];
v = v & 255;
v = v | v;
goto label;
label:
v = v.<com.fasterxml.jackson.core.io.UTF32Reader: byte[] _buffer>;
v = v[v];
v = v & 255;
v = v.<com.fasterxml.jackson.core.io.UTF32Reader: byte[] _buffer>;
v = v + 1;
v = v[v];
v = v & 255;
v = v << 8;
v = v | v;
v = v.<com.fasterxml.jackson.core.io.UTF32Reader: byte[] _buffer>;
v = v + 2;
v = v[v];
v = v & 255;
v = v.<com.fasterxml.jackson.core.io.UTF32Reader: byte[] _buffer>;
v = v + 3;
v = v[v];
v = v << 8;
v = v | v;
label:
v = v.<com.fasterxml.jackson.core.io.UTF32Reader: int _ptr>;
v = v + 4;
v.<com.fasterxml.jackson.core.io.UTF32Reader: int _ptr> = v;
if v == 0 goto label;
v = (int) 65535;
v = v & v;
v = v - 1;
v = v << 16;
v = v | v;
if v <= 16 goto label;
v = v - v;
v = newarray (java.lang.Object)[1];
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(1114111);
v[0] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>(" (above 0x%08x)", v);
specialinvoke v.<com.fasterxml.jackson.core.io.UTF32Reader: void reportInvalid(int,int,java.lang.String)>(v, v, v);
label:
v = v;
v = v + 1;
v = v >> 10;
v = (int) 55296;
v = v + v;
v[v] = v;
v = v & 1023;
v = (int) 56320;
v = v | v;
if v < v goto label;
v.<com.fasterxml.jackson.core.io.UTF32Reader: char _surrogate> = v;
goto label;
label:
v = v;
v = v + 1;
v[v] = v;
goto label;
label:
v = v - v;
v = v.<com.fasterxml.jackson.core.io.UTF32Reader: int _charCount>;
v = v + v;
v.<com.fasterxml.jackson.core.io.UTF32Reader: int _charCount> = v;
return v;
}
private void reportUnexpectedEOF(int, int) throws java.io.IOException
{
com.fasterxml.jackson.core.io.UTF32Reader v;
java.io.CharConversionException v;
int v, v, v, v, v;
java.lang.String v;
v := @this: com.fasterxml.jackson.core.io.UTF32Reader;
v := @parameter: int;
v := @parameter: int;
v = v.<com.fasterxml.jackson.core.io.UTF32Reader: int _byteCount>;
v = v + v;
v = v.<com.fasterxml.jackson.core.io.UTF32Reader: int _charCount>;
v = new java.io.CharConversionException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (int,int,int,int)>(v, v, 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[])>("Unexpected EOF in the middle of a 4-byte UTF-32 char: got \u, needed \u, at char #\u, byte #\u)");
specialinvoke v.<java.io.CharConversionException: void <init>(java.lang.String)>(v);
throw v;
}
private void reportInvalid(int, int, java.lang.String) throws java.io.IOException
{
com.fasterxml.jackson.core.io.UTF32Reader v;
java.io.CharConversionException v;
int v, v, v, v, v, v, v, v;
java.lang.String v, v, v;
v := @this: com.fasterxml.jackson.core.io.UTF32Reader;
v := @parameter: int;
v := @parameter: int;
v := @parameter: java.lang.String;
v = v.<com.fasterxml.jackson.core.io.UTF32Reader: int _byteCount>;
v = v.<com.fasterxml.jackson.core.io.UTF32Reader: int _ptr>;
v = v + v;
v = v - 1;
v = v.<com.fasterxml.jackson.core.io.UTF32Reader: int _charCount>;
v = v + v;
v = new java.io.CharConversionException;
v = staticinvoke <java.lang.Integer: java.lang.String toHexString(int)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,java.lang.String,int,int)>(v, v, 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 UTF-32 character 0x\u0001\u at char #\u, byte #\u)");
specialinvoke v.<java.io.CharConversionException: void <init>(java.lang.String)>(v);
throw v;
}
private boolean loadMore(int) throws java.io.IOException
{
byte[] v, v, v, v, v, v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
boolean v, v;
com.fasterxml.jackson.core.io.UTF32Reader v;
java.io.InputStream v, v, v;
v := @this: com.fasterxml.jackson.core.io.UTF32Reader;
v := @parameter: int;
v = v.<com.fasterxml.jackson.core.io.UTF32Reader: java.io.InputStream _in>;
if v == null goto label;
v = v.<com.fasterxml.jackson.core.io.UTF32Reader: byte[] _buffer>;
if v != null goto label;
label:
return 0;
label:
v = v.<com.fasterxml.jackson.core.io.UTF32Reader: int _byteCount>;
v = v.<com.fasterxml.jackson.core.io.UTF32Reader: int _length>;
v = v - v;
v = v + v;
v.<com.fasterxml.jackson.core.io.UTF32Reader: int _byteCount> = v;
if v <= 0 goto label;
v = v.<com.fasterxml.jackson.core.io.UTF32Reader: int _ptr>;
if v <= 0 goto label;
v = v.<com.fasterxml.jackson.core.io.UTF32Reader: byte[] _buffer>;
v = v.<com.fasterxml.jackson.core.io.UTF32Reader: int _ptr>;
v = v.<com.fasterxml.jackson.core.io.UTF32Reader: byte[] _buffer>;
staticinvoke <java.lang.System: void arraycopy(java.lang.Object,int,java.lang.Object,int,int)>(v, v, v, 0, v);
v.<com.fasterxml.jackson.core.io.UTF32Reader: int _ptr> = 0;
label:
v.<com.fasterxml.jackson.core.io.UTF32Reader: int _length> = v;
goto label;
label:
v.<com.fasterxml.jackson.core.io.UTF32Reader: int _ptr> = 0;
v = v.<com.fasterxml.jackson.core.io.UTF32Reader: java.io.InputStream _in>;
v = v.<com.fasterxml.jackson.core.io.UTF32Reader: byte[] _buffer>;
v = virtualinvoke v.<java.io.InputStream: int read(byte[])>(v);
if v >= 1 goto label;
v.<com.fasterxml.jackson.core.io.UTF32Reader: int _length> = 0;
if v >= 0 goto label;
v = v.<com.fasterxml.jackson.core.io.UTF32Reader: boolean _managedBuffers>;
if v == 0 goto label;
specialinvoke v.<com.fasterxml.jackson.core.io.UTF32Reader: void freeBuffers()>();
label:
return 0;
label:
specialinvoke v.<com.fasterxml.jackson.core.io.UTF32Reader: void reportStrangeStream()>();
label:
v.<com.fasterxml.jackson.core.io.UTF32Reader: int _length> = v;
label:
v = v.<com.fasterxml.jackson.core.io.UTF32Reader: int _length>;
if v >= 4 goto label;
v = v.<com.fasterxml.jackson.core.io.UTF32Reader: java.io.InputStream _in>;
v = v.<com.fasterxml.jackson.core.io.UTF32Reader: byte[] _buffer>;
v = v.<com.fasterxml.jackson.core.io.UTF32Reader: int _length>;
v = v.<com.fasterxml.jackson.core.io.UTF32Reader: byte[] _buffer>;
v = lengthof v;
v = v.<com.fasterxml.jackson.core.io.UTF32Reader: int _length>;
v = v - v;
v = virtualinvoke v.<java.io.InputStream: int read(byte[],int,int)>(v, v, v);
if v >= 1 goto label;
if v >= 0 goto label;
v = v.<com.fasterxml.jackson.core.io.UTF32Reader: boolean _managedBuffers>;
if v == 0 goto label;
specialinvoke v.<com.fasterxml.jackson.core.io.UTF32Reader: void freeBuffers()>();
label:
v = v.<com.fasterxml.jackson.core.io.UTF32Reader: int _length>;
specialinvoke v.<com.fasterxml.jackson.core.io.UTF32Reader: void reportUnexpectedEOF(int,int)>(v, 4);
label:
specialinvoke v.<com.fasterxml.jackson.core.io.UTF32Reader: void reportStrangeStream()>();
label:
v = v.<com.fasterxml.jackson.core.io.UTF32Reader: int _length>;
v = v + v;
v.<com.fasterxml.jackson.core.io.UTF32Reader: int _length> = v;
goto label;
label:
return 1;
}
private void freeBuffers()
{
byte[] v;
com.fasterxml.jackson.core.io.IOContext v, v;
com.fasterxml.jackson.core.io.UTF32Reader v;
v := @this: com.fasterxml.jackson.core.io.UTF32Reader;
v = v.<com.fasterxml.jackson.core.io.UTF32Reader: byte[] _buffer>;
if v == null goto label;
v.<com.fasterxml.jackson.core.io.UTF32Reader: byte[] _buffer> = null;
v = v.<com.fasterxml.jackson.core.io.UTF32Reader: com.fasterxml.jackson.core.io.IOContext _context>;
if v == null goto label;
v = v.<com.fasterxml.jackson.core.io.UTF32Reader: com.fasterxml.jackson.core.io.IOContext _context>;
virtualinvoke v.<com.fasterxml.jackson.core.io.IOContext: void releaseReadIOBuffer(byte[])>(v);
label:
return;
}
private void reportBounds(char[], int, int) throws java.io.IOException
{
java.lang.Object[] v;
java.lang.ArrayIndexOutOfBoundsException v;
java.lang.Integer v, v, v;
com.fasterxml.jackson.core.io.UTF32Reader v;
int v, v, v;
char[] v;
java.lang.String v;
v := @this: com.fasterxml.jackson.core.io.UTF32Reader;
v := @parameter: char[];
v := @parameter: int;
v := @parameter: int;
v = new java.lang.ArrayIndexOutOfBoundsException;
v = newarray (java.lang.Object)[3];
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[0] = v;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[1] = v;
v = lengthof v;
v = staticinvoke <java.lang.Integer: java.lang.Integer valueOf(int)>(v);
v[2] = v;
v = staticinvoke <java.lang.String: java.lang.String format(java.lang.String,java.lang.Object[])>("read(buf,%d,%d), cbuf[%d]", v);
specialinvoke v.<java.lang.ArrayIndexOutOfBoundsException: void <init>(java.lang.String)>(v);
throw v;
}
private void reportStrangeStream() throws java.io.IOException
{
java.io.IOException v;
com.fasterxml.jackson.core.io.UTF32Reader v;
v := @this: com.fasterxml.jackson.core.io.UTF32Reader;
v = new java.io.IOException;
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>("Strange I/O stream, returned 0 bytes on read");
throw v;
}
}