/** * Unfortunately, the Eclipse compiler wraps System.out into a BufferedWriter. * * <p>So we get whole buffers here and cannot do anything about it. * * <p>{@inheritDoc} */ public void write(byte[] buf, int off, int len) { super.write(buf, off, len); // we cannot convert back to string because the buffer might start // _inside_ a multibyte character // so we build a simple parser. int _fileno = this.parser.parse(buf, off, len); if (_fileno > -1) { this.listener.setSubStepNo(this.parser.getJobSize()); this.listener.progress(_fileno, this.parser.getLastFilename()); } }
/** * Unfortunately, the Eclipse compiler wraps System.out into a BufferedWriter. * * <p>So we get whole buffers here and cannot do anything about it. * * <p>{@inheritDoc} */ public void write(byte[] buf, int off, int len) { super.write(buf, off, len); // we cannot convert back to string because the buffer might start // _inside_ a multibyte character // so we build a simple parser. int _errno = this.parser.parse(buf, off, len); if (_errno > 0) { // TODO: emit error message instantly, but it may be incomplete yet // and we'd need to throw an exception to abort compilation this.errorCount += _errno; } }