-
Notifications
You must be signed in to change notification settings - Fork 10.6k
[APIGen] Account for access scopes of declarations #84116
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
[APIGen] Account for access scopes of declarations #84116
Conversation
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.
This change generally makes sense to me. A couple questions.
-
What happens if, or is it possible, for
S/L/PFlibraries to have public access level APIs? I assume so, but what is a resulting sdkdb info? -
Why not record non-exported decls? Is it because that information may not be used or it can't actually ever be represented as SPI?
Private frameworks and the access scope keywords in Swift are orthogonal. It's also possible for private frameworks to have public access level APIs (public not as in access scope, but in terms of public/private. e.g., a declaration without the
These decls couldn't ever be used as interfaces provided by the module, including API and SPI. From the documentation of |
This is precisely my question. what is the resulting sdkdb entry for this case & does it change with this patch independently of whether theres a better fix for this in a future patch.
I don't know that I fully understand the difference between exposed vs exported. e.g. inlined functions could be not-exported symbols but clients could still use it right? |
Correctly account for access scopes of declarations visited by APIGen: Mark declarations with non-public access scopes as private SPIs. Resolves rdar://159701853
2ada31b to
fea5226
Compare
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. Should the PR description/ultimate merged commit message be updated though?
|
@swift-ci please test |
1 similar comment
|
@swift-ci please test |
|
@swift-ci please smoke test macOS |
|
@swift-ci please test Windows |
Correctly account for access scopes of declarations visited by APIGen: Mark declarations with non-public access scopes as private SPIs. Resolves rdar://159701853
Correctly account for access scopes of declarations visited by APIGen: Mark declarations with non-public access scopes as private SPIs. Resolves rdar://159701853
Correctly account for access scopes of declarations visited by APIGen:
Mark declarations with non-public access scopes as private SPIs.
Resolves rdar://159701853