mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
swift-api-digester: teach the tool to detect member variables change to global ones. rdar://41658300
This commit is contained in:
@@ -1,4 +1,15 @@
|
||||
[
|
||||
{
|
||||
"DiffItemKind": "CommonDiffItem",
|
||||
"NodeKind": "Var",
|
||||
"NodeAnnotation": "RevertSimpleStringRepresentableUpdate",
|
||||
"ChildIndex": "0",
|
||||
"LeftUsr": "c:@globalAttributeName",
|
||||
"LeftComment": "AnimalAttributeName",
|
||||
"RightUsr": "",
|
||||
"RightComment": "String",
|
||||
"ModuleName": "APINotesTest"
|
||||
},
|
||||
{
|
||||
"DiffItemKind": "CommonDiffItem",
|
||||
"NodeKind": "TypeDecl",
|
||||
@@ -161,6 +172,14 @@
|
||||
"NewPrintedName": "oldMember",
|
||||
"NewTypeName": "OldType"
|
||||
},
|
||||
{
|
||||
"DiffItemKind": "TypeMemberDiffItem",
|
||||
"Usr": "c:@globalAttributeName",
|
||||
"OldPrintedName": "globalAttributeName",
|
||||
"OldTypeName": "AnimalAttributeName",
|
||||
"NewPrintedName": "globalAttributeName",
|
||||
"NewTypeName": ""
|
||||
},
|
||||
{
|
||||
"DiffItemKind": "TypeMemberDiffItem",
|
||||
"Usr": "c:objc(pl)TypeWithMethod(cm)plusPrint",
|
||||
|
||||
@@ -2543,6 +2543,12 @@ class TypeMemberDiffFinder : public SDKNodeVisitor {
|
||||
if (nodeParent->getKind() == SDKNodeKind::DeclType &&
|
||||
diffParent->getKind() == SDKNodeKind::Root)
|
||||
TypeMemberDiffs.insert({diffNode, node});
|
||||
|
||||
// Move from a member variable to global variable.
|
||||
if (nodeParent->getKind() == SDKNodeKind::Root &&
|
||||
diffParent->getKind() == SDKNodeKind::DeclType)
|
||||
TypeMemberDiffs.insert({diffNode, node});
|
||||
|
||||
// Move from a member variable to another member variable
|
||||
if (nodeParent->getKind() == SDKNodeKind::DeclType &&
|
||||
diffParent->getKind() == SDKNodeKind::DeclType &&
|
||||
@@ -3757,7 +3763,8 @@ static void findTypeMemberDiffs(NodePtr leftSDKRoot, NodePtr rightSDKRoot,
|
||||
// index, old printed name)
|
||||
TypeMemberDiffItem item = {
|
||||
right->getAs<SDKNodeDecl>()->getUsr(),
|
||||
rightParent->getAs<SDKNodeDecl>()->getFullyQualifiedName(),
|
||||
rightParent->getKind() == SDKNodeKind::Root ?
|
||||
StringRef() : rightParent->getAs<SDKNodeDecl>()->getFullyQualifiedName(),
|
||||
right->getPrintedName(), findSelfIndex(right), None,
|
||||
leftParent->getKind() == SDKNodeKind::Root ?
|
||||
StringRef() : leftParent->getAs<SDKNodeDecl>()->getFullyQualifiedName(),
|
||||
|
||||
Reference in New Issue
Block a user