diff options
author | Felix Mulder <felix.mulder@gmail.com> | 2016-11-14 21:14:37 +0100 |
---|---|---|
committer | Felix Mulder <felix.mulder@gmail.com> | 2016-11-14 21:14:37 +0100 |
commit | a2354dd7e347a191c6077105b136d683013dd092 (patch) | |
tree | a89d9ddabd0709980949ab9ab1a1f5c48f4e63bd /src | |
parent | f147aedd65407056e0682e3c15f5a7265b96ffa1 (diff) | |
download | dotty-a2354dd7e347a191c6077105b136d683013dd092.tar.gz dotty-a2354dd7e347a191c6077105b136d683013dd092.tar.bz2 dotty-a2354dd7e347a191c6077105b136d683013dd092.zip |
Add note detailing possible memory leak in `StoreReporter`
Diffstat (limited to 'src')
-rw-r--r-- | src/dotty/tools/dotc/reporting/StoreReporter.scala | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/dotty/tools/dotc/reporting/StoreReporter.scala b/src/dotty/tools/dotc/reporting/StoreReporter.scala index bde034845..586273c2e 100644 --- a/src/dotty/tools/dotc/reporting/StoreReporter.scala +++ b/src/dotty/tools/dotc/reporting/StoreReporter.scala @@ -8,9 +8,16 @@ import config.Printers.typr import diagnostic.MessageContainer import diagnostic.messages._ -/** - * This class implements a Reporter that stores all messages - */ +/** This class implements a Reporter that stores all messages + * + * Beware that this reporter can leak memory, and force messages in two + * scenarios: + * + * - During debugging `config.Printers.typr` is set from `noPrinter` to `new + * Printer`, which forces the message + * - The reporter is not flushed and the message containers capture a + * `Context` (about 4MB) + */ class StoreReporter(outer: Reporter) extends Reporter { private var infos: mutable.ListBuffer[MessageContainer] = null |