-
Notifications
You must be signed in to change notification settings - Fork 10.5k
Render symbol graphs for cross-import overlay modules, if present #34922
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
@swift-ci Please smoke test |
@brentdax could you review since this is about cross-import overlays? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks pretty good. I'm going to mark this Approved because I'm not sure that you need to do anything about the filename issue, but please read my comment there before you merge this.
36d0528
to
bf9274d
Compare
@swift-ci Please smoke test |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me!
The |
I wonder if this is related to this bug: https://bugs.swift.org/browse/SR-13635 |
Going to try again and blame some flaky cmark tests... @swift-ci Please clean smoke test and merge |
Currently, the symbol graph tool does not emit information about cross-import overlay modules that the given module declares. This PR proposes probing the currently-known module list after rendering the main symbol graph to determine whether there are any underscore-named modules which overlay the given one, and then rendering additional symbol graphs for them as well, as if they were extensions.
This change includes a new field in the symbol graph format,
module.bystanders
, which lists the "bystander modules" that must be imported alongside the mainmodule.name
module to access the overlay's items. The presence ofmodule.bystanders
applies to all the symbols in the file. Because of the new field, i bumped the symbol graph file format version to 0.5.1.Resolves rdar://59688006