-
Notifications
You must be signed in to change notification settings - Fork 10.5k
ClangImporter: Reconcile Clang declaration hidden-ness between loadAllMembers() and lazy loading #29418
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
ClangImporter: Reconcile Clang declaration hidden-ness between loadAllMembers() and lazy loading #29418
Conversation
@swift-ci Please test |
@swift-ci Please test source compatibility |
@@ -8670,7 +8670,8 @@ void ClangImporter::Implementation::collectMembersToAdd( | |||
for (const clang::Decl *m : objcContainer->decls()) { | |||
auto nd = dyn_cast<clang::NamedDecl>(m); | |||
if (nd && nd == nd->getCanonicalDecl() && | |||
nd->getDeclContext() == objcContainer) | |||
nd->getDeclContext() == objcContainer && | |||
isVisibleClangEntry(nd)) |
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.
@DougGregor This is the relevant part of the change...
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.
Ah, looks totally reasonable!
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, thank you!
Build failed |
Build failed |
7bc8d75
to
b6a488f
Compare
@swift-ci Please test |
Build failed |
Build failed |
…lMembers() and lazy loading Lazy loading checked if the ClangDecl was hidden, but loading all members did not. Let's make loadAllMembers() behave like the lazy path, and fix some of the mock SDKs in the test suite.
b6a488f
to
305620b
Compare
@swift-ci Please smoke test |
1 similar comment
@swift-ci Please smoke test |
Lazy loading checked if the ClangDecl was hidden, but loading all
members did not. Let's make loadAllMembers() behave like the lazy
path, and fix some of the mock SDKs in the test suite.