public abstract class com.google.common.io.CharSink extends java.lang.Object
{
protected void <init>()
{
com.google.common.io.CharSink v;
v := @this: com.google.common.io.CharSink;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public abstract java.io.Writer openStream() throws java.io.IOException;
public java.io.Writer openBufferedStream() throws java.io.IOException
{
java.io.Writer v;
com.google.common.io.CharSink v;
boolean v;
v := @this: com.google.common.io.CharSink;
v = virtualinvoke v.<com.google.common.io.CharSink: java.io.Writer openStream()>();
v = v instanceof java.io.BufferedWriter;
if v != 0 goto label;
v = new java.io.BufferedWriter;
specialinvoke v.<java.io.BufferedWriter: void <init>(java.io.Writer)>(v);
label:
return v;
}
public void write(java.lang.CharSequence) throws java.io.IOException
{
java.lang.Throwable v;
java.lang.CharSequence v;
com.google.common.io.Closer v;
java.io.Closeable v;
java.io.Writer v;
java.lang.RuntimeException v;
com.google.common.io.CharSink v;
v := @this: com.google.common.io.CharSink;
v := @parameter: java.lang.CharSequence;
staticinvoke <com.google.common.base.Preconditions: java.lang.Object checkNotNull(java.lang.Object)>(v);
v = staticinvoke <com.google.common.io.Closer: com.google.common.io.Closer create()>();
label:
v = virtualinvoke v.<com.google.common.io.CharSink: java.io.Writer openStream()>();
v = virtualinvoke v.<com.google.common.io.Closer: java.io.Closeable register(java.io.Closeable)>(v);
virtualinvoke v.<java.io.Writer: java.io.Writer append(java.lang.CharSequence)>(v);
virtualinvoke v.<java.io.Writer: void flush()>();
label:
virtualinvoke v.<com.google.common.io.Closer: void close()>();
goto label;
label:
v := @caughtexception;
v = virtualinvoke v.<com.google.common.io.Closer: java.lang.RuntimeException rethrow(java.lang.Throwable)>(v);
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
public void writeLines(java.lang.Iterable) throws java.io.IOException
{
java.lang.String v;
com.google.common.io.CharSink v;
java.lang.Iterable v;
v := @this: com.google.common.io.CharSink;
v := @parameter: java.lang.Iterable;
v = staticinvoke <java.lang.System: java.lang.String getProperty(java.lang.String)>("line.separator");
virtualinvoke v.<com.google.common.io.CharSink: void writeLines(java.lang.Iterable,java.lang.String)>(v, v);
return;
}
public void writeLines(java.lang.Iterable, java.lang.String) throws java.io.IOException
{
java.util.Iterator v;
java.lang.String v;
com.google.common.io.CharSink v;
java.lang.Iterable v;
v := @this: com.google.common.io.CharSink;
v := @parameter: java.lang.Iterable;
v := @parameter: java.lang.String;
v = interfaceinvoke v.<java.lang.Iterable: java.util.Iterator iterator()>();
specialinvoke v.<com.google.common.io.CharSink: void writeLines(java.util.Iterator,java.lang.String)>(v, v);
return;
}
public void writeLines(java.util.stream.Stream) throws java.io.IOException
{
java.lang.String v;
java.util.stream.Stream v;
com.google.common.io.CharSink v;
v := @this: com.google.common.io.CharSink;
v := @parameter: java.util.stream.Stream;
v = staticinvoke <java.lang.System: java.lang.String getProperty(java.lang.String)>("line.separator");
virtualinvoke v.<com.google.common.io.CharSink: void writeLines(java.util.stream.Stream,java.lang.String)>(v, v);
return;
}
public void writeLines(java.util.stream.Stream, java.lang.String) throws java.io.IOException
{
java.util.stream.Stream v;
java.util.Iterator v;
java.lang.String v;
com.google.common.io.CharSink v;
v := @this: com.google.common.io.CharSink;
v := @parameter: java.util.stream.Stream;
v := @parameter: java.lang.String;
v = interfaceinvoke v.<java.util.stream.Stream: java.util.Iterator iterator()>();
specialinvoke v.<com.google.common.io.CharSink: void writeLines(java.util.Iterator,java.lang.String)>(v, v);
return;
}
private void writeLines(java.util.Iterator, java.lang.String) throws java.io.IOException
{
java.lang.Throwable v;
java.util.Iterator v;
com.google.common.io.CharSink v;
java.io.Writer v, v;
java.lang.Object v;
java.lang.String v;
boolean v;
v := @this: com.google.common.io.CharSink;
v := @parameter: java.util.Iterator;
v := @parameter: java.lang.String;
staticinvoke <com.google.common.base.Preconditions: java.lang.Object checkNotNull(java.lang.Object)>(v);
v = virtualinvoke v.<com.google.common.io.CharSink: java.io.Writer openBufferedStream()>();
label:
v = interfaceinvoke v.<java.util.Iterator: boolean hasNext()>();
if v == 0 goto label;
v = interfaceinvoke v.<java.util.Iterator: java.lang.Object next()>();
v = virtualinvoke v.<java.io.Writer: java.io.Writer append(java.lang.CharSequence)>(v);
virtualinvoke v.<java.io.Writer: java.io.Writer append(java.lang.CharSequence)>(v);
goto label;
label:
if v == null goto label;
virtualinvoke v.<java.io.Writer: void close()>();
goto label;
label:
v := @caughtexception;
throw v;
label:
return;
catch java.lang.Throwable from label to label with label;
}
public long writeFrom(java.lang.Readable) throws java.io.IOException
{
java.lang.Throwable v;
long v;
java.lang.RuntimeException v;
com.google.common.io.CharSink v;
com.google.common.io.Closer v;
java.io.Closeable v;
java.io.Writer v;
java.lang.Readable v;
v := @this: com.google.common.io.CharSink;
v := @parameter: java.lang.Readable;
staticinvoke <com.google.common.base.Preconditions: java.lang.Object checkNotNull(java.lang.Object)>(v);
v = staticinvoke <com.google.common.io.Closer: com.google.common.io.Closer create()>();
label:
v = virtualinvoke v.<com.google.common.io.CharSink: java.io.Writer openStream()>();
v = virtualinvoke v.<com.google.common.io.Closer: java.io.Closeable register(java.io.Closeable)>(v);
v = staticinvoke <com.google.common.io.CharStreams: long copy(java.lang.Readable,java.lang.Appendable)>(v, v);
virtualinvoke v.<java.io.Writer: void flush()>();
label:
virtualinvoke v.<com.google.common.io.Closer: void close()>();
return v;
label:
v := @caughtexception;
v = virtualinvoke v.<com.google.common.io.Closer: java.lang.RuntimeException rethrow(java.lang.Throwable)>(v);
throw v;
catch java.lang.Throwable from label to label with label;
}
}