Skip to content

Commit 9ef2b21

Browse files
Merge pull request #36095 from apple/QuietMisdreavus/duplicate-navigator-subheading
[SymbolGraph] don't emit navigator name if it's the same as subHeading
2 parents 2d01286 + db3685a commit 9ef2b21

File tree

5 files changed

+6
-155
lines changed

5 files changed

+6
-155
lines changed

lib/SymbolGraphGen/SymbolGraph.cpp

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -594,17 +594,9 @@ void
594594
SymbolGraph::serializeNavigatorDeclarationFragments(StringRef Key,
595595
const Symbol &S,
596596
llvm::json::OStream &OS) {
597-
DeclarationFragmentPrinter Printer(this, OS, Key);
598-
599597
if (const auto *TD = dyn_cast<GenericTypeDecl>(S.getSymbolDecl())) {
598+
DeclarationFragmentPrinter Printer(this, OS, Key);
600599
Printer.printAbridgedType(TD, /*PrintKeyword=*/false);
601-
} else {
602-
auto Options = getSubHeadingDeclarationFragmentsPrintOptions();
603-
if (S.getBaseType()) {
604-
Options.setBaseType(S.getBaseType());
605-
Options.PrintAsMember = true;
606-
}
607-
S.getSymbolDecl()->print(Printer, Options);
608600
}
609601
}
610602

test/SourceKit/CursorInfo/cursor_stdlib.swift

Lines changed: 0 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -169,33 +169,6 @@ func foo3(a: Float, b: Bool) {}
169169
// CHECK-REPLACEMENT4: "identifier": "swift.method"
170170
// CHECK-REPLACEMENT4: },
171171
// CHECK-REPLACEMENT4: "names": {
172-
// CHECK-REPLACEMENT4: "navigator": [
173-
// CHECK-REPLACEMENT4: {
174-
// CHECK-REPLACEMENT4: "kind": "keyword",
175-
// CHECK-REPLACEMENT4: "spelling": "func"
176-
// CHECK-REPLACEMENT4: },
177-
// CHECK-REPLACEMENT4: {
178-
// CHECK-REPLACEMENT4: "kind": "text",
179-
// CHECK-REPLACEMENT4: "spelling": " "
180-
// CHECK-REPLACEMENT4: },
181-
// CHECK-REPLACEMENT4: {
182-
// CHECK-REPLACEMENT4: "kind": "identifier",
183-
// CHECK-REPLACEMENT4: "spelling": "append"
184-
// CHECK-REPLACEMENT4: },
185-
// CHECK-REPLACEMENT4: {
186-
// CHECK-REPLACEMENT4: "kind": "text",
187-
// CHECK-REPLACEMENT4: "spelling": "("
188-
// CHECK-REPLACEMENT4: },
189-
// CHECK-REPLACEMENT4: {
190-
// CHECK-REPLACEMENT4: "kind": "typeIdentifier",
191-
// CHECK-REPLACEMENT4: "preciseIdentifier": "s:13cursor_stdlib2S1V",
192-
// CHECK-REPLACEMENT4: "spelling": "S1"
193-
// CHECK-REPLACEMENT4: },
194-
// CHECK-REPLACEMENT4: {
195-
// CHECK-REPLACEMENT4: "kind": "text",
196-
// CHECK-REPLACEMENT4: "spelling": ")"
197-
// CHECK-REPLACEMENT4: }
198-
// CHECK-REPLACEMENT4: ],
199172
// CHECK-REPLACEMENT4: "subHeading": [
200173
// CHECK-REPLACEMENT4: {
201174
// CHECK-REPLACEMENT4: "kind": "keyword",

test/SourceKit/CursorInfo/cursor_symbol_graph.swift

