Skip to content

Commit 6e051cc

Browse files
committed
[ASTPrinter] Simplify call and dictionary expr printing
1 parent a89ea38 commit 6e051cc

File tree

1 file changed

+10
-27
lines changed

1 file changed

+10
-27
lines changed

lib/AST/ASTPrinter.cpp

Lines changed: 10 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -4122,22 +4122,15 @@ void PrintAST::visitTryExpr(TryExpr *expr) {
41224122
void PrintAST::visitCallExpr(CallExpr *expr) {
41234123
visit(expr->getFn());
41244124
Printer << "(";
4125-
auto argList = expr->getArgs();
4125+
auto args = expr->getArgs()->getOriginalArgs();
41264126
bool isFirst = true;
41274127
// FIXME: handle trailing closures.
4128-
if (argList) {
4129-
for (auto i = argList->begin(), iEnd = argList->end(); i != iEnd; ++i) {
4130-
auto arg = *i;
4131-
if (dyn_cast<DefaultArgumentExpr>(arg.getExpr())) {
4132-
// Don't print default arguments.
4133-
continue;
4134-
}
4135-
if (!isFirst) {
4136-
Printer << ", ";
4137-
}
4138-
printArgument(arg);
4139-
isFirst = false;
4128+
for (auto arg : *args) {
4129+
if (!isFirst) {
4130+
Printer << ", ";
41404131
}
4132+
printArgument(arg);
4133+
isFirst = false;
41414134
}
41424135
Printer << ")";
41434136
}
@@ -4181,23 +4174,13 @@ void PrintAST::visitDictionaryExpr(DictionaryExpr *expr) {
41814174
bool isFirst = true;
41824175
auto elements = expr->getElements();
41834176
for (auto element : elements) {
4184-
auto *tupleExpr = dyn_cast<TupleExpr>(element);
4177+
auto *tupleExpr = cast<TupleExpr>(element);
41854178
if (!isFirst) {
41864179
Printer << ", ";
41874180
}
4188-
bool isFirstTupleArg = true;
4189-
auto tupleElements = tupleExpr->getElements();
4190-
for (auto element : tupleElements) {
4191-
if (isFirstTupleArg) {
4192-
visit(element);
4193-
Printer << ": ";
4194-
isFirstTupleArg = false;
4195-
} else {
4196-
visit(element);
4197-
// Bail out if there's somehow more than 2.
4198-
break;
4199-
}
4200-
}
4181+
visit(tupleExpr->getElement(0));
4182+
Printer << ": ";
4183+
visit(tupleExpr->getElement(1));
42014184
isFirst = false;
42024185
}
42034186
Printer << "]";

0 commit comments

Comments
 (0)