Skip to content

Commit 2ad22a8

Browse files
committed
[ASTPrinter] Tweak #if print
* Removed extra newlines. * Print '/* condition */' for condition part.
1 parent de7f2f7 commit 2ad22a8

File tree

3 files changed

+25
-9
lines changed

3 files changed

+25
-9
lines changed

lib/AST/ASTPrinter.cpp

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2365,18 +2365,15 @@ void PrintAST::visitIfConfigDecl(IfConfigDecl *ICD) {
23652365

23662366
for (auto &Clause : ICD->getClauses()) {
23672367
if (&Clause == &*ICD->getClauses().begin())
2368-
Printer << tok::pound_if << " "; // FIXME: print condition
2368+
Printer << tok::pound_if << " /* condition */"; // FIXME: print condition
23692369
else if (Clause.Cond)
2370-
Printer << tok::pound_elseif << ""; // FIXME: print condition
2370+
Printer << tok::pound_elseif << " /* condition */"; // FIXME: print condition
23712371
else
23722372
Printer << tok::pound_else;
2373+
printASTNodes(Clause.Elements);
23732374
Printer.printNewline();
2374-
if (printASTNodes(Clause.Elements)) {
2375-
Printer.printNewline();
2376-
indent();
2377-
}
2375+
indent();
23782376
}
2379-
Printer.printNewline();
23802377
Printer << tok::pound_endif;
23812378
}
23822379

test/IDE/print_ast_non_typechecked.swift

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,24 @@ class C {
44

55
// RUN: %target-swift-ide-test -print-ast-not-typechecked -source-filename %s | %FileCheck %s -check-prefix=CHECK1
66
// CHECK1: func foo(s: Int)
7+
8+
#if BAR
9+
func bar() {}
10+
#elseif BAZ
11+
func baz() {}
12+
#else
13+
func qux() {}
14+
#endif
15+
16+
// CHECK1: {{^}}#if /* condition */
17+
// CHECK1: {{^}} func bar() {
18+
// CHECK1: {{^}} }
19+
// CHECK1: {{^}}#elseif /* condition */
20+
// CHECK1: {{^}} func baz() {
21+
// CHECK1: {{^}} }
22+
// CHECK1: {{^}}#else
23+
// CHECK1: {{^}} func qux() {
24+
// CHECK1: {{^}} }
25+
// CHECK1: {{^}}#endif
26+
// CHECK1: {{^}}func qux() {
27+
// CHECK1: {{^}}}

test/IDE/print_source_file_interface_1.swift.result

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,6 @@
33

44
// More blah blah.
55

6-
7-
86
import Swift
97

108
internal class FooDisabled {

0 commit comments

Comments
 (0)