public class org.apache.commons.io.output.WriterOutputStream extends java.io.OutputStream
{
private static final int BUFFER_SIZE;
private final java.io.Writer writer;
private final java.nio.charset.CharsetDecoder decoder;
private final boolean writeImmediately;
private final java.nio.ByteBuffer decoderIn;
private final java.nio.CharBuffer decoderOut;
public void <init>(java.io.Writer, java.nio.charset.CharsetDecoder)
{
java.io.Writer v;
java.nio.charset.CharsetDecoder v;
org.apache.commons.io.output.WriterOutputStream v;
v := @this: org.apache.commons.io.output.WriterOutputStream;
v := @parameter: java.io.Writer;
v := @parameter: java.nio.charset.CharsetDecoder;
specialinvoke v.<org.apache.commons.io.output.WriterOutputStream: void <init>(java.io.Writer,java.nio.charset.CharsetDecoder,int,boolean)>(v, v, 1024, 0);
return;
}
public void <init>(java.io.Writer, java.nio.charset.CharsetDecoder, int, boolean)
{
java.nio.CharBuffer v;
java.nio.charset.CharsetDecoder v;
java.nio.ByteBuffer v;
java.nio.charset.Charset v;
int v;
java.io.Writer v;
boolean v;
org.apache.commons.io.output.WriterOutputStream v;
v := @this: org.apache.commons.io.output.WriterOutputStream;
v := @parameter: java.io.Writer;
v := @parameter: java.nio.charset.CharsetDecoder;
v := @parameter: int;
v := @parameter: boolean;
specialinvoke v.<java.io.OutputStream: void <init>()>();
v = staticinvoke <java.nio.ByteBuffer: java.nio.ByteBuffer allocate(int)>(128);
v.<org.apache.commons.io.output.WriterOutputStream: java.nio.ByteBuffer decoderIn> = v;
v = virtualinvoke v.<java.nio.charset.CharsetDecoder: java.nio.charset.Charset charset()>();
staticinvoke <org.apache.commons.io.output.WriterOutputStream: void checkIbmJdkWithBrokenUTF16(java.nio.charset.Charset)>(v);
v.<org.apache.commons.io.output.WriterOutputStream: java.io.Writer writer> = v;
v.<org.apache.commons.io.output.WriterOutputStream: java.nio.charset.CharsetDecoder decoder> = v;
v.<org.apache.commons.io.output.WriterOutputStream: boolean writeImmediately> = v;
v = staticinvoke <java.nio.CharBuffer: java.nio.CharBuffer allocate(int)>(v);
v.<org.apache.commons.io.output.WriterOutputStream: java.nio.CharBuffer decoderOut> = v;
return;
}
public void <init>(java.io.Writer, java.nio.charset.Charset, int, boolean)
{
java.nio.charset.CharsetDecoder v, v, v, v;
java.nio.charset.Charset v;
java.nio.charset.CodingErrorAction v, v;
int v;
java.io.Writer v;
boolean v;
org.apache.commons.io.output.WriterOutputStream v;
v := @this: org.apache.commons.io.output.WriterOutputStream;
v := @parameter: java.io.Writer;
v := @parameter: java.nio.charset.Charset;
v := @parameter: int;
v := @parameter: boolean;
v = virtualinvoke v.<java.nio.charset.Charset: java.nio.charset.CharsetDecoder newDecoder()>();
v = <java.nio.charset.CodingErrorAction: java.nio.charset.CodingErrorAction REPLACE>;
v = virtualinvoke v.<java.nio.charset.CharsetDecoder: java.nio.charset.CharsetDecoder onMalformedInput(java.nio.charset.CodingErrorAction)>(v);
v = <java.nio.charset.CodingErrorAction: java.nio.charset.CodingErrorAction REPLACE>;
v = virtualinvoke v.<java.nio.charset.CharsetDecoder: java.nio.charset.CharsetDecoder onUnmappableCharacter(java.nio.charset.CodingErrorAction)>(v);
v = virtualinvoke v.<java.nio.charset.CharsetDecoder: java.nio.charset.CharsetDecoder replaceWith(java.lang.String)>("?");
specialinvoke v.<org.apache.commons.io.output.WriterOutputStream: void <init>(java.io.Writer,java.nio.charset.CharsetDecoder,int,boolean)>(v, v, v, v);
return;
}
public void <init>(java.io.Writer, java.nio.charset.Charset)
{
java.io.Writer v;
java.nio.charset.Charset v;
org.apache.commons.io.output.WriterOutputStream v;
v := @this: org.apache.commons.io.output.WriterOutputStream;
v := @parameter: java.io.Writer;
v := @parameter: java.nio.charset.Charset;
specialinvoke v.<org.apache.commons.io.output.WriterOutputStream: void <init>(java.io.Writer,java.nio.charset.Charset,int,boolean)>(v, v, 1024, 0);
return;
}
public void <init>(java.io.Writer, java.lang.String, int, boolean)
{
java.nio.charset.Charset v;
int v;
java.io.Writer v;
java.lang.String v;
boolean v;
org.apache.commons.io.output.WriterOutputStream v;
v := @this: org.apache.commons.io.output.WriterOutputStream;
v := @parameter: java.io.Writer;
v := @parameter: java.lang.String;
v := @parameter: int;
v := @parameter: boolean;
v = staticinvoke <java.nio.charset.Charset: java.nio.charset.Charset forName(java.lang.String)>(v);
specialinvoke v.<org.apache.commons.io.output.WriterOutputStream: void <init>(java.io.Writer,java.nio.charset.Charset,int,boolean)>(v, v, v, v);
return;
}
public void <init>(java.io.Writer, java.lang.String)
{
java.io.Writer v;
java.lang.String v;
org.apache.commons.io.output.WriterOutputStream v;
v := @this: org.apache.commons.io.output.WriterOutputStream;
v := @parameter: java.io.Writer;
v := @parameter: java.lang.String;
specialinvoke v.<org.apache.commons.io.output.WriterOutputStream: void <init>(java.io.Writer,java.lang.String,int,boolean)>(v, v, 1024, 0);
return;
}
public void <init>(java.io.Writer)
{
java.io.Writer v;
java.nio.charset.Charset v;
org.apache.commons.io.output.WriterOutputStream v;
v := @this: org.apache.commons.io.output.WriterOutputStream;
v := @parameter: java.io.Writer;
v = staticinvoke <java.nio.charset.Charset: java.nio.charset.Charset defaultCharset()>();
specialinvoke v.<org.apache.commons.io.output.WriterOutputStream: void <init>(java.io.Writer,java.nio.charset.Charset,int,boolean)>(v, v, 1024, 0);
return;
}
public void write(byte[], int, int) throws java.io.IOException
{
byte[] v;
java.nio.ByteBuffer v, v;
int v, v, v, v;
boolean v;
org.apache.commons.io.output.WriterOutputStream v;
v := @this: org.apache.commons.io.output.WriterOutputStream;
v := @parameter: byte[];
v := @parameter: int;
v := @parameter: int;
label:
if v <= 0 goto label;
v = v.<org.apache.commons.io.output.WriterOutputStream: java.nio.ByteBuffer decoderIn>;
v = virtualinvoke v.<java.nio.ByteBuffer: int remaining()>();
v = staticinvoke <java.lang.Math: int min(int,int)>(v, v);
v = v.<org.apache.commons.io.output.WriterOutputStream: java.nio.ByteBuffer decoderIn>;
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer put(byte[],int,int)>(v, v, v);
specialinvoke v.<org.apache.commons.io.output.WriterOutputStream: void processInput(boolean)>(0);
v = v - v;
v = v + v;
goto label;
label:
v = v.<org.apache.commons.io.output.WriterOutputStream: boolean writeImmediately>;
if v == 0 goto label;
specialinvoke v.<org.apache.commons.io.output.WriterOutputStream: void flushOutput()>();
label:
return;
}
public void write(byte[]) throws java.io.IOException
{
int v;
byte[] v;
org.apache.commons.io.output.WriterOutputStream v;
v := @this: org.apache.commons.io.output.WriterOutputStream;
v := @parameter: byte[];
v = lengthof v;
virtualinvoke v.<org.apache.commons.io.output.WriterOutputStream: void write(byte[],int,int)>(v, 0, v);
return;
}
public void write(int) throws java.io.IOException
{
int v;
byte[] v;
org.apache.commons.io.output.WriterOutputStream v;
v := @this: org.apache.commons.io.output.WriterOutputStream;
v := @parameter: int;
v = newarray (byte)[1];
v[0] = v;
virtualinvoke v.<org.apache.commons.io.output.WriterOutputStream: void write(byte[],int,int)>(v, 0, 1);
return;
}
public void flush() throws java.io.IOException
{
java.io.Writer v;
org.apache.commons.io.output.WriterOutputStream v;
v := @this: org.apache.commons.io.output.WriterOutputStream;
specialinvoke v.<org.apache.commons.io.output.WriterOutputStream: void flushOutput()>();
v = v.<org.apache.commons.io.output.WriterOutputStream: java.io.Writer writer>;
virtualinvoke v.<java.io.Writer: void flush()>();
return;
}
public void close() throws java.io.IOException
{
java.io.Writer v;
org.apache.commons.io.output.WriterOutputStream v;
v := @this: org.apache.commons.io.output.WriterOutputStream;
specialinvoke v.<org.apache.commons.io.output.WriterOutputStream: void processInput(boolean)>(1);
specialinvoke v.<org.apache.commons.io.output.WriterOutputStream: void flushOutput()>();
v = v.<org.apache.commons.io.output.WriterOutputStream: java.io.Writer writer>;
virtualinvoke v.<java.io.Writer: void close()>();
return;
}
private void processInput(boolean) throws java.io.IOException
{
java.nio.CharBuffer v;
java.io.IOException v;
java.nio.charset.CharsetDecoder v;
java.nio.ByteBuffer v, v, v;
java.nio.charset.CoderResult v;
boolean v, v, v;
org.apache.commons.io.output.WriterOutputStream v;
v := @this: org.apache.commons.io.output.WriterOutputStream;
v := @parameter: boolean;
v = v.<org.apache.commons.io.output.WriterOutputStream: java.nio.ByteBuffer decoderIn>;
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer flip()>();
label:
v = v.<org.apache.commons.io.output.WriterOutputStream: java.nio.charset.CharsetDecoder decoder>;
v = v.<org.apache.commons.io.output.WriterOutputStream: java.nio.ByteBuffer decoderIn>;
v = v.<org.apache.commons.io.output.WriterOutputStream: java.nio.CharBuffer decoderOut>;
v = virtualinvoke v.<java.nio.charset.CharsetDecoder: java.nio.charset.CoderResult decode(java.nio.ByteBuffer,java.nio.CharBuffer,boolean)>(v, v, v);
v = virtualinvoke v.<java.nio.charset.CoderResult: boolean isOverflow()>();
if v == 0 goto label;
specialinvoke v.<org.apache.commons.io.output.WriterOutputStream: void flushOutput()>();
goto label;
label:
v = virtualinvoke v.<java.nio.charset.CoderResult: boolean isUnderflow()>();
if v != 0 goto label;
v = new java.io.IOException;
specialinvoke v.<java.io.IOException: void <init>(java.lang.String)>("Unexpected coder result");
throw v;
label:
v = v.<org.apache.commons.io.output.WriterOutputStream: java.nio.ByteBuffer decoderIn>;
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer compact()>();
return;
}
private void flushOutput() throws java.io.IOException
{
java.nio.CharBuffer v, v, v, v;
int v, v;
java.io.Writer v;
char[] v;
org.apache.commons.io.output.WriterOutputStream v;
v := @this: org.apache.commons.io.output.WriterOutputStream;
v = v.<org.apache.commons.io.output.WriterOutputStream: java.nio.CharBuffer decoderOut>;
v = virtualinvoke v.<java.nio.CharBuffer: int position()>();
if v <= 0 goto label;
v = v.<org.apache.commons.io.output.WriterOutputStream: java.io.Writer writer>;
v = v.<org.apache.commons.io.output.WriterOutputStream: java.nio.CharBuffer decoderOut>;
v = virtualinvoke v.<java.nio.CharBuffer: char[] array()>();
v = v.<org.apache.commons.io.output.WriterOutputStream: java.nio.CharBuffer decoderOut>;
v = virtualinvoke v.<java.nio.CharBuffer: int position()>();
virtualinvoke v.<java.io.Writer: void write(char[],int,int)>(v, 0, v);
v = v.<org.apache.commons.io.output.WriterOutputStream: java.nio.CharBuffer decoderOut>;
virtualinvoke v.<java.nio.CharBuffer: java.nio.CharBuffer rewind()>();
label:
return;
}
private static void checkIbmJdkWithBrokenUTF16(java.nio.charset.Charset)
{
byte[] v;
java.nio.ByteBuffer v;
byte v;
java.nio.charset.Charset v;
int v, v, v, v;
java.lang.String v, v, v, v, v, v;
boolean v, v, v;
java.lang.UnsupportedOperationException v, v;
java.nio.CharBuffer v;
java.nio.charset.CharsetDecoder v;
java.lang.IllegalArgumentException v;
v := @parameter: java.nio.charset.Charset;
v = "UTF-16";
v = virtualinvoke v.<java.nio.charset.Charset: java.lang.String name()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
return;
label:
v = "v\u00e9s";
v = virtualinvoke v.<java.lang.String: byte[] getBytes(java.nio.charset.Charset)>(v);
v = virtualinvoke v.<java.nio.charset.Charset: java.nio.charset.CharsetDecoder newDecoder()>();
v = staticinvoke <java.nio.ByteBuffer: java.nio.ByteBuffer allocate(int)>(16);
v = "v\u00e9s";
v = virtualinvoke v.<java.lang.String: int length()>();
v = staticinvoke <java.nio.CharBuffer: java.nio.CharBuffer allocate(int)>(v);
v = lengthof v;
v = 0;
label:
if v >= v goto label;
v = v[v];
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer put(byte)>(v);
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer flip()>();
label:
v = v - 1;
if v != v goto label;
v = 1;
goto label;
label:
v = 0;
label:
virtualinvoke v.<java.nio.charset.CharsetDecoder: java.nio.charset.CoderResult decode(java.nio.ByteBuffer,java.nio.CharBuffer,boolean)>(v, v, v);
label:
goto label;
label:
v := @caughtexception;
v = new java.lang.UnsupportedOperationException;
specialinvoke v.<java.lang.UnsupportedOperationException: void <init>(java.lang.String)>("UTF-16 requested when running on an IBM JDK with broken UTF-16 support. Please find a JDK that supports UTF-16 if you intend to use UF-16 with WriterOutputStream");
throw v;
label:
virtualinvoke v.<java.nio.ByteBuffer: java.nio.ByteBuffer compact()>();
v = v + 1;
goto label;
label:
virtualinvoke v.<java.nio.CharBuffer: java.nio.CharBuffer rewind()>();
v = "v\u00e9s";
v = virtualinvoke v.<java.nio.CharBuffer: java.lang.String toString()>();
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>(v);
if v != 0 goto label;
v = new java.lang.UnsupportedOperationException;
specialinvoke v.<java.lang.UnsupportedOperationException: void <init>(java.lang.String)>("UTF-16 requested when running on an IBM JDK with broken UTF-16 support. Please find a JDK that supports UTF-16 if you intend to use UF-16 with WriterOutputStream");
throw v;
label:
return;
catch java.lang.IllegalArgumentException from label to label with label;
}
}