[AST] Add CallExpr::createImplicitEmpty

Add a convenience constructor for an implicit
nullary call. This will become more useful when
the argument parameter starts taking an
ArgumentList.
This commit is contained in:
Hamish Knight
2021-07-28 23:14:43 +01:00
parent 1286bbedf1
commit c70f280e4a
9 changed files with 19 additions and 15 deletions

View File

@@ -1431,8 +1431,7 @@ deriveBodyDecodable_init(AbstractFunctionDecl *initDecl, void *) {
// container.superDecoder()
auto *superDecoderCall =
CallExpr::createImplicit(C, superDecoderRef, ArrayRef<Expr *>(),
ArrayRef<Identifier>());
CallExpr::createImplicitEmpty(C, superDecoderRef);
// super
auto *superRef = new (C) SuperRefExpr(initDecl->getImplicitSelfDecl(),
@@ -1477,9 +1476,7 @@ deriveBodyDecodable_init(AbstractFunctionDecl *initDecl, void *) {
auto *superInitRef = UnresolvedDotExpr::createImplicit(C, superRef,
initName);
// super.init() call
Expr *callExpr = CallExpr::createImplicit(C, superInitRef,
ArrayRef<Expr *>(),
ArrayRef<Identifier>());
Expr *callExpr = CallExpr::createImplicitEmpty(C, superInitRef);
// If super.init throws, try super.init()
if (superInitDecl->hasThrows())