Skip to content

Split subclasses out of ArchetypeType. #21244

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

Merged
merged 1 commit into from
Dec 12, 2018

Conversation

jckarter
Copy link
Contributor

Context archetypes and opened existential archetypes differ in a number of details, and this simplifies the overlapping storage of the kind-specific fields. This should be NFC; for now, this doesn't change the interface of ArchetypeType, but should allow some refinements of how the special handling of certain archetypes are handled.

@jckarter jckarter requested a review from DougGregor December 12, 2018 04:25
@jckarter
Copy link
Contributor Author

@swift-ci Please test

Copy link
Contributor

@slavapestov slavapestov left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don't forget to update LLDB which annoyingly switches over TypeKind a lot

@@ -131,9 +131,13 @@ ABSTRACT_TYPE(AnyMetatype, Type)
ALWAYS_CANONICAL_TYPE(Module, Type)
TYPE(DynamicSelf, Type)
ABSTRACT_TYPE(Substitutable, Type)
ALWAYS_CANONICAL_TYPE(Archetype, SubstitutableType)
ABSTRACT_TYPE(Archetype, SubstitutableType)
ALWAYS_CANONICAL_TYPE(ContextArchetype, ArchetypeType)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I hate to make you rename everything but we've called these "primary archetypes" elsewhere

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No problem. I'll also rename ChildArchetype to NestedArchetype, which jives better with the terminology used elsewhere.

@swift-ci
Copy link
Contributor

Build failed
Swift Test OS X Platform
Git Sha - f5e5982c4ee5f5a7754230005be5fb92315318ef

@swift-ci
Copy link
Contributor

Build failed
Swift Test Linux Platform
Git Sha - f5e5982c4ee5f5a7754230005be5fb92315318ef

Context archetypes and opened existential archetypes differ in a number of details, and this simplifies the overlapping storage of the kind-specific fields. This should be NFC; for now, this doesn't change the interface of ArchetypeType, but should allow some refinements of how the special handling of certain archetypes are handled.
@jckarter
Copy link
Contributor Author

Please test with following pull request:
apple/swift-lldb#1133

@swift-ci Please test

@jckarter
Copy link
Contributor Author

@slavapestov How's this look now?

@swift-ci
Copy link
Contributor

Build failed
Swift Test OS X Platform
Git Sha - f5e5982c4ee5f5a7754230005be5fb92315318ef

@swift-ci
Copy link
Contributor

Build failed
Swift Test Linux Platform
Git Sha - f5e5982c4ee5f5a7754230005be5fb92315318ef

@jckarter jckarter merged commit 20a2f3e into swiftlang:master Dec 12, 2018
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.

3 participants