Lines changed: 0 additions & 98 deletions
Original file line numberDiff line numberDiff line change
@@ -126,29 +126,6 @@ enum MyEnum {
126126
// CHECKX: "uri": "{{.*}}cursor_symbol_graph.swift"
127127
// CHECKX: },
128128
// CHECKX: "names": {
129-
// CHECKX: "navigator": [
130-
// CHECKX: {
131-
// CHECKX: "kind": "keyword",
132-
// CHECKX: "spelling": "let"
133-
// CHECKX: },
134-
// CHECKX: {
135-
// CHECKX: "kind": "text",
136-
// CHECKX: "spelling": " "
137-
// CHECKX: },
138-
// CHECKX: {
139-
// CHECKX: "kind": "identifier",
140-
// CHECKX: "spelling": "x"
141-
// CHECKX: },
142-
// CHECKX: {
143-
// CHECKX: "kind": "text",
144-
// CHECKX: "spelling": ": "
145-
// CHECKX: },
146-
// CHECKX: {
147-
// CHECKX: "kind": "typeIdentifier",
148-
// CHECKX: "preciseIdentifier": "s:Si",
149-
// CHECKX: "spelling": "Int"
150-
// CHECKX: }
151-
// CHECKX: ],
152129
// CHECKX: "subHeading": [
153130
// CHECKX: {
154131
// CHECKX: "kind": "keyword",
@@ -294,29 +271,6 @@ enum MyEnum {
294271
// CHECKY: "uri": "{{.*}}cursor_symbol_graph.swift"
295272
// CHECKY: },
296273
// CHECKY: "names": {
297-
// CHECKY: "navigator": [
298-
// CHECKY: {
299-
// CHECKY: "kind": "keyword",
300-
// CHECKY: "spelling": "var"
301-
// CHECKY: },
302-
// CHECKY: {
303-
// CHECKY: "kind": "text",
304-
// CHECKY: "spelling": " "
305-
// CHECKY: },
306-
// CHECKY: {
307-
// CHECKY: "kind": "identifier",
308-
// CHECKY: "spelling": "y"
309-
// CHECKY: },
310-
// CHECKY: {
311-
// CHECKY: "kind": "text",
312-
// CHECKY: "spelling": ": "
313-
// CHECKY: },
314-
// CHECKY: {
315-
// CHECKY: "kind": "typeIdentifier",
316-
// CHECKY: "preciseIdentifier": "s:SS",
317-
// CHECKY: "spelling": "String"
318-
// CHECKY: }
319-
// CHECKY: ],
320274
// CHECKY: "subHeading": [
321275
// CHECKY: {
322276
// CHECKY: "kind": "keyword",
@@ -639,44 +593,6 @@ enum MyEnum {
639593
// CHECKBAR_ALL: "uri": "{{.*}}cursor_symbol_graph.swift"
640594
// CHECKBAR_ALL: },
641595
// CHECKBAR_ALL: "names": {
642-
// CHECKBAR_ALL: "navigator": [
643-
// CHECKBAR_ALL: {
644-
// CHECKBAR_ALL: "kind": "keyword",
645-
// CHECKBAR_ALL: "spelling": "func"
646-
// CHECKBAR_ALL: },
647-
// CHECKBAR_ALL: {
648-
// CHECKBAR_ALL: "kind": "text",
649-
// CHECKBAR_ALL: "spelling": " "
650-
// CHECKBAR_ALL: },
651-
// CHECKBAR_ALL: {
652-
// CHECKBAR_ALL: "kind": "identifier",
653-
// CHECKBAR_ALL: "spelling": "bar"
654-
// CHECKBAR_ALL: },
655-
// CHECKBAR_ALL: {
656-
// CHECKBAR_ALL: "kind": "text",
657-
// CHECKBAR_ALL: "spelling": "("
658-
// CHECKBAR_ALL: },
659-
// CHECKBAR_ALL: {
660-
// CHECKBAR_ALL: "kind": "externalParam",
661-
// CHECKBAR_ALL: "spelling": "x"
662-
// CHECKBAR_ALL: },
663-
// CHECKBAR_ALL: {
664-
// CHECKBAR_ALL: "kind": "text",
665-
// CHECKBAR_ALL: "spelling": ": "
666-
// CHECKBAR_ALL: },
667-
// CHECKBAR_ALL: {
668-
// CHECKBAR_ALL: "kind": "typeIdentifier",
669-
// CHECKBAR_GEN: "spelling": "T"
670-
// CHECKBAR_INT: "preciseIdentifier": "s:Si",
671-
// CHECKBAR_INT: "spelling": "Int"
672-
// CHECKBAR_STR: "preciseIdentifier": "s:SS",
673-
// CHECKBAR_STR: "spelling": "String"
674-
// CHECKBAR_ALL: },
675-
// CHECKBAR_ALL: {
676-
// CHECKBAR_ALL: "kind": "text",
677-
// CHECKBAR_ALL: "spelling": ")"
678-
// CHECKBAR_ALL: }
679-
// CHECKBAR_ALL: ],
680596
// CHECKBAR_ALL: "subHeading": [
681597
// CHECKBAR_ALL: {
682598
// CHECKBAR_ALL: "kind": "keyword",
@@ -815,20 +731,6 @@ enum MyEnum {
815731
// CHECKCASE: "uri": "{{.*}}cursor_symbol_graph.swift"
816732
// CHECKCASE: },
817733
// CHECKCASE: "names": {
818-
// CHECKCASE: "navigator": [
819-
// CHECKCASE: {
820-
// CHECKCASE: "kind": "keyword",
821-
// CHECKCASE: "spelling": "case"
822-
// CHECKCASE: },
823-
// CHECKCASE: {
824-
// CHECKCASE: "kind": "text",
825-
// CHECKCASE: "spelling": " "
826-
// CHECKCASE: },
827-
// CHECKCASE: {
828-
// CHECKCASE: "kind": "identifier",
829-
// CHECKCASE: "spelling": "someCase"
830-
// CHECKCASE: }
831-
// CHECKCASE: ],
832734
// CHECKCASE: "subHeading": [
833735
// CHECKCASE: {
834736
// CHECKCASE: "kind": "keyword",

test/SourceKit/CursorInfo/cursor_symbol_graph_objc.swift

Lines changed: 1 addition & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -62,24 +62,6 @@ func callObjC() {
6262
// CHECK: "identifier": "swift.func"
6363
// CHECK: },
6464
// CHECK: "names": {
65-
// CHECK: "navigator": [
66-
// CHECK: {
67-
// CHECK: "kind": "keyword",
68-
// CHECK: "spelling": "func"
69-
// CHECK: },
70-
// CHECK: {
71-
// CHECK: "kind": "text",
72-
// CHECK: "spelling": " "
73-
// CHECK: },
74-
// CHECK: {
75-
// CHECK: "kind": "identifier",
76-
// CHECK: "spelling": "fooFuncWithComment5"
77-
// CHECK: },
78-
// CHECK: {
79-
// CHECK: "kind": "text",
80-
// CHECK: "spelling": "()"
81-
// CHECK: }
82-
// CHECK: ],
8365
// CHECK: "subHeading": [
8466
// CHECK: {
8567
// CHECK: "kind": "keyword",
@@ -106,4 +88,4 @@ func callObjC() {
10688
// CHECK: }
10789
// CHECK: ]
10890
// CHECK: }
109-
// CHECK: SYMBOL GRAPH END
91+
// CHECK: SYMBOL GRAPH END

test/SymbolGraph/Symbols/Mixins/DeclarationFragments/Navigator/Navigator.swift

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,12 @@ public struct MyStruct<S> { public var x: S
2222
// MYSTRUCT-NEXT: }
2323
// MYSTRUCT-NEXT: ]
2424

25+
// when `navigator` and `subHeading` would be identical, the former is elided
26+
2527
// FOO-LABEL: "precise": "s:9Navigator8MyStructV3fooyySTRzlF"
2628
// FOO: names
2729
// FOO-NEXT: "title": "foo()",
28-
// FOO-NEXT: "navigator": [
30+
// FOO-NEXT: "subHeading": [
2931
// FOO-NEXT: {
3032
// FOO-NEXT: "kind": "keyword"
3133
// FOO-NEXT: "spelling": "func"
@@ -47,7 +49,7 @@ public struct MyStruct<S> { public var x: S
4749
// BAR-LABEL: "precise": "s:9Navigator8MyStructV3bar1xyqd___tSTRd__lF"
4850
// BAR: names
4951
// BAR-NEXT: "title": "bar(x:)",
50-
// BAR-NEXT: "navigator": [
52+
// BAR-NEXT: "subHeading": [
5153
// BAR-NEXT: {
5254
// BAR-NEXT: "kind": "keyword",
5355
// BAR-NEXT: "spelling": "func"

0 commit comments

Comments
 (0)