Skip to content

Commit 845017c

Browse files
authored
Improve how DeclContext chains are printed in AST dumps. (#7786)
1 parent 3639343 commit 845017c

File tree

3 files changed

+26
-32
lines changed

3 files changed

+26
-32
lines changed

lib/AST/ASTDumper.cpp

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -365,11 +365,11 @@ static StringRef getAssociativityString(Associativity value) {
365365
//===----------------------------------------------------------------------===//
366366

367367
// Print a name.
368-
static void printName(raw_ostream &os, Identifier name) {
369-
if (name.empty())
368+
static void printName(raw_ostream &os, DeclName name) {
369+
if (!name)
370370
os << "<anonymous>";
371371
else
372-
os << name.str();
372+
os << name;
373373
}
374374

375375
namespace {
@@ -1148,7 +1148,7 @@ void swift::printContext(raw_ostream &os, DeclContext *dc) {
11481148
break;
11491149
}
11501150
}
1151-
os << "extension";
1151+
os << " extension";
11521152
break;
11531153

11541154
case DeclContextKind::Initializer:
@@ -1166,18 +1166,12 @@ void swift::printContext(raw_ostream &os, DeclContext *dc) {
11661166
os << "top-level code";
11671167
break;
11681168

1169-
case DeclContextKind::AbstractFunctionDecl: {
1170-
auto *AFD = cast<AbstractFunctionDecl>(dc);
1171-
if (isa<FuncDecl>(AFD))
1172-
os << "func decl";
1173-
if (isa<ConstructorDecl>(AFD))
1174-
os << "init";
1175-
if (isa<DestructorDecl>(AFD))
1176-
os << "deinit";
1169+
case DeclContextKind::AbstractFunctionDecl:
1170+
printName(os, cast<AbstractFunctionDecl>(dc)->getFullName());
11771171
break;
1178-
}
1172+
11791173
case DeclContextKind::SubscriptDecl:
1180-
os << "subscript decl";
1174+
printName(os, cast<SubscriptDecl>(dc)->getFullName());
11811175
break;
11821176
}
11831177
}

test/IDE/range_info_basics.swift

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ func foo8(a : [Int]) {
159159
// CHECK4-NEXT: <Content>aaa = aaa + 3
160160
// CHECK4-NEXT: if aaa == 3 { aaa = 4 }</Content>
161161
// CHECK4-NEXT: <Type>Void</Type>
162-
// CHECK4-NEXT: <Context>swift_ide_test.(file).func decl</Context>
162+
// CHECK4-NEXT: <Context>swift_ide_test.(file).foo()</Context>
163163
// CHECK4-NEXT: <Referenced>aaa</Referenced><Type>@lvalue Int</Type>
164164
// CHECK4-NEXT: <ASTNodes>2</ASTNodes>
165165
// CHECK4-NEXT: <end>
@@ -169,7 +169,7 @@ func foo8(a : [Int]) {
169169
// CHECK5-NEXT: if aaa == 3 { aaa = 4 }
170170
// CHECK5-NEXT: return aaa</Content>
171171
// CHECK5-NEXT: <Type>Int</Type>
172-
// CHECK5-NEXT: <Context>swift_ide_test.(file).func decl</Context>
172+
// CHECK5-NEXT: <Context>swift_ide_test.(file).foo()</Context>
173173
// CHECK5-NEXT: <Referenced>aaa</Referenced><Type>@lvalue Int</Type>
174174
// CHECK5-NEXT: <ASTNodes>3</ASTNodes>
175175
// CHECK5-NEXT: <end>
@@ -178,7 +178,7 @@ func foo8(a : [Int]) {
178178
// CHECK6-NEXT: if aaa == 3 { aaa = 4 }
179179
// CHECK6-NEXT: return aaa</Content>
180180
// CHECK6-NEXT: <Type>Int</Type>
181-
// CHECK6-NEXT: <Context>swift_ide_test.(file).func decl</Context>
181+
// CHECK6-NEXT: <Context>swift_ide_test.(file).foo()</Context>
182182
// CHECK6-NEXT: <Referenced>aaa</Referenced><Type>@lvalue Int</Type>
183183
// CHECK6-NEXT: <ASTNodes>2</ASTNodes>
184184
// CHECK6-NEXT: <end>
@@ -189,7 +189,7 @@ func foo8(a : [Int]) {
189189
// CHECK7-NEXT: b = b.bigEndian.bigEndian.byteSwapped
190190
// CHECK7-NEXT: print(b + c)</Content>
191191
// CHECK7-NEXT: <Type>()</Type>
192-
// CHECK7-NEXT: <Context>swift_ide_test.(file).func decl</Context>
192+
// CHECK7-NEXT: <Context>swift_ide_test.(file).foo2()</Context>
193193
// CHECK7-NEXT: <Declared>b</Declared><OutscopeReference>false</OutscopeReference>
194194
// CHECK7-NEXT: <Declared>c</Declared><OutscopeReference>false</OutscopeReference>
195195
// CHECK7-NEXT: <Referenced>a</Referenced><Type>Int</Type>
@@ -203,7 +203,7 @@ func foo8(a : [Int]) {
203203
// CHECK8-NEXT: s = s.increment()
204204
// CHECK8-NEXT: return c + b</Content>
205205
// CHECK8-NEXT: <Type>Int</Type>
206-
// CHECK8-NEXT: <Context>swift_ide_test.(file).func decl</Context>
206+
// CHECK8-NEXT: <Context>swift_ide_test.(file).foo3(s:)</Context>
207207
// CHECK8-NEXT: <Declared>c</Declared><OutscopeReference>false</OutscopeReference>
208208
// CHECK8-NEXT: <Referenced>s</Referenced><Type>@lvalue S1</Type>
209209
// CHECK8-NEXT: <Referenced>b</Referenced><Type>Int</Type>
@@ -216,7 +216,7 @@ func foo8(a : [Int]) {
216216
// CHECK9-NEXT: let c = s.foo() + b
217217
// CHECK9-NEXT: return c + b</Content>
218218
// CHECK9-NEXT: <Type>Int</Type>
219-
// CHECK9-NEXT: <Context>swift_ide_test.(file).func decl</Context>
219+
// CHECK9-NEXT: <Context>swift_ide_test.(file).foo4(s:)</Context>
220220
// CHECK9-NEXT: <Declared>b</Declared><OutscopeReference>false</OutscopeReference>
221221
// CHECK9-NEXT: <Declared>c</Declared><OutscopeReference>false</OutscopeReference>
222222
// CHECK9-NEXT: <Referenced>s</Referenced><Type>S1</Type>
@@ -228,7 +228,7 @@ func foo8(a : [Int]) {
228228
// CHECK10: <Kind>MultiStatement</Kind>
229229
// CHECK10-NEXT: <Content>let a = c.c.getC().c.getC().getC().getC()
230230
// CHECK10-NEXT: let b = a.c.c.c.c.getC().getC()</Content>
231-
// CHECK10-NEXT: <Context>swift_ide_test.(file).func decl</Context>
231+
// CHECK10-NEXT: <Context>swift_ide_test.(file).foo5(c:)</Context>
232232
// CHECK10-NEXT: <Declared>a</Declared><OutscopeReference>true</OutscopeReference>
233233
// CHECK10-NEXT: <Declared>b</Declared><OutscopeReference>true</OutscopeReference>
234234
// CHECK10-NEXT: <Referenced>c</Referenced><Type>C1</Type>
@@ -240,7 +240,7 @@ func foo8(a : [Int]) {
240240
// CHECK11-NEXT: <Content>let a = c.c.getC().c.getC().getC().getC()
241241
// CHECK11-NEXT: let b = a.c.c.c.c.getC().getC()
242242
// CHECK11-NEXT: let d = a.c.getC().getC().c.c</Content>
243-
// CHECK11-NEXT: <Context>swift_ide_test.(file).func decl</Context>
243+
// CHECK11-NEXT: <Context>swift_ide_test.(file).foo5(c:)</Context>
244244
// CHECK11-NEXT: <Declared>a</Declared><OutscopeReference>true</OutscopeReference>
245245
// CHECK11-NEXT: <Declared>b</Declared><OutscopeReference>true</OutscopeReference>
246246
// CHECK11-NEXT: <Declared>d</Declared><OutscopeReference>true</OutscopeReference>
@@ -255,7 +255,7 @@ func foo8(a : [Int]) {
255255
// CHECK12-NEXT: let d = a.c.getC().getC().c.c
256256
// CHECK12-NEXT: return a.take(another: b).take(another: d)</Content>
257257
// CHECK12-NEXT: <Type>C1</Type>
258-
// CHECK12-NEXT: <Context>swift_ide_test.(file).func decl</Context>
258+
// CHECK12-NEXT: <Context>swift_ide_test.(file).foo5(c:)</Context>
259259
// CHECK12-NEXT: <Declared>a</Declared><OutscopeReference>false</OutscopeReference>
260260
// CHECK12-NEXT: <Declared>b</Declared><OutscopeReference>false</OutscopeReference>
261261
// CHECK12-NEXT: <Declared>d</Declared><OutscopeReference>false</OutscopeReference>
@@ -273,7 +273,7 @@ func foo8(a : [Int]) {
273273
// CHECK13-NEXT: b = b.bigEndian.bigEndian.byteSwapped
274274
// CHECK13-NEXT: print(b + c)</Content>
275275
// CHECK13-NEXT: <Type>()</Type>
276-
// CHECK13-NEXT: <Context>swift_ide_test.(file).func decl.explicit closure discriminator=0</Context>
276+
// CHECK13-NEXT: <Context>swift_ide_test.(file).foo6().explicit closure discriminator=0</Context>
277277
// CHECK13-NEXT: <Declared>a</Declared><OutscopeReference>false</OutscopeReference>
278278
// CHECK13-NEXT: <Declared>b</Declared><OutscopeReference>false</OutscopeReference>
279279
// CHECK13-NEXT: <Declared>c</Declared><OutscopeReference>false</OutscopeReference>
@@ -298,7 +298,7 @@ func foo8(a : [Int]) {
298298
// CHECK14-NEXT: return 1
299299
// CHECK14-NEXT: }()</Content>
300300
// CHECK14-NEXT: <Type>Int</Type>
301-
// CHECK14-NEXT: <Context>swift_ide_test.(file).func decl.explicit closure discriminator=0</Context>
301+
// CHECK14-NEXT: <Context>swift_ide_test.(file).foo6().explicit closure discriminator=0</Context>
302302
// CHECK14-NEXT: <Declared>a</Declared><OutscopeReference>false</OutscopeReference>
303303
// CHECK14-NEXT: <Declared>b</Declared><OutscopeReference>false</OutscopeReference>
304304
// CHECK14-NEXT: <Declared>c</Declared><OutscopeReference>false</OutscopeReference>
@@ -320,7 +320,7 @@ func foo8(a : [Int]) {
320320
// CHECK15-NEXT: let c = a.byteSwapped
321321
// CHECK15-NEXT: b = b.bigEndian.bigEndian.byteSwapped</Content>
322322
// CHECK15-NEXT: <Type>()</Type>
323-
// CHECK15-NEXT: <Context>swift_ide_test.(file).func decl.explicit closure discriminator=0.explicit closure discriminator=0</Context>
323+
// CHECK15-NEXT: <Context>swift_ide_test.(file).foo6().explicit closure discriminator=0.explicit closure discriminator=0</Context>
324324
// CHECK15-NEXT: <Declared>a</Declared><OutscopeReference>false</OutscopeReference>
325325
// CHECK15-NEXT: <Declared>b</Declared><OutscopeReference>true</OutscopeReference>
326326
// CHECK15-NEXT: <Declared>c</Declared><OutscopeReference>true</OutscopeReference>
@@ -337,7 +337,7 @@ func foo8(a : [Int]) {
337337
// CHECK16-NEXT: print(b + c)
338338
// CHECK16-NEXT: return 1</Content>
339339
// CHECK16-NEXT: <Type>Int</Type>
340-
// CHECK16-NEXT: <Context>swift_ide_test.(file).func decl.explicit closure discriminator=0.explicit closure discriminator=0</Context>
340+
// CHECK16-NEXT: <Context>swift_ide_test.(file).foo6().explicit closure discriminator=0.explicit closure discriminator=0</Context>
341341
// CHECK16-NEXT: <Declared>a</Declared><OutscopeReference>false</OutscopeReference>
342342
// CHECK16-NEXT: <Declared>b</Declared><OutscopeReference>false</OutscopeReference>
343343
// CHECK16-NEXT: <Declared>c</Declared><OutscopeReference>false</OutscopeReference>
@@ -350,7 +350,7 @@ func foo8(a : [Int]) {
350350
// CHECK17: <Kind>SingleExpression</Kind>
351351
// CHECK17-NEXT: <Content>print(b + c)</Content>
352352
// CHECK17-NEXT: <Type>()</Type>
353-
// CHECK17-NEXT: <Context>swift_ide_test.(file).func decl.explicit closure discriminator=0.explicit closure discriminator=0</Context>
353+
// CHECK17-NEXT: <Context>swift_ide_test.(file).foo6().explicit closure discriminator=0.explicit closure discriminator=0</Context>
354354
// CHECK17-NEXT: <Referenced>b</Referenced><Type>@lvalue Int</Type>
355355
// CHECK17-NEXT: <Referenced>c</Referenced><Type>Int</Type>
356356
// CHECK17-NEXT: <ASTNodes>1</ASTNodes>
@@ -362,7 +362,7 @@ func foo8(a : [Int]) {
362362
// CHECK18-NEXT: case 2:
363363
// CHECK18-NEXT: return 1</Content>
364364
// CHECK18-NEXT: <Type>Void</Type>
365-
// CHECK18-NEXT: <Context>swift_ide_test.(file).func decl</Context>
365+
// CHECK18-NEXT: <Context>swift_ide_test.(file).foo7(a:)</Context>
366366
// CHECK18-NEXT: <Entry>Multi</Entry>
367367
// CHECK18-NEXT: <ASTNodes>2</ASTNodes>
368368
// CHECK18-NEXT: <end>
@@ -371,7 +371,7 @@ func foo8(a : [Int]) {
371371
// CHECK19-NEXT: <Content>case 1:
372372
// CHECK19-NEXT: return 0</Content>
373373
// CHECK19-NEXT: <Type>Void</Type>
374-
// CHECK19-NEXT: <Context>swift_ide_test.(file).func decl</Context>
374+
// CHECK19-NEXT: <Context>swift_ide_test.(file).foo7(a:)</Context>
375375
// CHECK19-NEXT: <ASTNodes>1</ASTNodes>
376376
// CHECK19-NEXT: <end>
377377

@@ -381,7 +381,7 @@ func foo8(a : [Int]) {
381381
// CHECK20-NEXT: default:
382382
// CHECK20-NEXT: return a</Content>
383383
// CHECK20-NEXT: <Type>Void</Type>
384-
// CHECK20-NEXT: <Context>swift_ide_test.(file).func decl</Context>
384+
// CHECK20-NEXT: <Context>swift_ide_test.(file).foo7(a:)</Context>
385385
// CHECK20-NEXT: <Entry>Multi</Entry>
386386
// CHECK20-NEXT: <ASTNodes>2</ASTNodes>
387387
// CHECK20-NEXT: <end>

test/NameBinding/scope_map.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -368,7 +368,7 @@ class LazyProperties {
368368
// CHECK-EXPANDED: {{^}} `-BraceStmt {{.*}} [142:41 - 155:1] expanded
369369
// CHECK-EXPANDED-NEXT: {{^}} `-PatternBinding {{.*}} entry 0 [143:7 - 155:1] expanded
370370
// CHECK-EXPANDED-NEXT: {{^}} `-AfterPatternBinding {{.*}} entry 0 [143:17 - 155:1] expanded
371-
// CHECK-EXPANDED-NEXT: {{^}} |-Accessors {{.*}} scope_map.(file).func decl.computed@{{.*}}scope_map.swift:143:7 [143:21 - 149:3] expanded
371+
// CHECK-EXPANDED-NEXT: {{^}} |-Accessors {{.*}} scope_map.(file).funcWithComputedProperties(i:).computed@{{.*}}scope_map.swift:143:7 [143:21 - 149:3] expanded
372372
// CHECK-EXPANDED-NEXT: {{^}} |-AbstractFunctionDecl {{.*}} _ [144:5 - 145:5] expanded
373373
// CHECK-EXPANDED-NEXT: {{^}} `-AbstractFunctionParams {{.*}} _ param 0:0 [144:5 - 145:5] expanded
374374
// CHECK-EXPANDED: {{^}} `-BraceStmt {{.*}} [144:9 - 145:5] expanded

0 commit comments

Comments
 (0)