@Override public void close() throws IOException { OutputStreamList outs = getOutList(); if (outs != null) { outs.closeMulti(); } out.close(); }
@Override public void flush() throws IOException { OutputStreamList outs = getOutList(); if (outs != null) { outs.flushMulti(); } out.flush(); }
@TruffleBoundary void closeMulti() { for (OutputStream os : outs) { try { os.close(); } catch (Throwable t) { if (!seenException) { CompilerDirectives.transferToInterpreterAndInvalidate(); seenException = true; } handleException("close()", os, t); } } outs.clear(); synchronized (this) { reportedExceptions = null; } }
@TruffleBoundary void closeMulti() { for (OutputStream os : outs) { try { os.close(); } catch (Throwable t) { if (!seenException) { CompilerDirectives.transferToInterpreterAndInvalidate(); seenException = true; } handleException("close()", os, t); } } outs.clear(); synchronized (this) { reportedExceptions = null; } }
@TruffleBoundary void flushMulti() { for (OutputStream os : outs) { try { os.flush(); } catch (Throwable t) { if (!seenException) { CompilerDirectives.transferToInterpreterAndInvalidate(); seenException = true; } handleException("flush()", os, t); } } }
@TruffleBoundary void flushMulti() { for (OutputStream os : outs) { try { os.flush(); } catch (Throwable t) { if (!seenException) { CompilerDirectives.transferToInterpreterAndInvalidate(); seenException = true; } handleException("flush()", os, t); } } }
@TruffleBoundary void writeMulti(int b) { for (OutputStream os : outs) { try { os.write(b); } catch (Throwable t) { if (!seenException) { CompilerDirectives.transferToInterpreterAndInvalidate(); seenException = true; } handleException("write(I)", os, t); } } }
@TruffleBoundary void writeMulti(byte[] b) { for (OutputStream os : outs) { try { os.write(b); } catch (Throwable t) { if (!seenException) { CompilerDirectives.transferToInterpreterAndInvalidate(); seenException = true; } handleException("write(B[)", os, t); } } }
@TruffleBoundary void writeMulti(int b) { for (OutputStream os : outs) { try { os.write(b); } catch (Throwable t) { if (!seenException) { CompilerDirectives.transferToInterpreterAndInvalidate(); seenException = true; } handleException("write(I)", os, t); } } }
@TruffleBoundary void writeMulti(byte[] b, int off, int len) { for (OutputStream os : outs) { try { os.write(b, off, len); } catch (Throwable t) { if (!seenException) { CompilerDirectives.transferToInterpreterAndInvalidate(); seenException = true; } handleException("write(B[II)", os, t); } } }
@TruffleBoundary void writeMulti(byte[] b, int off, int len) { for (OutputStream os : outs) { try { os.write(b, off, len); } catch (Throwable t) { if (!seenException) { CompilerDirectives.transferToInterpreterAndInvalidate(); seenException = true; } handleException("write(B[II)", os, t); } } }
@TruffleBoundary void writeMulti(byte[] b) { for (OutputStream os : outs) { try { os.write(b); } catch (Throwable t) { if (!seenException) { CompilerDirectives.transferToInterpreterAndInvalidate(); seenException = true; } handleException("write(B[)", os, t); } } }
@Override public void close() throws IOException { OutputStreamList outs = getOutList(); if (outs != null) { outs.closeMulti(); } out.close(); }
@Override public void write(int b) throws IOException { OutputStreamList outs = delegate.getOutList(); if (outs != null) { outs.writeMulti(b); } out.write(b); }
@Override public void write(int b) throws IOException { OutputStreamList outs = getOutList(); if (outs != null) { outs.writeMulti(b); } out.write(b); }
@Override public void write(int b) throws IOException { OutputStreamList outs = getOutList(); if (outs != null) { outs.writeMulti(b); } out.write(b); }
@Override public void close() throws IOException { OutputStreamList outs = delegate.getOutList(); if (outs != null) { outs.closeMulti(); } out.close(); } }
@Override public void flush() throws IOException { OutputStreamList outs = getOutList(); if (outs != null) { outs.flushMulti(); } out.flush(); }
@Override public void write(byte[] b, int off, int len) throws IOException { OutputStreamList outs = delegate.getOutList(); if (outs != null) { outs.writeMulti(b, off, len); } out.write(b, off, len); }
@Override public void write(byte[] b) throws IOException { OutputStreamList outs = delegate.getOutList(); if (outs != null) { outs.writeMulti(b); } out.write(b); }