wsgl parser: Remove pointless nullptr checks The `expect_` prefixes now clearly indicate when a method will internally error, or produce a valid AST object. Verified by code coverage. Bug: tint:282 Change-Id: Icbdae9db02bd48c69aec010a4f8fdc5a496125f8 Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/32002 Reviewed-by: dan sinclair <dsinclair@chromium.org> Commit-Queue: Ben Clayton <bclayton@google.com>
diff --git a/src/reader/wgsl/parser_impl.cc b/src/reader/wgsl/parser_impl.cc index 0ace204..8cccd2c 100644 --- a/src/reader/wgsl/parser_impl.cc +++ b/src/reader/wgsl/parser_impl.cc
@@ -306,11 +306,6 @@ auto expr = expect_const_expr(); if (has_error()) return nullptr; - if (expr == nullptr) { - add_error(peek(), "invalid expression"); - return nullptr; - } - var->set_constructor(std::move(expr)); } return var; @@ -343,10 +338,6 @@ auto init = expect_const_expr(); if (has_error()) return nullptr; - if (init == nullptr) { - add_error(peek(), "error parsing scalar constructor"); - return nullptr; - } var->set_constructor(std::move(init)); return var; @@ -1163,10 +1154,6 @@ auto mem = expect_struct_member(decos); if (has_error()) return ast::StructMemberList{}; - if (mem == nullptr) { - add_error(peek(), "invalid struct member"); - return ast::StructMemberList{}; - } members.push_back(std::move(mem)); } @@ -1593,10 +1580,6 @@ auto condition = expect_paren_rhs_stmt(); if (has_error()) return nullptr; - if (condition == nullptr) { - add_error(peek(), "unable to parse if condition"); - return nullptr; - } auto body = expect_body_stmt(); if (has_error()) @@ -1635,10 +1618,6 @@ auto condition = expect_paren_rhs_stmt(); if (has_error()) return {}; - if (condition == nullptr) { - add_error(peek(), "unable to parse condition expression"); - return {}; - } auto body = expect_body_stmt(); if (has_error()) @@ -1682,10 +1661,6 @@ auto condition = expect_paren_rhs_stmt(); if (has_error()) return nullptr; - if (condition == nullptr) { - add_error(peek(), "unable to parse switch expression"); - return nullptr; - } ast::CaseStatementList body; bool ok = expect_brace_block("switch statement", [&] { @@ -2063,10 +2038,6 @@ auto params = expect_paren_rhs_stmt(); if (has_error()) return nullptr; - if (params == nullptr) { - add_error(peek(), "unable to parse parameters"); - return nullptr; - } return std::make_unique<ast::BitcastExpression>(source, type, std::move(params)); @@ -2749,19 +2720,11 @@ auto param = expect_const_expr_internal(depth + 1); if (has_error()) return false; - if (param == nullptr) { - add_error(peek(), "unable to parse constant expression"); - return false; - } params.push_back(std::move(param)); while (match(Token::Type::kComma)) { param = expect_const_expr_internal(depth + 1); if (has_error()) return false; - if (param == nullptr) { - add_error(peek(), "unable to parse constant expression"); - return false; - } params.push_back(std::move(param)); } return true; @@ -2810,10 +2773,6 @@ return false; } - if (has_error()) { - return false; - } - if (match(Token::Type::kComma)) { continue; }