@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 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 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) { for (OutputStream os : outs) { try { os.write(b); } catch (Throwable t) { if (!seenException) { CompilerDirectives.transferToInterpreterAndInvalidate(); seenException = true; } handleException("write(B[)", os, t); } } }