[hlsl-writer] Support pre stream in if/else statements.
This CL updates the if and else statement support to output the pre
streams in the proper places.
Bug: tint:192
Change-Id: If217de7f838fc033823987e20ba7efc5cd6108ff
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/27781
Commit-Queue: dan sinclair <dsinclair@chromium.org>
Reviewed-by: David Neto <dneto@google.com>
diff --git a/src/writer/hlsl/generator_impl_if_test.cc b/src/writer/hlsl/generator_impl_if_test.cc
index df2a7d6..aa2c07a 100644
--- a/src/writer/hlsl/generator_impl_if_test.cc
+++ b/src/writer/hlsl/generator_impl_if_test.cc
@@ -62,8 +62,10 @@
ASSERT_TRUE(gen().EmitStatement(out(), &i)) << gen().error();
EXPECT_EQ(result(), R"( if (cond) {
return;
- } else if (else_cond) {
- return;
+ } else {
+ if (else_cond) {
+ return;
+ }
}
)");
}
@@ -119,10 +121,12 @@
ASSERT_TRUE(gen().EmitStatement(out(), &i)) << gen().error();
EXPECT_EQ(result(), R"( if (cond) {
return;
- } else if (else_cond) {
- return;
} else {
- return;
+ if (else_cond) {
+ return;
+ } else {
+ return;
+ }
}
)");
}