reader/wgsl: Add source info to CallStatement
We were not printing source information for errors involving call
statements.
Change-Id: I576b4d095162333d4392d6be590e827a49918d3d
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/58520
Auto-Submit: James Price <jrprice@google.com>
Commit-Queue: Ben Clayton <bclayton@google.com>
Kokoro: Kokoro <noreply+kokoro@google.com>
Reviewed-by: Ben Clayton <bclayton@google.com>
diff --git a/src/reader/wgsl/parser_impl.cc b/src/reader/wgsl/parser_impl.cc
index d8209a7..3d2c8e3 100644
--- a/src/reader/wgsl/parser_impl.cc
+++ b/src/reader/wgsl/parser_impl.cc
@@ -2109,11 +2109,11 @@
return Failure::kErrored;
return create<ast::CallStatement>(
- Source{}, create<ast::CallExpression>(
- source,
- create<ast::IdentifierExpression>(
- source, builder_.Symbols().Register(name)),
- std::move(params.value)));
+ source, create<ast::CallExpression>(
+ source,
+ create<ast::IdentifierExpression>(
+ source, builder_.Symbols().Register(name)),
+ std::move(params.value)));
}
// break_stmt
diff --git a/src/reader/wgsl/parser_impl_call_stmt_test.cc b/src/reader/wgsl/parser_impl_call_stmt_test.cc
index 28dc2c8..8d4429c 100644
--- a/src/reader/wgsl/parser_impl_call_stmt_test.cc
+++ b/src/reader/wgsl/parser_impl_call_stmt_test.cc
@@ -28,6 +28,11 @@
EXPECT_TRUE(e.matched);
EXPECT_FALSE(e.errored);
+ EXPECT_EQ(e->source().range.begin.line, 1u);
+ EXPECT_EQ(e->source().range.begin.column, 1u);
+ EXPECT_EQ(e->source().range.end.line, 1u);
+ EXPECT_EQ(e->source().range.end.column, 2u);
+
ASSERT_TRUE(e->Is<ast::CallStatement>());
auto* c = e->As<ast::CallStatement>()->expr();