Overdue Bugfixes
-
When lexer errors are encountered (missing quotes or invalid tokens), we used to throw a warning:
attempting to lex file while file is already being lexed, stop it
. That happens because we want to print the context, which requires reading the file, which happens to read the tokens, which... etc. etc. We've just fixed it by returning the current state if we request file contents while lexing. -
Types were not usable from imported modules. Anything that required fetching the SST node of a given
fir::Type
would not work if the type in question was defined in an imported module. I guess we didn't have a test case for this, but the main issue was that thetypeDefnMap
of imported modules was not actually copied to the importing module.
Fixed by a small refactor.