Skip to content

Reworking ClangImporter to not depend on Sema, part 5 #11890

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

slavapestov
Copy link
Contributor

@slavapestov slavapestov commented Sep 13, 2017

Follow-up to #11873 which moves resolveKnownTypeWitness() from the AST to the ClangImporter, and makes it the canonical way of resolving associated types of imported conformances, even before the type checker is torn down.

Unfortunately we still rely on the type checker to resolve the RawValue associated type in some RawRepresentable conformances. I think there's a logic error in ConformanceLookupTable that was previously not visible, but I haven't figured it out yet.

@slavapestov slavapestov changed the title Reworking ClangImporter to not depend on Sema, part 5 [WIP] Reworking ClangImporter to not depend on Sema, part 5 Sep 13, 2017
@slavapestov slavapestov force-pushed the divorce-clang-importer-from-sema-part-5 branch from 7bc212a to 0c6a3b8 Compare September 13, 2017 02:04
There was some duplicate code for adding protocols to inheritance
clauses and constructing the SynthesizedProtocolAttrs that indicate
a conformance should have a LazyConformanceLoader.

Clean this up to make it less error-prone.

NFC for now, until further changes land.
@slavapestov slavapestov force-pushed the divorce-clang-importer-from-sema-part-5 branch from 0c6a3b8 to ae5d6fd Compare September 13, 2017 05:41
@slavapestov slavapestov changed the title [WIP] Reworking ClangImporter to not depend on Sema, part 5 Reworking ClangImporter to not depend on Sema, part 5 Sep 13, 2017
@slavapestov
Copy link
Contributor Author

@swift-ci Please smoke test

@slavapestov
Copy link
Contributor Author

@swift-ci Please test source compatibility

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant