-
Notifications
You must be signed in to change notification settings - Fork 10.5k
[Driver][SymbolGraph] add new flag -symbol-graph-minimum-access-level #39865
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 |
@swift-ci Please build toolchain macOS platform |
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.
LGTM, thanks!
@swift-ci Please smoke test macOS platform |
@swift-ci Please build toolchain macOS platform |
Gonna retry the test in case that one error was a fluke with a stale cache... @swift-ci Please smoke test macOS platform |
@swift-ci Please build toolchain macOS platform |
Using swiftlang/swift-driver#890 @swift-ci Please smoke test |
Using swiftlang/swift-driver#890 @swift-ci Please build toolchain macOS platform |
macOS Toolchain Install command |
Resolves rdar://79099869
When generating a symbol graph, it's sometimes useful to include information for non-public symbols. However, symbol graphs generating during a compile were always forced to a "minimum access level" of "public". The only option was to run
swift-symbolgraph-extract
after the fact and use its-minimum-access-level
flag. This PR adds a new flag to the driver,-symbol-graph-minimum-access-level
, that allows users to specify access levels other than "public" when generating symbol graphs during a compile.I also took the opportunity to strip out the symbol-graph-specific fields from
SerializationOptions
, in favor of pulling theSymbolGraphOptions
directly from theCompilerInvocation
that parses them from the args. (I added those args back in #38070, but didn't connect them all the way down to where they were used in theserialize()
function. Here, i finished the job.)