Skip to content

Type reconstruction rework, part 3 #22237

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 6 commits into from
Jan 30, 2019

Conversation

slavapestov
Copy link
Contributor

@slavapestov slavapestov commented Jan 30, 2019

Follow-up to #22185. Fixes two more round-tripping bugs in the demangler, and changes the mangler to preserve protocol names in dependent member types when mangling for debug info. This required a bit of refactoring since we also use this mangling for local type names in serialized modules.

Progress on rdar://problem/41115104..

…C classes

MetadataLookup gives special treatment to imported Objective-C classes,
since there's no nominal type descriptor and metadata is obtained
directly by calling into the Objective-C runtime.

Remote reflection also gives special treatment to imported Objective-C
classes; they don't have field descriptors.

However, the ASTDemangler needs to treat them like ordinary classes,
in particular it wants to preserve the generic arguments here so that
we can round-trip debug info.
For now this just duplicates mangleTypeForDebugger(), but the latter's
behavior is going to change.
@slavapestov
Copy link
Contributor Author

@swift-ci Please test

@slavapestov
Copy link
Contributor Author

@swift-ci Please test source compatibility

@swift-ci
Copy link
Contributor

Build failed
Swift Test OS X Platform
Git Sha - 2b90ad1

@slavapestov
Copy link
Contributor Author

@swift-ci Please smoke test macOS

@slavapestov slavapestov merged commit bcdc9e7 into swiftlang:master Jan 30, 2019
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