Skip to content

Conversation

dmcyk
Copy link
Contributor

@dmcyk dmcyk commented May 7, 2019

Currently SDK conformance nodes include protocol name and printedName keys, where both are equal, demangled names. Seems like this is sufficient for changes analysis, but its not possible to uniquely identify the protocols.
For my use case including USR would be very useful, as then protocols can be identified across module boundaries. Currently I can't be certain about this even with some intermediate analysis, as there could be a collision in protocol names between modules.

The information is already there, it only has to be serialised.

Tests for stdlib are passing on my local machine without any changes.
I tried to update them as well, but there were other changes as well, so I guess the file stdlib inputs are not totally up to date?

@nkcsgexi do you think this is relevant for upstreaming?

SDK conformance nodes include only protocol
`name` and `printedName`, both are demangled.
USR field of the protocol type is added, to be able
to uniquely identify conformances.
Copy link
Contributor

@nkcsgexi nkcsgexi left a comment

Choose a reason for hiding this comment

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

This seems to me a valuable addition👍. Could you remove the unrelated white space change?

@dmcyk
Copy link
Contributor Author

dmcyk commented May 13, 2019

Fixed 👍

@nkcsgexi
Copy link
Contributor

@swift-ci please smoke test

@nkcsgexi
Copy link
Contributor

@swift-ci Please smoke test OS X platform

@nkcsgexi nkcsgexi merged commit bf93fac into swiftlang:master May 13, 2019
@dmcyk dmcyk deleted the ProtocolUSR branch May 14, 2019 04:47
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.

2 participants