public final class com.fasterxml.jackson.core.io.UTF8Writer extends java.io.Writer
{
static final int SURR1_FIRST;
static final int SURR1_LAST;
static final int SURR2_FIRST;
static final int SURR2_LAST;
private final com.fasterxml.jackson.core.io.IOContext _context;
private java.io.OutputStream _out;
private byte[] _outBuffer;
private final int _outBufferEnd;
private int _outPtr;
private int _surrogate;
public void <init>(com.fasterxml.jackson.core.io.IOContext, java.io.OutputStream)
{
java.io.OutputStream v;
byte[] v, v;
com.fasterxml.jackson.core.io.UTF8Writer v;
com.fasterxml.jackson.core.io.IOContext v;
int v, v;
v := @this: com.fasterxml.jackson.core.io.UTF8Writer;
v := @parameter: com.fasterxml.jackson.core.io.IOContext;
v := @parameter: java.io.OutputStream;
specialinvoke v.<java.io.Writer: void <init>()>();
v.<com.fasterxml.jackson.core.io.UTF8Writer: com.fasterxml.jackson.core.io.IOContext _context> = v;
v.<com.fasterxml.jackson.core.io.UTF8Writer: java.io.OutputStream _out> = v;
v = virtualinvoke v.<com.fasterxml.jackson.core.io.IOContext: byte[] allocWriteEncodingBuffer()>();
v.<com.fasterxml.jackson.core.io.UTF8Writer: byte[] _outBuffer> = v;
v = v.<com.fasterxml.jackson.core.io.UTF8Writer: byte[] _outBuffer>;
v = lengthof v;
v = v - 4;
v.<com.fasterxml.jackson.core.io.UTF8Writer: int _outBufferEnd> = v;
v.<com.fasterxml.jackson.core.io.UTF8Writer: int _outPtr> = 0;
return;
}
public java.io.Writer append(char) throws java.io.IOException
{
char v;
com.fasterxml.jackson.core.io.UTF8Writer v;
v := @this: com.fasterxml.jackson.core.io.UTF8Writer;
v := @parameter: char;
virtualinvoke v.<com.fasterxml.jackson.core.io.UTF8Writer: void write(int)>(v);
return v;
}
public void close() throws java.io.IOException
{
java.io.OutputStream v, v, v;
byte[] v, v;
com.fasterxml.jackson.core.io.UTF8Writer v;
com.fasterxml.jackson.core.io.IOContext v;
int v, v, v;
v := @this: com.fasterxml.jackson.core.io.UTF8Writer;
v = v.<com.fasterxml.jackson.core.io.UTF8Writer: java.io.OutputStream _out>;
if v == null goto label;
v = v.<com.fasterxml.jackson.core.io.UTF8Writer: int _outPtr>;
if v <= 0 goto label;
v = v.<com.fasterxml.jackson.core.io.UTF8Writer: java.io.OutputStream _out>;
v = v.<com.fasterxml.jackson.core.io.UTF8Writer: byte[] _outBuffer>;
v = v.<com.fasterxml.jackson.core.io.UTF8Writer: int _outPtr>;
virtualinvoke v.<java.io.OutputStream: void write(byte[],int,int)>(v, 0, v);
v.<com.fasterxml.jackson.core.io.UTF8Writer: int _outPtr> = 0;
label:
v = v.<com.fasterxml.jackson.core.io.UTF8Writer: java.io.OutputStream _out>;
v.<com.fasterxml.jackson.core.io.UTF8Writer: java.io.OutputStream _out> = null;
v = v.<com.fasterxml.jackson.core.io.UTF8Writer: byte[] _outBuffer>;
if v == null goto label;
v.<com.fasterxml.jackson.core.io.UTF8Writer: byte[] _outBuffer> = null;
v = v.<com.fasterxml.jackson.core.io.UTF8Writer: com.fasterxml.jackson.core.io.IOContext _context>;
virtualinvoke v.<com.fasterxml.jackson.core.io.IOContext: void releaseWriteEncodingBuffer(byte[])>(v);
label:
virtualinvoke v.<java.io.OutputStream: void close()>();
v = v.<com.fasterxml.jackson.core.io.UTF8Writer: int _surrogate>;
v.<com.fasterxml.jackson.core.io.UTF8Writer: int _surrogate> = 0;
if v <= 0 goto label;
staticinvoke <com.fasterxml.jackson.core.io.UTF8Writer: void illegalSurrogate(int)>(v);
label:
return;
}
public void flush() throws java.io.IOException
{
java.io.OutputStream v, v, v;
byte[] v;
com.fasterxml.jackson.core.io.UTF8Writer v;
int v, v;
v := @this: com.fasterxml.jackson.core.io.UTF8Writer;
v = v.<com.fasterxml.jackson.core.io.UTF8Writer: java.io.OutputStream _out>;
if v == null goto label;
v = v.<com.fasterxml.jackson.core.io.UTF8Writer: int _outPtr>;
if v <= 0 goto label;
v = v.<com.fasterxml.jackson.core.io.UTF8Writer: java.io.OutputStream _out>;
v = v.<com.fasterxml.jackson.core.io.UTF8Writer: byte[] _outBuffer>;
v = v.<com.fasterxml.jackson.core.io.UTF8Writer: int _outPtr>;
virtualinvoke v.<java.io.OutputStream: void write(byte[],int,int)>(v, 0, v);
v.<com.fasterxml.jackson.core.io.UTF8Writer: int _outPtr> = 0;
label:
v = v.<com.fasterxml.jackson.core.io.UTF8Writer: java.io.OutputStream _out>;
virtualinvoke v.<java.io.OutputStream: void flush()>();
label:
return;
}
public void write(char[]) throws java.io.IOException
{
int v;
char[] v;
com.fasterxml.jackson.core.io.UTF8Writer v;
v := @this: com.fasterxml.jackson.core.io.UTF8Writer;
v := @parameter: char[];
v = lengthof v;
virtualinvoke v.<com.fasterxml.jackson.core.io.UTF8Writer: void write(char[],int,int)>(v, 0, v);
return;
}
public void write(char[], int, int) throws java.io.IOException
{
byte[] v;
com.fasterxml.jackson.core.io.UTF8Writer v;
short 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;
java.io.OutputStream v;
char v, v, v, v, v, v;
char[] v;
v := @this: com.fasterxml.jackson.core.io.UTF8Writer;
v := @parameter: char[];
v := @parameter: int;
v := @parameter: int;
if v >= 2 goto label;
if v != 1 goto label;
v = v[v];
virtualinvoke v.<com.fasterxml.jackson.core.io.UTF8Writer: void write(int)>(v);
label:
return;
label:
v = v.<com.fasterxml.jackson.core.io.UTF8Writer: int _surrogate>;
if v <= 0 goto label;
v = v;
v = v + 1;
v = v[v];
v = v - 1;
v = virtualinvoke v.<com.fasterxml.jackson.core.io.UTF8Writer: int convertSurrogate(int)>(v);
virtualinvoke v.<com.fasterxml.jackson.core.io.UTF8Writer: void write(int)>(v);
label:
v = v.<com.fasterxml.jackson.core.io.UTF8Writer: int _outPtr>;
v = v.<com.fasterxml.jackson.core.io.UTF8Writer: byte[] _outBuffer>;
v = v.<com.fasterxml.jackson.core.io.UTF8Writer: int _outBufferEnd>;
v = v + v;
label:
if v >= v goto label;
if v < v goto label;
v = v.<com.fasterxml.jackson.core.io.UTF8Writer: java.io.OutputStream _out>;
virtualinvoke v.<java.io.OutputStream: void write(byte[],int,int)>(v, 0, v);
v = 0;
label:
v = v;
v = v + 1;
v = v[v];
if v >= 128 goto label;
v = v;
v = v + 1;
v[v] = v;
v = v - v;
v = v - v;
if v <= v goto label;
v = v;
label:
v = v + v;
label:
if v >= v goto label;
v = v;
v = v + 1;
v = v[v];
if v >= 128 goto label;
v = v;
v = v + 1;
v[v] = v;
goto label;
label:
if v >= 2048 goto label;
v = v + 1;
v = v >> 6;
v = 192 | v;
v[v] = v;
v = v + 1;
v = v & 63;
v = 128 | v;
v[v] = v;
goto label;
label:
v = (int) 55296;
if v < v goto label;
v = (int) 57343;
if v <= v goto label;
label:
v = v + 1;
v = v >> 12;
v = 224 | v;
v[v] = v;
v = v + 1;
v = v >> 6;
v = v & 63;
v = 128 | v;
v[v] = v;
v = v + 1;
v = v & 63;
v = 128 | v;
v[v] = v;
goto label;
label:
v = (int) 56319;
if v <= v goto label;
v.<com.fasterxml.jackson.core.io.UTF8Writer: int _outPtr> = v;
staticinvoke <com.fasterxml.jackson.core.io.UTF8Writer: void illegalSurrogate(int)>(v);
label:
v.<com.fasterxml.jackson.core.io.UTF8Writer: int _surrogate> = v;
if v >= v goto label;
v = v;
v = v + 1;
v = v[v];
v = virtualinvoke v.<com.fasterxml.jackson.core.io.UTF8Writer: int convertSurrogate(int)>(v);
if v <= 1114111 goto label;
v.<com.fasterxml.jackson.core.io.UTF8Writer: int _outPtr> = v;
staticinvoke <com.fasterxml.jackson.core.io.UTF8Writer: void illegalSurrogate(int)>(v);
label:
v = v + 1;
v = v >> 18;
v = 240 | v;
v[v] = v;
v = v + 1;
v = v >> 12;
v = v & 63;
v = 128 | v;
v[v] = v;
v = v + 1;
v = v >> 6;
v = v & 63;
v = 128 | v;
v[v] = v;
v = v + 1;
v = v & 63;
v = 128 | v;
v[v] = v;
goto label;
label:
v.<com.fasterxml.jackson.core.io.UTF8Writer: int _outPtr> = v;
return;
}
public void write(int) throws java.io.IOException
{
byte[] v, v, v, v, v, v, v, v, v, v, v;
com.fasterxml.jackson.core.io.UTF8Writer 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;
java.io.OutputStream v;
v := @this: com.fasterxml.jackson.core.io.UTF8Writer;
v := @parameter: int;
v = v.<com.fasterxml.jackson.core.io.UTF8Writer: int _surrogate>;
if v <= 0 goto label;
v = virtualinvoke v.<com.fasterxml.jackson.core.io.UTF8Writer: int convertSurrogate(int)>(v);
goto label;
label:
v = (int) 55296;
if v < v goto label;
v = (int) 57343;
if v > v goto label;
v = (int) 56319;
if v <= v goto label;
staticinvoke <com.fasterxml.jackson.core.io.UTF8Writer: void illegalSurrogate(int)>(v);
label:
v.<com.fasterxml.jackson.core.io.UTF8Writer: int _surrogate> = v;
return;
label:
v = v.<com.fasterxml.jackson.core.io.UTF8Writer: int _outPtr>;
v = v.<com.fasterxml.jackson.core.io.UTF8Writer: int _outBufferEnd>;
if v < v goto label;
v = v.<com.fasterxml.jackson.core.io.UTF8Writer: java.io.OutputStream _out>;
v = v.<com.fasterxml.jackson.core.io.UTF8Writer: byte[] _outBuffer>;
v = v.<com.fasterxml.jackson.core.io.UTF8Writer: int _outPtr>;
virtualinvoke v.<java.io.OutputStream: void write(byte[],int,int)>(v, 0, v);
v.<com.fasterxml.jackson.core.io.UTF8Writer: int _outPtr> = 0;
label:
if v >= 128 goto label;
v = v.<com.fasterxml.jackson.core.io.UTF8Writer: byte[] _outBuffer>;
v = v.<com.fasterxml.jackson.core.io.UTF8Writer: int _outPtr>;
v = v + 1;
v.<com.fasterxml.jackson.core.io.UTF8Writer: int _outPtr> = v;
v[v] = v;
goto label;
label:
v = v.<com.fasterxml.jackson.core.io.UTF8Writer: int _outPtr>;
if v >= 2048 goto label;
v = v.<com.fasterxml.jackson.core.io.UTF8Writer: byte[] _outBuffer>;
v = v + 1;
v = v >> 6;
v = 192 | v;
v[v] = v;
v = v.<com.fasterxml.jackson.core.io.UTF8Writer: byte[] _outBuffer>;
v = v + 1;
v = v & 63;
v = 128 | v;
v[v] = v;
goto label;
label:
v = (int) 65535;
if v > v goto label;
v = v.<com.fasterxml.jackson.core.io.UTF8Writer: byte[] _outBuffer>;
v = v + 1;
v = v >> 12;
v = 224 | v;
v[v] = v;
v = v.<com.fasterxml.jackson.core.io.UTF8Writer: byte[] _outBuffer>;
v = v + 1;
v = v >> 6;
v = v & 63;
v = 128 | v;
v[v] = v;
v = v.<com.fasterxml.jackson.core.io.UTF8Writer: byte[] _outBuffer>;
v = v + 1;
v = v & 63;
v = 128 | v;
v[v] = v;
goto label;
label:
if v <= 1114111 goto label;
staticinvoke <com.fasterxml.jackson.core.io.UTF8Writer: void illegalSurrogate(int)>(v);
label:
v = v.<com.fasterxml.jackson.core.io.UTF8Writer: byte[] _outBuffer>;
v = v + 1;
v = v >> 18;
v = 240 | v;
v[v] = v;
v = v.<com.fasterxml.jackson.core.io.UTF8Writer: byte[] _outBuffer>;
v = v + 1;
v = v >> 12;
v = v & 63;
v = 128 | v;
v[v] = v;
v = v.<com.fasterxml.jackson.core.io.UTF8Writer: byte[] _outBuffer>;
v = v + 1;
v = v >> 6;
v = v & 63;
v = 128 | v;
v[v] = v;
v = v.<com.fasterxml.jackson.core.io.UTF8Writer: byte[] _outBuffer>;
v = v + 1;
v = v & 63;
v = 128 | v;
v[v] = v;
label:
v.<com.fasterxml.jackson.core.io.UTF8Writer: int _outPtr> = v;
label:
return;
}
public void write(java.lang.String) throws java.io.IOException
{
int v;
java.lang.String v;
com.fasterxml.jackson.core.io.UTF8Writer v;
v := @this: com.fasterxml.jackson.core.io.UTF8Writer;
v := @parameter: java.lang.String;
v = virtualinvoke v.<java.lang.String: int length()>();
virtualinvoke v.<com.fasterxml.jackson.core.io.UTF8Writer: void write(java.lang.String,int,int)>(v, 0, v);
return;
}
public void write(java.lang.String, int, int) throws java.io.IOException
{
byte[] v;
com.fasterxml.jackson.core.io.UTF8Writer v;
short 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;
java.lang.String v;
java.io.OutputStream v;
char v, v, v, v, v, v;
v := @this: com.fasterxml.jackson.core.io.UTF8Writer;
v := @parameter: java.lang.String;
v := @parameter: int;
v := @parameter: int;
if v >= 2 goto label;
if v != 1 goto label;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
virtualinvoke v.<com.fasterxml.jackson.core.io.UTF8Writer: void write(int)>(v);
label:
return;
label:
v = v.<com.fasterxml.jackson.core.io.UTF8Writer: int _surrogate>;
if v <= 0 goto label;
v = v;
v = v + 1;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
v = v - 1;
v = virtualinvoke v.<com.fasterxml.jackson.core.io.UTF8Writer: int convertSurrogate(int)>(v);
virtualinvoke v.<com.fasterxml.jackson.core.io.UTF8Writer: void write(int)>(v);
label:
v = v.<com.fasterxml.jackson.core.io.UTF8Writer: int _outPtr>;
v = v.<com.fasterxml.jackson.core.io.UTF8Writer: byte[] _outBuffer>;
v = v.<com.fasterxml.jackson.core.io.UTF8Writer: int _outBufferEnd>;
v = v + v;
label:
if v >= v goto label;
if v < v goto label;
v = v.<com.fasterxml.jackson.core.io.UTF8Writer: java.io.OutputStream _out>;
virtualinvoke v.<java.io.OutputStream: void write(byte[],int,int)>(v, 0, v);
v = 0;
label:
v = v;
v = v + 1;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
if v >= 128 goto label;
v = v;
v = v + 1;
v[v] = v;
v = v - v;
v = v - v;
if v <= v goto label;
v = v;
label:
v = v + v;
label:
if v >= v goto label;
v = v;
v = v + 1;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
if v >= 128 goto label;
v = v;
v = v + 1;
v[v] = v;
goto label;
label:
if v >= 2048 goto label;
v = v + 1;
v = v >> 6;
v = 192 | v;
v[v] = v;
v = v + 1;
v = v & 63;
v = 128 | v;
v[v] = v;
goto label;
label:
v = (int) 55296;
if v < v goto label;
v = (int) 57343;
if v <= v goto label;
label:
v = v + 1;
v = v >> 12;
v = 224 | v;
v[v] = v;
v = v + 1;
v = v >> 6;
v = v & 63;
v = 128 | v;
v[v] = v;
v = v + 1;
v = v & 63;
v = 128 | v;
v[v] = v;
goto label;
label:
v = (int) 56319;
if v <= v goto label;
v.<com.fasterxml.jackson.core.io.UTF8Writer: int _outPtr> = v;
staticinvoke <com.fasterxml.jackson.core.io.UTF8Writer: void illegalSurrogate(int)>(v);
label:
v.<com.fasterxml.jackson.core.io.UTF8Writer: int _surrogate> = v;
if v >= v goto label;
v = v;
v = v + 1;
v = virtualinvoke v.<java.lang.String: char charAt(int)>(v);
v = virtualinvoke v.<com.fasterxml.jackson.core.io.UTF8Writer: int convertSurrogate(int)>(v);
if v <= 1114111 goto label;
v.<com.fasterxml.jackson.core.io.UTF8Writer: int _outPtr> = v;
staticinvoke <com.fasterxml.jackson.core.io.UTF8Writer: void illegalSurrogate(int)>(v);
label:
v = v + 1;
v = v >> 18;
v = 240 | v;
v[v] = v;
v = v + 1;
v = v >> 12;
v = v & 63;
v = 128 | v;
v[v] = v;
v = v + 1;
v = v >> 6;
v = v & 63;
v = 128 | v;
v[v] = v;
v = v + 1;
v = v & 63;
v = 128 | v;
v[v] = v;
goto label;
label:
v.<com.fasterxml.jackson.core.io.UTF8Writer: int _outPtr> = v;
return;
}
protected int convertSurrogate(int) throws java.io.IOException
{
int v, v, v, v, v, v, v, v, v, v, v;
java.lang.String v, v, v;
com.fasterxml.jackson.core.io.UTF8Writer v;
java.io.IOException v;
v := @this: com.fasterxml.jackson.core.io.UTF8Writer;
v := @parameter: int;
v = v.<com.fasterxml.jackson.core.io.UTF8Writer: int _surrogate>;
v.<com.fasterxml.jackson.core.io.UTF8Writer: int _surrogate> = 0;
v = (int) 56320;
if v < v goto label;
v = (int) 57343;
if v <= v goto label;
label:
v = new java.io.IOException;
v = staticinvoke <java.lang.Integer: java.lang.String toHexString(int)>(v);
v = staticinvoke <java.lang.Integer: java.lang.String toHexString(int)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String,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[])>("Broken surrogate pair: first char 0x\u, second 0x\u; illegal combination");
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>(v);
throw v;
label:
v = (int) 55296;
v = v - v;
v = v << 10;
v = 65536 + v;
v = (int) 56320;
v = v - v;
v = v + v;
return v;
}
protected static void illegalSurrogate(int) throws java.io.IOException
{
int v;
java.io.IOException v;
java.lang.String v;
v := @parameter: int;
v = new java.io.IOException;
v = staticinvoke <com.fasterxml.jackson.core.io.UTF8Writer: java.lang.String illegalSurrogateDesc(int)>(v);
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>(v);
throw v;
}
protected static java.lang.String illegalSurrogateDesc(int)
{
int v, v, v;
java.lang.String v, v, v, v, v, v, v, v;
v := @parameter: int;
if v <= 1114111 goto label;
v = staticinvoke <java.lang.Integer: java.lang.String toHexString(int)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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[])>("Illegal character point (0x\u) to output; max is 0x10FFFF as per RFC 4627");
return v;
label:
v = (int) 55296;
if v < v goto label;
v = (int) 56319;
if v > v goto label;
v = staticinvoke <java.lang.Integer: java.lang.String toHexString(int)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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[])>("Unmatched first part of surrogate pair (0x\u)");
return v;
label:
v = staticinvoke <java.lang.Integer: java.lang.String toHexString(int)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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[])>("Unmatched second part of surrogate pair (0x\u)");
return v;
label:
v = staticinvoke <java.lang.Integer: java.lang.String toHexString(int)>(v);
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(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[])>("Illegal character point (0x\u) to output");
return v;
}
}