-
Notifications
You must be signed in to change notification settings - Fork 10.5k
Importer refactor #4737
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
Importer refactor #4737
Conversation
Pull off the caching code from the Impl and onto a new EnumInfoCache class, that will be useful as we decouple import naming from the Impl class state.
Introduces new files ClangAdapter.h/cpp, which will serve as a convenient place to put code reasoning about Clang details. Refactors out most Clang-related is*, has*, and get* methods from the ImporterImpl. In the future, an adapter class could help serve to seperate the concerns of the importer from the details of how to correctly use Clang APIs.
By refactoring out PlatformAvailability from the ClangImporter, we can more easily refactor out isUnavailableInSwift from the impl, which will free us up to do more flexible import naming.
Pull omitNeedlessWordsInFunctionName off of the Impl, and into a static function local to ImportName.cpp. Separate it out from the Impl entirely. Though this adds a couple of extra ugly parameters, it's one of the last bits of tie-in between importFullName and the Impl.
Finally separates out importFullName from the Impl, and it now only relies on relevant Swift and Clang information, but no importer state. Convenience functionality, better APIs, and more clean up coming soon.
@swift-ci please smoke test |
flaky LLDB |
@shahmishal I thought LLDB tests were disabled? |
Linux smoke test still has LLDB test enabled, is this failure related to this change?
Master Linux LLDB bot has been passing, https://ci.swift.org/job/oss-lldb-incremental-linux-ubuntu-14_04/ |
Unless horribly misnamed (definitely a possibility), I don't see how a test named "lang/cpp/stl/TestSTL.py" would be relevant to the Swift project. |
@swift-ci please smoke test Linux Platform |
Resolves SR-NNNN.