Skip to content

Commit 602efe9

Browse files
transducerbbatsov
authored andcommitted
[Fix #570] Use base class of different writers
Although the `forking-writer` *should be* a `PrintWriter`, in practice we've seen that a `BufferedWriter` can be returned. This led to the error: >java.lang.ClassCastException: java.io.BufferedWriter cannot be cast to java.io.PrintWriter These types of errors are avoided by using the base class `Writer` of the `BufferedWriter` and `PrintWriter`, just as is done in the rest of this file.
1 parent 4610439 commit 602efe9

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

src/cider/nrepl/middleware/out.clj

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@
8181
print-timer (Timer.)
8282
print-flusher (proxy [TimerTask] []
8383
(run []
84-
(.flush ^PrintWriter @printer)))]
84+
(.flush ^Writer @printer)))]
8585
(.scheduleAtFixedRate print-timer print-flusher delay delay)
8686
(PrintStream.
8787
(proxy [OutputStream] []
@@ -92,13 +92,13 @@
9292
(write
9393
([int-or-bytes]
9494
(if (instance? Integer int-or-bytes)
95-
(.write ^PrintWriter @printer ^Integer int-or-bytes)
96-
(.write ^PrintWriter @printer (String. ^"[B" int-or-bytes))))
95+
(.write ^Writer @printer ^Integer int-or-bytes)
96+
(.write ^Writer @printer (String. ^"[B" int-or-bytes))))
9797
([^"[B" bytes ^Integer off ^Integer len]
9898
(let [byte-range (byte-array (take len (drop off bytes)))]
99-
(.write ^PrintWriter @printer (String. byte-range)))))
99+
(.write ^Writer @printer (String. byte-range)))))
100100
(flush []
101-
(.flush ^PrintWriter @printer))))))
101+
(.flush ^Writer @printer))))))
102102

103103
;;; Known eval sessions
104104
(def tracked-sessions-map

0 commit comments

Comments
 (0)