|
The resident compiler does its best to clean the decks at
the conclusion of a compilation batch.
One part of this is as follows: if the run was erroneous,
reset the info of top level symbols defined in this run
to the initial state, that is, to a `SourceFileLoader`.
However, if the errors came late in the compilation pipeline,
the map from symbols to the source files includes the results
of the specialization transformation, which ends up with
mappings like `Function1$sp... -> null`.
This results in a `NullPointerException` on subsequent runs.
This commits filters out null source files during the reset
process.
|