Introduce a number of fixes to allow us to fully use declarations that are produced by applying a peer macro to an imported declarations.
These changes include:
Treating the source file containing swift_attr macros as one that stores macros, so we don't parse it as top-level code
Ensuring that we have the right set of imports in the source file containing the macro expansion, because it depends only on the module it comes from
Ensuring that name lookup looks in that file even when the DeclContext hierarchy doesn't contain the source file (because it's based on the Clang module structure)
Expand testing to be sure that we're getting the right calls, diagnostics, printing APIs, and generated IR symbols.
Introduce a number of fixes to allow us to fully use declarations that are produced by applying a peer macro to an imported declarations.
These changes include:
swift_attr
macros as one that stores macros, so we don't parse it as top-level codeExpand testing to be sure that we're getting the right calls, diagnostics, printing APIs, and generated IR symbols.