Merge pull request #23921 from xedin/dynamic-member-implicit-ast
[CSApply] Mark dynamic member lookup subscript expr and its argument …
diff --git a/lib/Sema/CSApply.cpp b/lib/Sema/CSApply.cpp
index 1cfc7a3..10554cb 100644
--- a/lib/Sema/CSApply.cpp
+++ b/lib/Sema/CSApply.cpp
@@ -2863,10 +2863,8 @@
auto tupleTy =
TupleType::get(TupleTypeElt(paramTy, ctx.Id_dynamicMember), ctx);
- auto loc = nameLoc;
- Expr *index = TupleExpr::create(ctx, loc, argExpr, ctx.Id_dynamicMember,
- loc, loc, /*hasTrailingClosure*/ false,
- /*implicit*/ true);
+ Expr *index =
+ TupleExpr::createImplicit(ctx, argExpr, ctx.Id_dynamicMember);
index->setType(tupleTy);
cs.cacheType(index);
@@ -2874,7 +2872,7 @@
return buildSubscript(
base, index, ctx.Id_dynamicMember,
/*trailingClosure*/ false, cs.getConstraintLocator(expr),
- /*isImplicit*/ false, AccessSemantics::Ordinary, overload);
+ /*isImplicit*/ true, AccessSemantics::Ordinary, overload);
}
Type getTypeOfDynamicMemberIndex(const SelectedOverload &overload) {