Skip to content

Commit 2747057

Browse files
authored
Merge pull request #77202 from hamishknight/wrapping-paper-api-digester
[api-digester] Avoid modeling ParenType
2 parents 7ea2b3d + 289092b commit 2747057

File tree

6 files changed

+900
-2568
lines changed

6 files changed

+900
-2568
lines changed

lib/APIDigester/ModuleAnalyzerNodes.cpp

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1065,15 +1065,13 @@ static StringRef getPrintedName(SDKContext &Ctx, Type Ty,
10651065
if (IsImplicitlyUnwrappedOptional)
10661066
PO.PrintOptionalAsImplicitlyUnwrapped = true;
10671067

1068-
Ty.print(OS, PO);
1068+
Ty->getWithoutParens().print(OS, PO);
10691069
return Ctx.buffer(OS.str());
10701070
}
10711071

10721072
static StringRef getTypeName(SDKContext &Ctx, Type Ty,
10731073
bool IsImplicitlyUnwrappedOptional) {
1074-
if (Ty->getKind() == TypeKind::Paren) {
1075-
return Ctx.buffer("Paren");
1076-
}
1074+
Ty = Ty->getWithoutParens();
10771075
if (Ty->isVoid()) {
10781076
return Ctx.buffer("Void");
10791077
}
@@ -1662,12 +1660,6 @@ SwiftDeclCollector::constructTypeNode(Type T, TypeInitInfo Info) {
16621660

16631661
SDKNode* Root = SDKNodeInitInfo(Ctx, T, Info).createSDKNode(SDKNodeKind::TypeNominal);
16641662

1665-
// Keep paren type as a stand-alone level.
1666-
if (auto *PT = dyn_cast<ParenType>(T.getPointer())) {
1667-
Root->addChild(constructTypeNode(PT->getSinglyDesugaredType()));
1668-
return Root;
1669-
}
1670-
16711663
// Handle the case where Type has sub-types.
16721664
if (auto BGT = T->getAs<BoundGenericType>()) {
16731665
for (auto Arg : BGT->getGenericArgs()) {

test/api-digester/Outputs/cake.json

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -684,21 +684,14 @@
684684
},
685685
{
686686
"kind": "TypeNominal",
687-
"name": "Paren",
688-
"printedName": "(cake.Number.Type)",
687+
"name": "Metatype",
688+
"printedName": "cake.Number.Type",
689689
"children": [
690690
{
691691
"kind": "TypeNominal",
692-
"name": "Metatype",
693-
"printedName": "cake.Number.Type",
694-
"children": [
695-
{
696-
"kind": "TypeNominal",
697-
"name": "Number",
698-
"printedName": "cake.Number",
699-
"usr": "s:4cake6NumberO"
700-
}
701-
]
692+
"name": "Number",
693+
"printedName": "cake.Number",
694+
"usr": "s:4cake6NumberO"
702695
}
703696
]
704697
}

test/api-digester/Outputs/clang-module-dump.txt

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -623,16 +623,8 @@
623623
"children": [
624624
{
625625
"kind": "TypeNominal",
626-
"name": "Paren",
627-
"printedName": "(__ObjC.__va_list_tag)",
628-
"children": [
629-
{
630-
"kind": "TypeNominal",
631-
"name": "__va_list_tag",
632-
"printedName": "__ObjC.__va_list_tag",
633-
"usr": "c:@S@__va_list_tag"
634-
}
635-
],
626+
"name": "__va_list_tag",
627+
"printedName": "__ObjC.__va_list_tag",
636628
"usr": "c:@S@__va_list_tag"
637629
}
638630
],

test/api-digester/Outputs/macro-gen.def

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ SDK_CHANGE(Function, WrapOptional, "2:0", "s:12macrogenleft2S1V4foo91x1yySaySDyS
1616
SDK_CHANGE(Function, UnwrapOptional, "1:0:1", "s:12macrogenleft2S1V4foo91x1yySaySDySiSSSgGG_SaySiGtF", "", "", "", "macrogenleft")
1717
SDK_CHANGE(Function, WrapOptional, "1:1:1:1:1:0", "s:12macrogenleft2S1V5foo101xySSSi_SDySiSDySSSaySiGGGtXE_tF", "", "", "", "macrogenleft")
1818
SDK_CHANGE(Function, TypeRewritten, "1:1:1:1", "s:12macrogenleft2S1V5foo111xySSSi_SDySiSDySSSaySiGGGtXE_tF", "", "[String : [Int]]", "Int", "macrogenleft")
19-
SDK_CHANGE(Function, TypeRewritten, "1:1:1:1:1:0:0:0:0", "s:12macrogenleft2S1V5foo121xySSSi_SDySiSDySSSaySiGGGtXE_tF", "", "Int", "String", "macrogenleft")
19+
SDK_CHANGE(Function, TypeRewritten, "1:1:1:1:1:0", "s:12macrogenleft2S1V5foo121xySSSi_SDySiSDySSSaySiGGGtXE_tF", "", "Int", "String", "macrogenleft")
2020
SDK_CHANGE(Constructor, TypeRewritten, "1", "s:12macrogenleft2S1VyACSicfc", "", "Int", "Double", "macrogenleft")
2121
#undef SDK_CHANGE
2222

test/api-digester/Outputs/macro-gen.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@
157157
"DiffItemKind": "CommonDiffItem",
158158
"NodeKind": "Function",
159159
"NodeAnnotation": "TypeRewritten",
160-
"ChildIndex": "1:1:1:1:1:0:0:0:0",
160+
"ChildIndex": "1:1:1:1:1:0",
161161
"LeftUsr": "s:12macrogenleft2S1V5foo121xySSSi_SDySiSDySSSaySiGGGtXE_tF",
162162
"LeftComment": "Int",
163163
"RightUsr": "",

0 commit comments

Comments
 (0)