Skip to content

Commit bfa3ad0

Browse files
committed
[ASTPrinter] Print some as a keyword
This is consistent with how the TypeRepr is printed.
1 parent 37fe4da commit bfa3ad0

File tree

2 files changed

+21
-5
lines changed

2 files changed

+21
-5
lines changed

lib/AST/ASTPrinter.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7182,7 +7182,7 @@ class TypePrinter : public TypeVisitor<TypePrinter> {
71827182
}
71837183

71847184
// Print based on the type.
7185-
Printer << "some ";
7185+
Printer.printKeyword("some", Options, /*Suffix=*/" ");
71867186
auto archetypeType = decl->getDeclContext()->mapTypeIntoContext(
71877187
decl->getDeclaredInterfaceType())->castTo<ArchetypeType>();
71887188
auto constraintType = archetypeType->getExistentialType();

test/SymbolGraph/Symbols/Mixins/DeclarationFragments/Full/SomeProtocol.swift

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,16 @@ public func doSomethingElse(with param: some SomeProtocol & OtherProtocol) {}
5757
// CHECK-NEXT: "spelling": "param"
5858
// CHECK-NEXT: },
5959
// CHECK-NEXT: {
60-
// CHECK-NEXT: "kind": "text",
61-
// CHECK-NEXT: "spelling": ": some "
60+
// CHECK-NEXT: "kind": "text",
61+
// CHECK-NEXT: "spelling": ": "
62+
// CHECK-NEXT: },
63+
// CHECK-NEXT: {
64+
// CHECK-NEXT: "kind": "keyword",
65+
// CHECK-NEXT: "spelling": "some"
66+
// CHECK-NEXT: },
67+
// CHECK-NEXT: {
68+
// CHECK-NEXT: "kind": "text",
69+
// CHECK-NEXT: "spelling": " "
6270
// CHECK-NEXT: },
6371
// CHECK-NEXT: {
6472
// CHECK-NEXT: "kind": "typeIdentifier",
@@ -107,8 +115,16 @@ public func doSomethingElse(with param: some SomeProtocol & OtherProtocol) {}
107115
// MULTI-NEXT: "spelling": "param"
108116
// MULTI-NEXT: },
109117
// MULTI-NEXT: {
110-
// MULTI-NEXT: "kind": "text",
111-
// MULTI-NEXT: "spelling": ": some "
118+
// MULTI-NEXT: "kind": "text",
119+
// MULTI-NEXT: "spelling": ": "
120+
// MULTI-NEXT: },
121+
// MULTI-NEXT: {
122+
// MULTI-NEXT: "kind": "keyword",
123+
// MULTI-NEXT: "spelling": "some"
124+
// MULTI-NEXT: },
125+
// MULTI-NEXT: {
126+
// MULTI-NEXT: "kind": "text",
127+
// MULTI-NEXT: "spelling": " "
112128
// MULTI-NEXT: },
113129
// MULTI-NEXT: {
114130
// MULTI-NEXT: "kind": "typeIdentifier",

0 commit comments

Comments
 (0)