mirror of
https://github.com/encounter/dawn-cmake.git
synced 2025-12-12 14:46:08 +00:00
Make reserved words an error.
This CL moves reserved words from a deprecation to an error. Bug: tint:1463 Change-Id: I5c66baa15dc748215877c8152171c690495bc0c2 Reviewed-on: https://dawn-review.googlesource.com/c/dawn/+/108861 Kokoro: Kokoro <noreply+kokoro@google.com> Reviewed-by: Ben Clayton <bclayton@google.com> Commit-Queue: Dan Sinclair <dsinclair@chromium.org>
This commit is contained in:
committed by
Dawn LUCI CQ
parent
2d706a0436
commit
5071a54af4
@@ -3774,7 +3774,7 @@ Expect<std::string> ParserImpl::expect_ident(std::string_view use) {
|
||||
next();
|
||||
|
||||
if (is_reserved(t)) {
|
||||
deprecated(t.source(), "'" + t.to_str() + "' is a reserved keyword");
|
||||
return add_error(t.source(), "'" + t.to_str() + "' is a reserved keyword");
|
||||
}
|
||||
|
||||
return {t.to_str(), t.source()};
|
||||
|
||||
@@ -21,74 +21,67 @@ using ParserImplReservedKeywordTest = ParserImplTestWithParam<std::string>;
|
||||
TEST_P(ParserImplReservedKeywordTest, Function) {
|
||||
auto name = GetParam();
|
||||
auto p = parser("fn " + name + "() {}");
|
||||
EXPECT_TRUE(p->Parse());
|
||||
EXPECT_FALSE(p->has_error());
|
||||
EXPECT_EQ(p->error(),
|
||||
"1:4: use of deprecated language feature: '" + name + "' is a reserved keyword");
|
||||
EXPECT_FALSE(p->Parse());
|
||||
EXPECT_TRUE(p->has_error());
|
||||
EXPECT_EQ(p->error(), "1:4: '" + name + "' is a reserved keyword");
|
||||
}
|
||||
TEST_P(ParserImplReservedKeywordTest, ModuleConst) {
|
||||
auto name = GetParam();
|
||||
auto p = parser("const " + name + " : i32 = 1;");
|
||||
EXPECT_TRUE(p->Parse());
|
||||
EXPECT_FALSE(p->has_error());
|
||||
EXPECT_EQ(p->error(),
|
||||
"1:7: use of deprecated language feature: '" + name + "' is a reserved keyword");
|
||||
EXPECT_FALSE(p->Parse());
|
||||
EXPECT_TRUE(p->has_error());
|
||||
EXPECT_EQ(p->error(), "1:7: '" + name + "' is a reserved keyword");
|
||||
}
|
||||
TEST_P(ParserImplReservedKeywordTest, ModuleVar) {
|
||||
auto name = GetParam();
|
||||
auto p = parser("var " + name + " : i32 = 1;");
|
||||
EXPECT_TRUE(p->Parse());
|
||||
EXPECT_FALSE(p->has_error());
|
||||
EXPECT_EQ(p->error(),
|
||||
"1:5: use of deprecated language feature: '" + name + "' is a reserved keyword");
|
||||
EXPECT_FALSE(p->Parse());
|
||||
EXPECT_TRUE(p->has_error());
|
||||
EXPECT_EQ(p->error(), "1:5: '" + name + "' is a reserved keyword");
|
||||
}
|
||||
TEST_P(ParserImplReservedKeywordTest, FunctionLet) {
|
||||
auto name = GetParam();
|
||||
auto p = parser("fn f() { let " + name + " : i32 = 1; }");
|
||||
EXPECT_TRUE(p->Parse());
|
||||
EXPECT_FALSE(p->has_error());
|
||||
EXPECT_EQ(p->error(),
|
||||
"1:14: use of deprecated language feature: '" + name + "' is a reserved keyword");
|
||||
EXPECT_FALSE(p->Parse());
|
||||
EXPECT_TRUE(p->has_error());
|
||||
EXPECT_EQ(p->error(), "1:14: '" + name + "' is a reserved keyword");
|
||||
}
|
||||
TEST_P(ParserImplReservedKeywordTest, FunctionVar) {
|
||||
auto name = GetParam();
|
||||
auto p = parser("fn f() { var " + name + " : i32 = 1; }");
|
||||
EXPECT_TRUE(p->Parse());
|
||||
EXPECT_FALSE(p->has_error());
|
||||
EXPECT_EQ(p->error(),
|
||||
"1:14: use of deprecated language feature: '" + name + "' is a reserved keyword");
|
||||
EXPECT_FALSE(p->Parse());
|
||||
EXPECT_TRUE(p->has_error());
|
||||
EXPECT_EQ(p->error(), "1:14: '" + name + "' is a reserved keyword");
|
||||
}
|
||||
TEST_P(ParserImplReservedKeywordTest, FunctionParam) {
|
||||
auto name = GetParam();
|
||||
auto p = parser("fn f(" + name + " : i32) {}");
|
||||
EXPECT_TRUE(p->Parse());
|
||||
EXPECT_FALSE(p->has_error());
|
||||
EXPECT_EQ(p->error(),
|
||||
"1:6: use of deprecated language feature: '" + name + "' is a reserved keyword");
|
||||
EXPECT_FALSE(p->Parse());
|
||||
EXPECT_TRUE(p->has_error());
|
||||
EXPECT_EQ(p->error(), "1:6: '" + name + "' is a reserved keyword");
|
||||
}
|
||||
TEST_P(ParserImplReservedKeywordTest, Struct) {
|
||||
auto name = GetParam();
|
||||
auto p = parser("struct " + name + " {};");
|
||||
EXPECT_TRUE(p->Parse());
|
||||
EXPECT_FALSE(p->has_error());
|
||||
EXPECT_EQ(p->error(),
|
||||
"1:8: use of deprecated language feature: '" + name + "' is a reserved keyword");
|
||||
EXPECT_FALSE(p->Parse());
|
||||
EXPECT_TRUE(p->has_error());
|
||||
EXPECT_EQ(p->error(), R"(1:8: ')" + name + R"(' is a reserved keyword
|
||||
1:)" + std::to_string(9 + name.length()) +
|
||||
R"(: statement found outside of function body)");
|
||||
}
|
||||
TEST_P(ParserImplReservedKeywordTest, StructMember) {
|
||||
auto name = GetParam();
|
||||
auto p = parser("struct S { " + name + " : i32, };");
|
||||
EXPECT_TRUE(p->Parse());
|
||||
EXPECT_FALSE(p->has_error());
|
||||
EXPECT_EQ(p->error(),
|
||||
"1:12: use of deprecated language feature: '" + name + "' is a reserved keyword");
|
||||
EXPECT_FALSE(p->Parse());
|
||||
EXPECT_TRUE(p->has_error());
|
||||
EXPECT_EQ(p->error(), "1:12: '" + name + "' is a reserved keyword");
|
||||
}
|
||||
TEST_P(ParserImplReservedKeywordTest, Alias) {
|
||||
auto name = GetParam();
|
||||
auto p = parser("type " + name + " = i32;");
|
||||
EXPECT_TRUE(p->Parse());
|
||||
EXPECT_FALSE(p->has_error());
|
||||
EXPECT_EQ(p->error(),
|
||||
"1:6: use of deprecated language feature: '" + name + "' is a reserved keyword");
|
||||
EXPECT_FALSE(p->Parse());
|
||||
EXPECT_TRUE(p->has_error());
|
||||
EXPECT_EQ(p->error(), "1:6: '" + name + "' is a reserved keyword");
|
||||
}
|
||||
INSTANTIATE_TEST_SUITE_P(ParserImplReservedKeywordTest,
|
||||
ParserImplReservedKeywordTest,
|
||||
|
||||
Reference in New Issue
Block a user