tint/reader/wgsl: Remove case_body()

This was not used.

Change-Id: Ic79993be201a2f02c6dc2dc8d92d1aea2f382fe4
Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/124221
Commit-Queue: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Dan Sinclair <dsinclair@chromium.org>
This commit is contained in:
Ben Clayton 2023-03-15 15:54:25 +00:00 committed by Dawn LUCI CQ
parent 2fc56a1c63
commit 9313aab0fd
5 changed files with 0 additions and 88 deletions

View File

@ -1751,7 +1751,6 @@ if (tint_build_unittests) {
"reader/wgsl/parser_impl_break_stmt_test.cc", "reader/wgsl/parser_impl_break_stmt_test.cc",
"reader/wgsl/parser_impl_bug_cases_test.cc", "reader/wgsl/parser_impl_bug_cases_test.cc",
"reader/wgsl/parser_impl_call_stmt_test.cc", "reader/wgsl/parser_impl_call_stmt_test.cc",
"reader/wgsl/parser_impl_case_body_test.cc",
"reader/wgsl/parser_impl_compound_stmt_test.cc", "reader/wgsl/parser_impl_compound_stmt_test.cc",
"reader/wgsl/parser_impl_const_literal_test.cc", "reader/wgsl/parser_impl_const_literal_test.cc",
"reader/wgsl/parser_impl_continue_stmt_test.cc", "reader/wgsl/parser_impl_continue_stmt_test.cc",

View File

@ -1104,7 +1104,6 @@ if(TINT_BUILD_TESTS)
reader/wgsl/parser_impl_break_stmt_test.cc reader/wgsl/parser_impl_break_stmt_test.cc
reader/wgsl/parser_impl_bug_cases_test.cc reader/wgsl/parser_impl_bug_cases_test.cc
reader/wgsl/parser_impl_call_stmt_test.cc reader/wgsl/parser_impl_call_stmt_test.cc
reader/wgsl/parser_impl_case_body_test.cc
reader/wgsl/parser_impl_compound_stmt_test.cc reader/wgsl/parser_impl_compound_stmt_test.cc
reader/wgsl/parser_impl_const_literal_test.cc reader/wgsl/parser_impl_const_literal_test.cc
reader/wgsl/parser_impl_continue_stmt_test.cc reader/wgsl/parser_impl_continue_stmt_test.cc

View File

@ -1730,36 +1730,6 @@ Maybe<const ast::CaseSelector*> ParserImpl::case_selector() {
return create<ast::CaseSelector>(p.source(), expr.value); return create<ast::CaseSelector>(p.source(), expr.value);
} }
// case_body
// :
// | statement case_body
Maybe<const ast::BlockStatement*> ParserImpl::case_body() {
StatementList stmts;
while (continue_parsing()) {
Source source;
if (match(Token::Type::kFallthrough, &source)) {
return add_error(
source,
"fallthrough is not premitted in WGSL. "
"Case can accept multiple selectors if the existing case bodies are empty. "
"(e.g. `case 1, 2, 3:`) "
"`default` is a valid case selector value. (e.g. `case 1, default:`)");
}
auto stmt = statement();
if (stmt.errored) {
return Failure::kErrored;
}
if (!stmt.matched) {
break;
}
stmts.Push(stmt.value);
}
return create<ast::BlockStatement>(Source{}, stmts, utils::Empty);
}
// loop_statement // loop_statement
// : LOOP BRACKET_LEFT statements continuing_statement? BRACKET_RIGHT // : LOOP BRACKET_LEFT statements continuing_statement? BRACKET_RIGHT
Maybe<const ast::LoopStatement*> ParserImpl::loop_statement() { Maybe<const ast::LoopStatement*> ParserImpl::loop_statement() {

View File

@ -509,9 +509,6 @@ class ParserImpl {
/// Parses a `case_selector` grammar element /// Parses a `case_selector` grammar element
/// @returns the selector /// @returns the selector
Maybe<const ast::CaseSelector*> case_selector(); Maybe<const ast::CaseSelector*> case_selector();
/// Parses a `case_body` grammar element
/// @returns the parsed statements
Maybe<const ast::BlockStatement*> case_body();
/// Parses a `func_call_statement` grammar element /// Parses a `func_call_statement` grammar element
/// @returns the parsed function call or nullptr /// @returns the parsed function call or nullptr
Maybe<const ast::CallStatement*> func_call_statement(); Maybe<const ast::CallStatement*> func_call_statement();

View File

@ -1,53 +0,0 @@
// Copyright 2020 The Tint Authors.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
#include "src/tint/reader/wgsl/parser_impl_test_helper.h"
namespace tint::reader::wgsl {
namespace {
TEST_F(ParserImplTest, CaseBody_Empty) {
auto p = parser("");
auto e = p->case_body();
ASSERT_FALSE(p->has_error()) << p->error();
EXPECT_FALSE(e.errored);
EXPECT_TRUE(e.matched);
EXPECT_EQ(e->statements.Length(), 0u);
}
TEST_F(ParserImplTest, CaseBody_Statements) {
auto p = parser(R"(
var a: i32;
a = 2;)");
auto e = p->case_body();
ASSERT_FALSE(p->has_error()) << p->error();
EXPECT_FALSE(e.errored);
EXPECT_TRUE(e.matched);
ASSERT_EQ(e->statements.Length(), 2u);
EXPECT_TRUE(e->statements[0]->Is<ast::VariableDeclStatement>());
EXPECT_TRUE(e->statements[1]->Is<ast::AssignmentStatement>());
}
TEST_F(ParserImplTest, CaseBody_InvalidStatement) {
auto p = parser("a =");
auto e = p->case_body();
EXPECT_TRUE(p->has_error());
EXPECT_TRUE(e.errored);
EXPECT_FALSE(e.matched);
EXPECT_EQ(e.value, nullptr);
}
} // namespace
} // namespace tint::reader::wgsl