mirror of https://github.com/sbt/sbt.git
Previous commit used `synchronized` to ensure that the global reporter was not reporting errors from other parsing sessions. Theoretically, though, sbt could invoke parsing in parallel, so it's better to ensure we remove the `synchronized` block, which could also be preventing some JVM optimizations. The following commit solves the issue by introducing a reporter id. A reporter id is a unique identifier that is mapped to a reporter. Every parsing session gets its own identifier, which then is reused for recursive parsing. Error reports between recursive parses cannot collide because the reporter is cleaned in `parse`. |
||
|---|---|---|
| .. | ||
| src | ||
| NOTICE | ||