parsing
At the end of each step, we check if any errors are present in the diagnostic_reporter, and if so, we stop parsing.
The logic being: "if there's something wrong with their preprocessor directives, we shouldn't even bother trying to parse the Slice".
However, since the diagnostic reporter is shared among all files, if a file emits an error, parsing future files will exit early.
Preprocessing will always run, then it will see an error occurred, and skip the parsing phase; even though the error was caused by another file!
Currently, parsing a file has 2 steps:
diagnostic_reporter
, and if so, we stop parsing. The logic being: "if there's something wrong with their preprocessor directives, we shouldn't even bother trying to parse the Slice".However, since the diagnostic reporter is shared among all files, if a file emits an error, parsing future files will exit early. Preprocessing will always run, then it will see an error occurred, and skip the parsing phase; even though the error was caused by another file!