Rename RelationalExpression to BinaryExpression.
Match the more common usage for the expression type.
Bug: tint:37
Change-Id: Ia5d48a0444742ec4e304ea1036e499b3d7cad682
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/18981
Reviewed-by: Ryan Harrison <rharrison@chromium.org>
diff --git a/src/reader/wgsl/parser_impl.cc b/src/reader/wgsl/parser_impl.cc
index dcc7229..5f86f56 100644
--- a/src/reader/wgsl/parser_impl.cc
+++ b/src/reader/wgsl/parser_impl.cc
@@ -19,6 +19,7 @@
#include "src/ast/array_accessor_expression.h"
#include "src/ast/as_expression.h"
+#include "src/ast/binary_expression.h"
#include "src/ast/binding_decoration.h"
#include "src/ast/bool_literal.h"
#include "src/ast/break_statement.h"
@@ -38,7 +39,6 @@
#include "src/ast/location_decoration.h"
#include "src/ast/member_accessor_expression.h"
#include "src/ast/nop_statement.h"
-#include "src/ast/relational_expression.h"
#include "src/ast/return_statement.h"
#include "src/ast/scalar_constructor_expression.h"
#include "src/ast/set_decoration.h"
@@ -2633,13 +2633,13 @@
std::unique_ptr<ast::Expression> lhs) {
auto t = peek();
- ast::Relation relation = ast::Relation::kNone;
+ ast::BinaryOp op = ast::BinaryOp::kNone;
if (t.IsStar())
- relation = ast::Relation::kMultiply;
+ op = ast::BinaryOp::kMultiply;
else if (t.IsForwardSlash())
- relation = ast::Relation::kDivide;
+ op = ast::BinaryOp::kDivide;
else if (t.IsMod())
- relation = ast::Relation::kModulo;
+ op = ast::BinaryOp::kModulo;
else
return lhs;
@@ -2654,8 +2654,8 @@
set_error(peek(), "unable to parse right side of " + name + " expression");
return nullptr;
}
- return multiplicative_expr(std::make_unique<ast::RelationalExpression>(
- source, relation, std::move(lhs), std::move(rhs)));
+ return multiplicative_expr(std::make_unique<ast::BinaryExpression>(
+ source, op, std::move(lhs), std::move(rhs)));
}
// multiplicative_expression
@@ -2678,11 +2678,11 @@
std::unique_ptr<ast::Expression> lhs) {
auto t = peek();
- ast::Relation relation = ast::Relation::kNone;
+ ast::BinaryOp op = ast::BinaryOp::kNone;
if (t.IsPlus())
- relation = ast::Relation::kAdd;
+ op = ast::BinaryOp::kAdd;
else if (t.IsMinus())
- relation = ast::Relation::kSubtract;
+ op = ast::BinaryOp::kSubtract;
else
return lhs;
@@ -2696,8 +2696,8 @@
set_error(peek(), "unable to parse right side of + expression");
return nullptr;
}
- return additive_expr(std::make_unique<ast::RelationalExpression>(
- source, relation, std::move(lhs), std::move(rhs)));
+ return additive_expr(std::make_unique<ast::BinaryExpression>(
+ source, op, std::move(lhs), std::move(rhs)));
}
// additive_expression
@@ -2725,22 +2725,22 @@
auto t3 = peek(2);
auto name = "";
- ast::Relation relation = ast::Relation::kNone;
+ ast::BinaryOp op = ast::BinaryOp::kNone;
if (t.IsLessThan() && t2.IsLessThan()) {
next(); // Consume the t peek
next(); // Consume the t2 peek
- relation = ast::Relation::kShiftLeft;
+ op = ast::BinaryOp::kShiftLeft;
name = "<<";
} else if (t.IsGreaterThan() && t2.IsGreaterThan() && t3.IsGreaterThan()) {
next(); // Consume the t peek
next(); // Consume the t2 peek
next(); // Consume the t3 peek
- relation = ast::Relation::kShiftRightArith;
+ op = ast::BinaryOp::kShiftRightArith;
name = ">>>";
} else if (t.IsGreaterThan() && t2.IsGreaterThan()) {
next(); // Consume the t peek
next(); // Consume the t2 peek
- relation = ast::Relation::kShiftRight;
+ op = ast::BinaryOp::kShiftRight;
name = ">>";
} else {
return lhs;
@@ -2754,8 +2754,8 @@
" expression");
return nullptr;
}
- return shift_expr(std::make_unique<ast::RelationalExpression>(
- source, relation, std::move(lhs), std::move(rhs)));
+ return shift_expr(std::make_unique<ast::BinaryExpression>(
+ source, op, std::move(lhs), std::move(rhs)));
}
// shift_expression
@@ -2779,15 +2779,15 @@
std::unique_ptr<ast::Expression> ParserImpl::relational_expr(
std::unique_ptr<ast::Expression> lhs) {
auto t = peek();
- ast::Relation relation = ast::Relation::kNone;
+ ast::BinaryOp op = ast::BinaryOp::kNone;
if (t.IsLessThan())
- relation = ast::Relation::kLessThan;
+ op = ast::BinaryOp::kLessThan;
else if (t.IsGreaterThan())
- relation = ast::Relation::kGreaterThan;
+ op = ast::BinaryOp::kGreaterThan;
else if (t.IsLessThanEqual())
- relation = ast::Relation::kLessThanEqual;
+ op = ast::BinaryOp::kLessThanEqual;
else if (t.IsGreaterThanEqual())
- relation = ast::Relation::kGreaterThanEqual;
+ op = ast::BinaryOp::kGreaterThanEqual;
else
return lhs;
@@ -2802,8 +2802,8 @@
set_error(peek(), "unable to parse right side of " + name + " expression");
return nullptr;
}
- return relational_expr(std::make_unique<ast::RelationalExpression>(
- source, relation, std::move(lhs), std::move(rhs)));
+ return relational_expr(std::make_unique<ast::BinaryExpression>(
+ source, op, std::move(lhs), std::move(rhs)));
}
// relational_expression
@@ -2825,11 +2825,11 @@
std::unique_ptr<ast::Expression> ParserImpl::equality_expr(
std::unique_ptr<ast::Expression> lhs) {
auto t = peek();
- ast::Relation relation = ast::Relation::kNone;
+ ast::BinaryOp op = ast::BinaryOp::kNone;
if (t.IsEqualEqual())
- relation = ast::Relation::kEqual;
+ op = ast::BinaryOp::kEqual;
else if (t.IsNotEqual())
- relation = ast::Relation::kNotEqual;
+ op = ast::BinaryOp::kNotEqual;
else
return lhs;
@@ -2844,8 +2844,8 @@
set_error(peek(), "unable to parse right side of " + name + " expression");
return nullptr;
}
- return equality_expr(std::make_unique<ast::RelationalExpression>(
- source, relation, std::move(lhs), std::move(rhs)));
+ return equality_expr(std::make_unique<ast::BinaryExpression>(
+ source, op, std::move(lhs), std::move(rhs)));
}
// equality_expression
@@ -2879,8 +2879,8 @@
set_error(peek(), "unable to parse right side of & expression");
return nullptr;
}
- return and_expr(std::make_unique<ast::RelationalExpression>(
- source, ast::Relation::kAnd, std::move(lhs), std::move(rhs)));
+ return and_expr(std::make_unique<ast::BinaryExpression>(
+ source, ast::BinaryOp::kAnd, std::move(lhs), std::move(rhs)));
}
// and_expression
@@ -2914,8 +2914,8 @@
set_error(peek(), "unable to parse right side of ^ expression");
return nullptr;
}
- return exclusive_or_expr(std::make_unique<ast::RelationalExpression>(
- source, ast::Relation::kXor, std::move(lhs), std::move(rhs)));
+ return exclusive_or_expr(std::make_unique<ast::BinaryExpression>(
+ source, ast::BinaryOp::kXor, std::move(lhs), std::move(rhs)));
}
// exclusive_or_expression
@@ -2949,8 +2949,8 @@
set_error(peek(), "unable to parse right side of | expression");
return nullptr;
}
- return inclusive_or_expr(std::make_unique<ast::RelationalExpression>(
- source, ast::Relation::kOr, std::move(lhs), std::move(rhs)));
+ return inclusive_or_expr(std::make_unique<ast::BinaryExpression>(
+ source, ast::BinaryOp::kOr, std::move(lhs), std::move(rhs)));
}
// inclusive_or_expression
@@ -2984,8 +2984,8 @@
set_error(peek(), "unable to parse right side of && expression");
return nullptr;
}
- return logical_and_expr(std::make_unique<ast::RelationalExpression>(
- source, ast::Relation::kLogicalAnd, std::move(lhs), std::move(rhs)));
+ return logical_and_expr(std::make_unique<ast::BinaryExpression>(
+ source, ast::BinaryOp::kLogicalAnd, std::move(lhs), std::move(rhs)));
}
// logical_and_expression
@@ -3019,8 +3019,8 @@
set_error(peek(), "unable to parse right side of || expression");
return nullptr;
}
- return logical_or_expr(std::make_unique<ast::RelationalExpression>(
- source, ast::Relation::kLogicalOr, std::move(lhs), std::move(rhs)));
+ return logical_or_expr(std::make_unique<ast::BinaryExpression>(
+ source, ast::BinaryOp::kLogicalOr, std::move(lhs), std::move(rhs)));
}
// logical_or_expression
diff --git a/src/reader/wgsl/parser_impl_additive_expression_test.cc b/src/reader/wgsl/parser_impl_additive_expression_test.cc
index db4b4a2..38d92ea 100644
--- a/src/reader/wgsl/parser_impl_additive_expression_test.cc
+++ b/src/reader/wgsl/parser_impl_additive_expression_test.cc
@@ -13,9 +13,9 @@
// limitations under the License.
#include "gtest/gtest.h"
+#include "src/ast/binary_expression.h"
#include "src/ast/bool_literal.h"
#include "src/ast/identifier_expression.h"
-#include "src/ast/relational_expression.h"
#include "src/ast/scalar_constructor_expression.h"
#include "src/reader/wgsl/parser_impl.h"
#include "src/reader/wgsl/parser_impl_test_helper.h"
@@ -31,9 +31,9 @@
ASSERT_FALSE(p->has_error()) << p->error();
ASSERT_NE(e, nullptr);
- ASSERT_TRUE(e->IsRelational());
- auto rel = e->AsRelational();
- EXPECT_EQ(ast::Relation::kAdd, rel->relation());
+ ASSERT_TRUE(e->IsBinary());
+ auto rel = e->AsBinary();
+ EXPECT_EQ(ast::BinaryOp::kAdd, rel->op());
ASSERT_TRUE(rel->lhs()->IsIdentifier());
auto ident = rel->lhs()->AsIdentifier();
@@ -53,9 +53,9 @@
ASSERT_FALSE(p->has_error()) << p->error();
ASSERT_NE(e, nullptr);
- ASSERT_TRUE(e->IsRelational());
- auto rel = e->AsRelational();
- EXPECT_EQ(ast::Relation::kSubtract, rel->relation());
+ ASSERT_TRUE(e->IsBinary());
+ auto rel = e->AsBinary();
+ EXPECT_EQ(ast::BinaryOp::kSubtract, rel->op());
ASSERT_TRUE(rel->lhs()->IsIdentifier());
auto ident = rel->lhs()->AsIdentifier();
diff --git a/src/reader/wgsl/parser_impl_and_expression_test.cc b/src/reader/wgsl/parser_impl_and_expression_test.cc
index 4f55afe..49ef84a 100644
--- a/src/reader/wgsl/parser_impl_and_expression_test.cc
+++ b/src/reader/wgsl/parser_impl_and_expression_test.cc
@@ -13,9 +13,9 @@
// limitations under the License.
#include "gtest/gtest.h"
+#include "src/ast/binary_expression.h"
#include "src/ast/bool_literal.h"
#include "src/ast/identifier_expression.h"
-#include "src/ast/relational_expression.h"
#include "src/ast/scalar_constructor_expression.h"
#include "src/reader/wgsl/parser_impl.h"
#include "src/reader/wgsl/parser_impl_test_helper.h"
@@ -31,9 +31,9 @@
ASSERT_FALSE(p->has_error()) << p->error();
ASSERT_NE(e, nullptr);
- ASSERT_TRUE(e->IsRelational());
- auto rel = e->AsRelational();
- EXPECT_EQ(ast::Relation::kAnd, rel->relation());
+ ASSERT_TRUE(e->IsBinary());
+ auto rel = e->AsBinary();
+ EXPECT_EQ(ast::BinaryOp::kAnd, rel->op());
ASSERT_TRUE(rel->lhs()->IsIdentifier());
auto ident = rel->lhs()->AsIdentifier();
diff --git a/src/reader/wgsl/parser_impl_argument_expression_list_test.cc b/src/reader/wgsl/parser_impl_argument_expression_list_test.cc
index 3155ee8..650ff96 100644
--- a/src/reader/wgsl/parser_impl_argument_expression_list_test.cc
+++ b/src/reader/wgsl/parser_impl_argument_expression_list_test.cc
@@ -45,7 +45,7 @@
ASSERT_EQ(e.size(), 3);
ASSERT_TRUE(e[0]->IsIdentifier());
ASSERT_TRUE(e[1]->IsConstructor());
- ASSERT_TRUE(e[2]->IsRelational());
+ ASSERT_TRUE(e[2]->IsBinary());
}
TEST_F(ParserImplTest, ArgumentExpressionList_HandlesMissingExpression) {
diff --git a/src/reader/wgsl/parser_impl_break_stmt_test.cc b/src/reader/wgsl/parser_impl_break_stmt_test.cc
index df1b901..688c5b8 100644
--- a/src/reader/wgsl/parser_impl_break_stmt_test.cc
+++ b/src/reader/wgsl/parser_impl_break_stmt_test.cc
@@ -42,7 +42,7 @@
ASSERT_TRUE(e->IsBreak());
EXPECT_EQ(e->condition(), ast::StatementCondition::kIf);
ASSERT_NE(e->conditional(), nullptr);
- EXPECT_TRUE(e->conditional()->IsRelational());
+ EXPECT_TRUE(e->conditional()->IsBinary());
}
TEST_F(ParserImplTest, BreakStmt_WithUnless) {
@@ -53,7 +53,7 @@
ASSERT_TRUE(e->IsBreak());
EXPECT_EQ(e->condition(), ast::StatementCondition::kUnless);
ASSERT_NE(e->conditional(), nullptr);
- EXPECT_TRUE(e->conditional()->IsRelational());
+ EXPECT_TRUE(e->conditional()->IsBinary());
}
TEST_F(ParserImplTest, BreakStmt_InvalidRHS) {
diff --git a/src/reader/wgsl/parser_impl_continue_stmt_test.cc b/src/reader/wgsl/parser_impl_continue_stmt_test.cc
index db2171d..f1e05c2 100644
--- a/src/reader/wgsl/parser_impl_continue_stmt_test.cc
+++ b/src/reader/wgsl/parser_impl_continue_stmt_test.cc
@@ -42,7 +42,7 @@
ASSERT_TRUE(e->IsContinue());
EXPECT_EQ(e->condition(), ast::StatementCondition::kIf);
ASSERT_NE(e->conditional(), nullptr);
- EXPECT_TRUE(e->conditional()->IsRelational());
+ EXPECT_TRUE(e->conditional()->IsBinary());
}
TEST_F(ParserImplTest, ContinueStmt_WithUnless) {
@@ -53,7 +53,7 @@
ASSERT_TRUE(e->IsContinue());
EXPECT_EQ(e->condition(), ast::StatementCondition::kUnless);
ASSERT_NE(e->conditional(), nullptr);
- EXPECT_TRUE(e->conditional()->IsRelational());
+ EXPECT_TRUE(e->conditional()->IsBinary());
}
TEST_F(ParserImplTest, ContinueStmt_InvalidRHS) {
diff --git a/src/reader/wgsl/parser_impl_elseif_stmt_test.cc b/src/reader/wgsl/parser_impl_elseif_stmt_test.cc
index e5b5f52..147b3d4 100644
--- a/src/reader/wgsl/parser_impl_elseif_stmt_test.cc
+++ b/src/reader/wgsl/parser_impl_elseif_stmt_test.cc
@@ -30,7 +30,7 @@
ASSERT_TRUE(e[0]->IsElse());
ASSERT_NE(e[0]->condition(), nullptr);
- ASSERT_TRUE(e[0]->condition()->IsRelational());
+ ASSERT_TRUE(e[0]->condition()->IsBinary());
EXPECT_EQ(e[0]->body().size(), 2);
}
@@ -42,7 +42,7 @@
ASSERT_TRUE(e[0]->IsElse());
ASSERT_NE(e[0]->condition(), nullptr);
- ASSERT_TRUE(e[0]->condition()->IsRelational());
+ ASSERT_TRUE(e[0]->condition()->IsBinary());
EXPECT_EQ(e[0]->body().size(), 2);
ASSERT_TRUE(e[1]->IsElse());
diff --git a/src/reader/wgsl/parser_impl_equality_expression_test.cc b/src/reader/wgsl/parser_impl_equality_expression_test.cc
index 7193229..39a83b6 100644
--- a/src/reader/wgsl/parser_impl_equality_expression_test.cc
+++ b/src/reader/wgsl/parser_impl_equality_expression_test.cc
@@ -13,9 +13,9 @@
// limitations under the License.
#include "gtest/gtest.h"
+#include "src/ast/binary_expression.h"
#include "src/ast/bool_literal.h"
#include "src/ast/identifier_expression.h"
-#include "src/ast/relational_expression.h"
#include "src/ast/scalar_constructor_expression.h"
#include "src/reader/wgsl/parser_impl.h"
#include "src/reader/wgsl/parser_impl_test_helper.h"
@@ -31,9 +31,9 @@
ASSERT_FALSE(p->has_error()) << p->error();
ASSERT_NE(e, nullptr);
- ASSERT_TRUE(e->IsRelational());
- auto rel = e->AsRelational();
- EXPECT_EQ(ast::Relation::kEqual, rel->relation());
+ ASSERT_TRUE(e->IsBinary());
+ auto rel = e->AsBinary();
+ EXPECT_EQ(ast::BinaryOp::kEqual, rel->op());
ASSERT_TRUE(rel->lhs()->IsIdentifier());
auto ident = rel->lhs()->AsIdentifier();
@@ -53,9 +53,9 @@
ASSERT_FALSE(p->has_error()) << p->error();
ASSERT_NE(e, nullptr);
- ASSERT_TRUE(e->IsRelational());
- auto rel = e->AsRelational();
- EXPECT_EQ(ast::Relation::kNotEqual, rel->relation());
+ ASSERT_TRUE(e->IsBinary());
+ auto rel = e->AsBinary();
+ EXPECT_EQ(ast::BinaryOp::kNotEqual, rel->op());
ASSERT_TRUE(rel->lhs()->IsIdentifier());
auto ident = rel->lhs()->AsIdentifier();
diff --git a/src/reader/wgsl/parser_impl_exclusive_or_expression_test.cc b/src/reader/wgsl/parser_impl_exclusive_or_expression_test.cc
index 626a9ac..bb4d21b 100644
--- a/src/reader/wgsl/parser_impl_exclusive_or_expression_test.cc
+++ b/src/reader/wgsl/parser_impl_exclusive_or_expression_test.cc
@@ -13,9 +13,9 @@
// limitations under the License.
#include "gtest/gtest.h"
+#include "src/ast/binary_expression.h"
#include "src/ast/bool_literal.h"
#include "src/ast/identifier_expression.h"
-#include "src/ast/relational_expression.h"
#include "src/ast/scalar_constructor_expression.h"
#include "src/reader/wgsl/parser_impl.h"
#include "src/reader/wgsl/parser_impl_test_helper.h"
@@ -31,9 +31,9 @@
ASSERT_FALSE(p->has_error()) << p->error();
ASSERT_NE(e, nullptr);
- ASSERT_TRUE(e->IsRelational());
- auto rel = e->AsRelational();
- EXPECT_EQ(ast::Relation::kXor, rel->relation());
+ ASSERT_TRUE(e->IsBinary());
+ auto rel = e->AsBinary();
+ EXPECT_EQ(ast::BinaryOp::kXor, rel->op());
ASSERT_TRUE(rel->lhs()->IsIdentifier());
auto ident = rel->lhs()->AsIdentifier();
diff --git a/src/reader/wgsl/parser_impl_if_stmt_test.cc b/src/reader/wgsl/parser_impl_if_stmt_test.cc
index 43dcecc..40a6661 100644
--- a/src/reader/wgsl/parser_impl_if_stmt_test.cc
+++ b/src/reader/wgsl/parser_impl_if_stmt_test.cc
@@ -31,7 +31,7 @@
ASSERT_TRUE(e->IsIf());
ASSERT_NE(e->condition(), nullptr);
- ASSERT_TRUE(e->condition()->IsRelational());
+ ASSERT_TRUE(e->condition()->IsBinary());
EXPECT_EQ(e->body().size(), 2);
EXPECT_EQ(e->else_statements().size(), 0);
EXPECT_EQ(e->premerge().size(), 0);
@@ -45,7 +45,7 @@
ASSERT_TRUE(e->IsIf());
ASSERT_NE(e->condition(), nullptr);
- ASSERT_TRUE(e->condition()->IsRelational());
+ ASSERT_TRUE(e->condition()->IsBinary());
EXPECT_EQ(e->body().size(), 2);
ASSERT_EQ(e->else_statements().size(), 2);
@@ -72,7 +72,7 @@
ASSERT_TRUE(e->IsIf());
ASSERT_NE(e->condition(), nullptr);
- ASSERT_TRUE(e->condition()->IsRelational());
+ ASSERT_TRUE(e->condition()->IsBinary());
EXPECT_EQ(e->body().size(), 2);
ASSERT_EQ(e->else_statements().size(), 1);
diff --git a/src/reader/wgsl/parser_impl_inclusive_or_expression_test.cc b/src/reader/wgsl/parser_impl_inclusive_or_expression_test.cc
index 4bd9c44..bbbe778 100644
--- a/src/reader/wgsl/parser_impl_inclusive_or_expression_test.cc
+++ b/src/reader/wgsl/parser_impl_inclusive_or_expression_test.cc
@@ -13,9 +13,9 @@
// limitations under the License.
#include "gtest/gtest.h"
+#include "src/ast/binary_expression.h"
#include "src/ast/bool_literal.h"
#include "src/ast/identifier_expression.h"
-#include "src/ast/relational_expression.h"
#include "src/ast/scalar_constructor_expression.h"
#include "src/reader/wgsl/parser_impl.h"
#include "src/reader/wgsl/parser_impl_test_helper.h"
@@ -31,9 +31,9 @@
ASSERT_FALSE(p->has_error()) << p->error();
ASSERT_NE(e, nullptr);
- ASSERT_TRUE(e->IsRelational());
- auto rel = e->AsRelational();
- EXPECT_EQ(ast::Relation::kOr, rel->relation());
+ ASSERT_TRUE(e->IsBinary());
+ auto rel = e->AsBinary();
+ EXPECT_EQ(ast::BinaryOp::kOr, rel->op());
ASSERT_TRUE(rel->lhs()->IsIdentifier());
auto ident = rel->lhs()->AsIdentifier();
diff --git a/src/reader/wgsl/parser_impl_logical_and_expression_test.cc b/src/reader/wgsl/parser_impl_logical_and_expression_test.cc
index 9483649..9c7029e 100644
--- a/src/reader/wgsl/parser_impl_logical_and_expression_test.cc
+++ b/src/reader/wgsl/parser_impl_logical_and_expression_test.cc
@@ -13,9 +13,9 @@
// limitations under the License.
#include "gtest/gtest.h"
+#include "src/ast/binary_expression.h"
#include "src/ast/bool_literal.h"
#include "src/ast/identifier_expression.h"
-#include "src/ast/relational_expression.h"
#include "src/ast/scalar_constructor_expression.h"
#include "src/reader/wgsl/parser_impl.h"
#include "src/reader/wgsl/parser_impl_test_helper.h"
@@ -31,9 +31,9 @@
ASSERT_FALSE(p->has_error()) << p->error();
ASSERT_NE(e, nullptr);
- ASSERT_TRUE(e->IsRelational());
- auto rel = e->AsRelational();
- EXPECT_EQ(ast::Relation::kLogicalAnd, rel->relation());
+ ASSERT_TRUE(e->IsBinary());
+ auto rel = e->AsBinary();
+ EXPECT_EQ(ast::BinaryOp::kLogicalAnd, rel->op());
ASSERT_TRUE(rel->lhs()->IsIdentifier());
auto ident = rel->lhs()->AsIdentifier();
diff --git a/src/reader/wgsl/parser_impl_logical_or_expression_test.cc b/src/reader/wgsl/parser_impl_logical_or_expression_test.cc
index 3fb303a..bc19f61 100644
--- a/src/reader/wgsl/parser_impl_logical_or_expression_test.cc
+++ b/src/reader/wgsl/parser_impl_logical_or_expression_test.cc
@@ -13,9 +13,9 @@
// limitations under the License.
#include "gtest/gtest.h"
+#include "src/ast/binary_expression.h"
#include "src/ast/bool_literal.h"
#include "src/ast/identifier_expression.h"
-#include "src/ast/relational_expression.h"
#include "src/ast/scalar_constructor_expression.h"
#include "src/reader/wgsl/parser_impl.h"
#include "src/reader/wgsl/parser_impl_test_helper.h"
@@ -31,9 +31,9 @@
ASSERT_FALSE(p->has_error()) << p->error();
ASSERT_NE(e, nullptr);
- ASSERT_TRUE(e->IsRelational());
- auto rel = e->AsRelational();
- EXPECT_EQ(ast::Relation::kLogicalOr, rel->relation());
+ ASSERT_TRUE(e->IsBinary());
+ auto rel = e->AsBinary();
+ EXPECT_EQ(ast::BinaryOp::kLogicalOr, rel->op());
ASSERT_TRUE(rel->lhs()->IsIdentifier());
auto ident = rel->lhs()->AsIdentifier();
diff --git a/src/reader/wgsl/parser_impl_multiplicative_expression_test.cc b/src/reader/wgsl/parser_impl_multiplicative_expression_test.cc
index 9d6e2f7..cba8fc1 100644
--- a/src/reader/wgsl/parser_impl_multiplicative_expression_test.cc
+++ b/src/reader/wgsl/parser_impl_multiplicative_expression_test.cc
@@ -13,9 +13,9 @@
// limitations under the License.
#include "gtest/gtest.h"
+#include "src/ast/binary_expression.h"
#include "src/ast/bool_literal.h"
#include "src/ast/identifier_expression.h"
-#include "src/ast/relational_expression.h"
#include "src/ast/scalar_constructor_expression.h"
#include "src/reader/wgsl/parser_impl.h"
#include "src/reader/wgsl/parser_impl_test_helper.h"
@@ -31,9 +31,9 @@
ASSERT_FALSE(p->has_error()) << p->error();
ASSERT_NE(e, nullptr);
- ASSERT_TRUE(e->IsRelational());
- auto rel = e->AsRelational();
- EXPECT_EQ(ast::Relation::kMultiply, rel->relation());
+ ASSERT_TRUE(e->IsBinary());
+ auto rel = e->AsBinary();
+ EXPECT_EQ(ast::BinaryOp::kMultiply, rel->op());
ASSERT_TRUE(rel->lhs()->IsIdentifier());
auto ident = rel->lhs()->AsIdentifier();
@@ -53,9 +53,9 @@
ASSERT_FALSE(p->has_error()) << p->error();
ASSERT_NE(e, nullptr);
- ASSERT_TRUE(e->IsRelational());
- auto rel = e->AsRelational();
- EXPECT_EQ(ast::Relation::kDivide, rel->relation());
+ ASSERT_TRUE(e->IsBinary());
+ auto rel = e->AsBinary();
+ EXPECT_EQ(ast::BinaryOp::kDivide, rel->op());
ASSERT_TRUE(rel->lhs()->IsIdentifier());
auto ident = rel->lhs()->AsIdentifier();
@@ -75,9 +75,9 @@
ASSERT_FALSE(p->has_error()) << p->error();
ASSERT_NE(e, nullptr);
- ASSERT_TRUE(e->IsRelational());
- auto rel = e->AsRelational();
- EXPECT_EQ(ast::Relation::kModulo, rel->relation());
+ ASSERT_TRUE(e->IsBinary());
+ auto rel = e->AsBinary();
+ EXPECT_EQ(ast::BinaryOp::kModulo, rel->op());
ASSERT_TRUE(rel->lhs()->IsIdentifier());
auto ident = rel->lhs()->AsIdentifier();
diff --git a/src/reader/wgsl/parser_impl_paren_rhs_stmt_test.cc b/src/reader/wgsl/parser_impl_paren_rhs_stmt_test.cc
index 2955815..fde1394 100644
--- a/src/reader/wgsl/parser_impl_paren_rhs_stmt_test.cc
+++ b/src/reader/wgsl/parser_impl_paren_rhs_stmt_test.cc
@@ -26,7 +26,7 @@
auto e = p->paren_rhs_stmt();
ASSERT_FALSE(p->has_error()) << p->error();
ASSERT_NE(e, nullptr);
- ASSERT_TRUE(e->IsRelational());
+ ASSERT_TRUE(e->IsBinary());
}
TEST_F(ParserImplTest, ParenRhsStmt_MissingLeftParen) {
diff --git a/src/reader/wgsl/parser_impl_postfix_expression_test.cc b/src/reader/wgsl/parser_impl_postfix_expression_test.cc
index a9c63e9..66380cb 100644
--- a/src/reader/wgsl/parser_impl_postfix_expression_test.cc
+++ b/src/reader/wgsl/parser_impl_postfix_expression_test.cc
@@ -65,7 +65,7 @@
ASSERT_EQ(ident->name().size(), 1);
EXPECT_EQ(ident->name()[0], "a");
- ASSERT_TRUE(ary->idx_expr()->IsRelational());
+ ASSERT_TRUE(ary->idx_expr()->IsBinary());
}
TEST_F(ParserImplTest, PostfixExpression_Array_MissingIndex) {
@@ -127,7 +127,7 @@
EXPECT_EQ(c->params().size(), 3);
EXPECT_TRUE(c->params()[0]->IsConstructor());
EXPECT_TRUE(c->params()[1]->IsIdentifier());
- EXPECT_TRUE(c->params()[2]->IsRelational());
+ EXPECT_TRUE(c->params()[2]->IsBinary());
}
TEST_F(ParserImplTest, PostfixExpression_Call_InvalidArg) {
diff --git a/src/reader/wgsl/parser_impl_primary_expression_test.cc b/src/reader/wgsl/parser_impl_primary_expression_test.cc
index 0ce6138..ae0c9c3 100644
--- a/src/reader/wgsl/parser_impl_primary_expression_test.cc
+++ b/src/reader/wgsl/parser_impl_primary_expression_test.cc
@@ -153,7 +153,7 @@
auto e = p->primary_expression();
ASSERT_FALSE(p->has_error()) << p->error();
ASSERT_NE(e, nullptr);
- ASSERT_TRUE(e->IsRelational());
+ ASSERT_TRUE(e->IsBinary());
}
TEST_F(ParserImplTest, PrimaryExpression_ParenExpr_MissingRightParen) {
diff --git a/src/reader/wgsl/parser_impl_relational_expression_test.cc b/src/reader/wgsl/parser_impl_relational_expression_test.cc
index 5673535..1b4ab29 100644
--- a/src/reader/wgsl/parser_impl_relational_expression_test.cc
+++ b/src/reader/wgsl/parser_impl_relational_expression_test.cc
@@ -13,9 +13,9 @@
// limitations under the License.
#include "gtest/gtest.h"
+#include "src/ast/binary_expression.h"
#include "src/ast/bool_literal.h"
#include "src/ast/identifier_expression.h"
-#include "src/ast/relational_expression.h"
#include "src/ast/scalar_constructor_expression.h"
#include "src/reader/wgsl/parser_impl.h"
#include "src/reader/wgsl/parser_impl_test_helper.h"
@@ -31,9 +31,9 @@
ASSERT_FALSE(p->has_error()) << p->error();
ASSERT_NE(e, nullptr);
- ASSERT_TRUE(e->IsRelational());
- auto rel = e->AsRelational();
- EXPECT_EQ(ast::Relation::kLessThan, rel->relation());
+ ASSERT_TRUE(e->IsBinary());
+ auto rel = e->AsBinary();
+ EXPECT_EQ(ast::BinaryOp::kLessThan, rel->op());
ASSERT_TRUE(rel->lhs()->IsIdentifier());
auto ident = rel->lhs()->AsIdentifier();
@@ -53,9 +53,9 @@
ASSERT_FALSE(p->has_error()) << p->error();
ASSERT_NE(e, nullptr);
- ASSERT_TRUE(e->IsRelational());
- auto rel = e->AsRelational();
- EXPECT_EQ(ast::Relation::kGreaterThan, rel->relation());
+ ASSERT_TRUE(e->IsBinary());
+ auto rel = e->AsBinary();
+ EXPECT_EQ(ast::BinaryOp::kGreaterThan, rel->op());
ASSERT_TRUE(rel->lhs()->IsIdentifier());
auto ident = rel->lhs()->AsIdentifier();
@@ -75,9 +75,9 @@
ASSERT_FALSE(p->has_error()) << p->error();
ASSERT_NE(e, nullptr);
- ASSERT_TRUE(e->IsRelational());
- auto rel = e->AsRelational();
- EXPECT_EQ(ast::Relation::kLessThanEqual, rel->relation());
+ ASSERT_TRUE(e->IsBinary());
+ auto rel = e->AsBinary();
+ EXPECT_EQ(ast::BinaryOp::kLessThanEqual, rel->op());
ASSERT_TRUE(rel->lhs()->IsIdentifier());
auto ident = rel->lhs()->AsIdentifier();
@@ -97,9 +97,9 @@
ASSERT_FALSE(p->has_error()) << p->error();
ASSERT_NE(e, nullptr);
- ASSERT_TRUE(e->IsRelational());
- auto rel = e->AsRelational();
- EXPECT_EQ(ast::Relation::kGreaterThanEqual, rel->relation());
+ ASSERT_TRUE(e->IsBinary());
+ auto rel = e->AsBinary();
+ EXPECT_EQ(ast::BinaryOp::kGreaterThanEqual, rel->op());
ASSERT_TRUE(rel->lhs()->IsIdentifier());
auto ident = rel->lhs()->AsIdentifier();
diff --git a/src/reader/wgsl/parser_impl_shift_expression_test.cc b/src/reader/wgsl/parser_impl_shift_expression_test.cc
index 76f5270..60c99ad 100644
--- a/src/reader/wgsl/parser_impl_shift_expression_test.cc
+++ b/src/reader/wgsl/parser_impl_shift_expression_test.cc
@@ -13,9 +13,9 @@
// limitations under the License.
#include "gtest/gtest.h"
+#include "src/ast/binary_expression.h"
#include "src/ast/bool_literal.h"
#include "src/ast/identifier_expression.h"
-#include "src/ast/relational_expression.h"
#include "src/ast/scalar_constructor_expression.h"
#include "src/reader/wgsl/parser_impl.h"
#include "src/reader/wgsl/parser_impl_test_helper.h"
@@ -31,9 +31,9 @@
ASSERT_FALSE(p->has_error()) << p->error();
ASSERT_NE(e, nullptr);
- ASSERT_TRUE(e->IsRelational());
- auto rel = e->AsRelational();
- EXPECT_EQ(ast::Relation::kShiftLeft, rel->relation());
+ ASSERT_TRUE(e->IsBinary());
+ auto rel = e->AsBinary();
+ EXPECT_EQ(ast::BinaryOp::kShiftLeft, rel->op());
ASSERT_TRUE(rel->lhs()->IsIdentifier());
auto ident = rel->lhs()->AsIdentifier();
@@ -53,9 +53,9 @@
ASSERT_FALSE(p->has_error()) << p->error();
ASSERT_NE(e, nullptr);
- ASSERT_TRUE(e->IsRelational());
- auto rel = e->AsRelational();
- EXPECT_EQ(ast::Relation::kShiftRight, rel->relation());
+ ASSERT_TRUE(e->IsBinary());
+ auto rel = e->AsBinary();
+ EXPECT_EQ(ast::BinaryOp::kShiftRight, rel->op());
ASSERT_TRUE(rel->lhs()->IsIdentifier());
auto ident = rel->lhs()->AsIdentifier();
@@ -75,9 +75,9 @@
ASSERT_FALSE(p->has_error()) << p->error();
ASSERT_NE(e, nullptr);
- ASSERT_TRUE(e->IsRelational());
- auto rel = e->AsRelational();
- EXPECT_EQ(ast::Relation::kShiftRightArith, rel->relation());
+ ASSERT_TRUE(e->IsBinary());
+ auto rel = e->AsBinary();
+ EXPECT_EQ(ast::BinaryOp::kShiftRightArith, rel->op());
ASSERT_TRUE(rel->lhs()->IsIdentifier());
auto ident = rel->lhs()->AsIdentifier();
diff --git a/src/reader/wgsl/parser_impl_statement_test.cc b/src/reader/wgsl/parser_impl_statement_test.cc
index bc047f3..25a1017 100644
--- a/src/reader/wgsl/parser_impl_statement_test.cc
+++ b/src/reader/wgsl/parser_impl_statement_test.cc
@@ -58,7 +58,7 @@
ASSERT_TRUE(e->IsReturn());
auto ret = e->AsReturn();
ASSERT_NE(ret->value(), nullptr);
- EXPECT_TRUE(ret->value()->IsRelational());
+ EXPECT_TRUE(ret->value()->IsBinary());
}
TEST_F(ParserImplTest, Statement_Return_MissingSemi) {