Emit loop statement.
This CL emits the loop statement from the WGSL generator.
Bug: tint:4
Change-Id: I45be066ed306a71df053f7e61e6201a10a3d1056
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/17283
Reviewed-by: David Neto <dneto@google.com>
diff --git a/src/ast/loop_statement_test.cc b/src/ast/loop_statement_test.cc
index d49636f..09455da 100644
--- a/src/ast/loop_statement_test.cc
+++ b/src/ast/loop_statement_test.cc
@@ -60,6 +60,25 @@
EXPECT_TRUE(l.IsLoop());
}
+TEST_F(LoopStatementTest, HasContinuing_WithoutContinuing) {
+ std::vector<std::unique_ptr<Statement>> body;
+ body.push_back(std::make_unique<KillStatement>());
+
+ LoopStatement l(std::move(body), {});
+ EXPECT_FALSE(l.has_continuing());
+}
+
+TEST_F(LoopStatementTest, HasContinuing_WithContinuing) {
+ std::vector<std::unique_ptr<Statement>> body;
+ body.push_back(std::make_unique<KillStatement>());
+
+ std::vector<std::unique_ptr<Statement>> continuing;
+ continuing.push_back(std::make_unique<NopStatement>());
+
+ LoopStatement l(std::move(body), std::move(continuing));
+ EXPECT_TRUE(l.has_continuing());
+}
+
TEST_F(LoopStatementTest, IsValid) {
std::vector<std::unique_ptr<Statement>> body;
body.push_back(std::make_unique<KillStatement>());