Remove tint::Source(size_t, size_t) constructor
This was a temporary overload to break up the changes into smaller chunks.
Change all call sites to use one of the other constructors.
Bug: tint:282
Change-Id: I500fe9700d22f72312827808caa22f7feef7b294
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/31440
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: dan sinclair <dsinclair@chromium.org>
diff --git a/src/ast/array_accessor_expression_test.cc b/src/ast/array_accessor_expression_test.cc
index 1470bc0..a43b6b2 100644
--- a/src/ast/array_accessor_expression_test.cc
+++ b/src/ast/array_accessor_expression_test.cc
@@ -38,7 +38,8 @@
auto ary = std::make_unique<IdentifierExpression>("ary");
auto idx = std::make_unique<IdentifierExpression>("idx");
- ArrayAccessorExpression exp(Source{20, 2}, std::move(ary), std::move(idx));
+ ArrayAccessorExpression exp(Source{Source::Location{20, 2}}, std::move(ary),
+ std::move(idx));
auto src = exp.source();
EXPECT_EQ(src.range.begin.line, 20u);
EXPECT_EQ(src.range.begin.column, 2u);
diff --git a/src/ast/assignment_statement_test.cc b/src/ast/assignment_statement_test.cc
index b157020..681b41b 100644
--- a/src/ast/assignment_statement_test.cc
+++ b/src/ast/assignment_statement_test.cc
@@ -39,7 +39,8 @@
auto lhs = std::make_unique<ast::IdentifierExpression>("lhs");
auto rhs = std::make_unique<ast::IdentifierExpression>("rhs");
- AssignmentStatement stmt(Source{20, 2}, std::move(lhs), std::move(rhs));
+ AssignmentStatement stmt(Source{Source::Location{20, 2}}, std::move(lhs),
+ std::move(rhs));
auto src = stmt.source();
EXPECT_EQ(src.range.begin.line, 20u);
EXPECT_EQ(src.range.begin.column, 2u);
diff --git a/src/ast/binary_expression_test.cc b/src/ast/binary_expression_test.cc
index 9a7510d..9140b7e 100644
--- a/src/ast/binary_expression_test.cc
+++ b/src/ast/binary_expression_test.cc
@@ -42,8 +42,8 @@
auto lhs = std::make_unique<IdentifierExpression>("lhs");
auto rhs = std::make_unique<IdentifierExpression>("rhs");
- BinaryExpression r(Source{20, 2}, BinaryOp::kEqual, std::move(lhs),
- std::move(rhs));
+ BinaryExpression r(Source{Source::Location{20, 2}}, BinaryOp::kEqual,
+ std::move(lhs), std::move(rhs));
auto src = r.source();
EXPECT_EQ(src.range.begin.line, 20u);
EXPECT_EQ(src.range.begin.column, 2u);
diff --git a/src/ast/bitcast_expression_test.cc b/src/ast/bitcast_expression_test.cc
index 7ef635a..fbc6059 100644
--- a/src/ast/bitcast_expression_test.cc
+++ b/src/ast/bitcast_expression_test.cc
@@ -39,7 +39,7 @@
type::F32Type f32;
auto expr = std::make_unique<IdentifierExpression>("expr");
- BitcastExpression exp(Source{20, 2}, &f32, std::move(expr));
+ BitcastExpression exp(Source{Source::Location{20, 2}}, &f32, std::move(expr));
auto src = exp.source();
EXPECT_EQ(src.range.begin.line, 20u);
EXPECT_EQ(src.range.begin.column, 2u);
diff --git a/src/ast/block_statement_test.cc b/src/ast/block_statement_test.cc
index ac3f65b..d2276bc 100644
--- a/src/ast/block_statement_test.cc
+++ b/src/ast/block_statement_test.cc
@@ -60,7 +60,7 @@
}
TEST_F(BlockStatementTest, Creation_WithSource) {
- BlockStatement b(Source{20, 2});
+ BlockStatement b(Source{Source::Location{20, 2}});
auto src = b.source();
EXPECT_EQ(src.range.begin.line, 20u);
EXPECT_EQ(src.range.begin.column, 2u);
diff --git a/src/ast/break_statement_test.cc b/src/ast/break_statement_test.cc
index 485030d..fda7552 100644
--- a/src/ast/break_statement_test.cc
+++ b/src/ast/break_statement_test.cc
@@ -23,7 +23,7 @@
using BreakStatementTest = testing::Test;
TEST_F(BreakStatementTest, Creation_WithSource) {
- BreakStatement stmt(Source{20, 2});
+ BreakStatement stmt(Source{Source::Location{20, 2}});
auto src = stmt.source();
EXPECT_EQ(src.range.begin.line, 20u);
EXPECT_EQ(src.range.begin.column, 2u);
diff --git a/src/ast/call_expression_test.cc b/src/ast/call_expression_test.cc
index 120100f..89e4872 100644
--- a/src/ast/call_expression_test.cc
+++ b/src/ast/call_expression_test.cc
@@ -44,7 +44,7 @@
TEST_F(CallExpressionTest, Creation_WithSource) {
auto func = std::make_unique<IdentifierExpression>("func");
- CallExpression stmt(Source{20, 2}, std::move(func), {});
+ CallExpression stmt(Source{Source::Location{20, 2}}, std::move(func), {});
auto src = stmt.source();
EXPECT_EQ(src.range.begin.line, 20u);
EXPECT_EQ(src.range.begin.column, 2u);
diff --git a/src/ast/case_statement_test.cc b/src/ast/case_statement_test.cc
index 82f6868..85194fd 100644
--- a/src/ast/case_statement_test.cc
+++ b/src/ast/case_statement_test.cc
@@ -74,7 +74,8 @@
auto body = std::make_unique<BlockStatement>();
body->append(std::make_unique<DiscardStatement>());
- CaseStatement c(Source{20, 2}, std::move(b), std::move(body));
+ CaseStatement c(Source{Source::Location{20, 2}}, std::move(b),
+ std::move(body));
auto src = c.source();
EXPECT_EQ(src.range.begin.line, 20u);
EXPECT_EQ(src.range.begin.column, 2u);
diff --git a/src/ast/continue_statement_test.cc b/src/ast/continue_statement_test.cc
index fa5ac43..bd8c9b6 100644
--- a/src/ast/continue_statement_test.cc
+++ b/src/ast/continue_statement_test.cc
@@ -23,7 +23,7 @@
using ContinueStatementTest = testing::Test;
TEST_F(ContinueStatementTest, Creation_WithSource) {
- ContinueStatement stmt(Source{20, 2});
+ ContinueStatement stmt(Source{Source::Location{20, 2}});
auto src = stmt.source();
EXPECT_EQ(src.range.begin.line, 20u);
EXPECT_EQ(src.range.begin.column, 2u);
diff --git a/src/ast/decorated_variable_test.cc b/src/ast/decorated_variable_test.cc
index 6b035ad..6023df8 100644
--- a/src/ast/decorated_variable_test.cc
+++ b/src/ast/decorated_variable_test.cc
@@ -45,7 +45,7 @@
}
TEST_F(DecoratedVariableTest, CreationWithSource) {
- Source s{27, 4};
+ Source s{Source::Location{27, 4}};
type::F32Type t;
auto var = std::make_unique<Variable>(s, "i", StorageClass::kPrivate, &t);
DecoratedVariable dv(std::move(var));
diff --git a/src/ast/discard_statement_test.cc b/src/ast/discard_statement_test.cc
index c6bcd49..34cc13c 100644
--- a/src/ast/discard_statement_test.cc
+++ b/src/ast/discard_statement_test.cc
@@ -31,7 +31,7 @@
}
TEST_F(DiscardStatementTest, Creation_WithSource) {
- DiscardStatement stmt(Source{20, 2});
+ DiscardStatement stmt(Source{Source::Location{20, 2}});
EXPECT_EQ(stmt.line(), 20u);
EXPECT_EQ(stmt.column(), 2u);
}
diff --git a/src/ast/else_statement_test.cc b/src/ast/else_statement_test.cc
index a230c2a..6235a9d 100644
--- a/src/ast/else_statement_test.cc
+++ b/src/ast/else_statement_test.cc
@@ -44,7 +44,8 @@
}
TEST_F(ElseStatementTest, Creation_WithSource) {
- ElseStatement e(Source{20, 2}, std::make_unique<BlockStatement>());
+ ElseStatement e(Source{Source::Location{20, 2}},
+ std::make_unique<BlockStatement>());
auto src = e.source();
EXPECT_EQ(src.range.begin.line, 20u);
EXPECT_EQ(src.range.begin.column, 2u);
diff --git a/src/ast/fallthrough_statement_test.cc b/src/ast/fallthrough_statement_test.cc
index adbb558..bae0384 100644
--- a/src/ast/fallthrough_statement_test.cc
+++ b/src/ast/fallthrough_statement_test.cc
@@ -29,7 +29,7 @@
}
TEST_F(FallthroughStatementTest, Creation_WithSource) {
- FallthroughStatement stmt(Source{20, 2});
+ FallthroughStatement stmt(Source{Source::Location{20, 2}});
auto src = stmt.source();
EXPECT_EQ(src.range.begin.line, 20u);
EXPECT_EQ(src.range.begin.column, 2u);
diff --git a/src/ast/function_test.cc b/src/ast/function_test.cc
index 0dbfbef..ed88269 100644
--- a/src/ast/function_test.cc
+++ b/src/ast/function_test.cc
@@ -56,7 +56,8 @@
params.push_back(
std::make_unique<Variable>("var", StorageClass::kNone, &i32));
- Function f(Source{20, 2}, "func", std::move(params), &void_type);
+ Function f(Source{Source::Location{20, 2}}, "func", std::move(params),
+ &void_type);
auto src = f.source();
EXPECT_EQ(src.range.begin.line, 20u);
EXPECT_EQ(src.range.begin.column, 2u);
diff --git a/src/ast/identifier_expression_test.cc b/src/ast/identifier_expression_test.cc
index fbb5dd7..95e0db2 100644
--- a/src/ast/identifier_expression_test.cc
+++ b/src/ast/identifier_expression_test.cc
@@ -28,7 +28,7 @@
}
TEST_F(IdentifierExpressionTest, Creation_WithSource) {
- IdentifierExpression i(Source{20, 2}, "ident");
+ IdentifierExpression i(Source{Source::Location{20, 2}}, "ident");
EXPECT_EQ(i.name(), "ident");
auto src = i.source();
diff --git a/src/ast/if_statement_test.cc b/src/ast/if_statement_test.cc
index 779e889..2e3db87 100644
--- a/src/ast/if_statement_test.cc
+++ b/src/ast/if_statement_test.cc
@@ -43,7 +43,7 @@
auto body = std::make_unique<ast::BlockStatement>();
body->append(std::make_unique<DiscardStatement>());
- IfStatement stmt(Source{20, 2}, std::move(cond), std::move(body));
+ IfStatement stmt(Source{Source::Location{20, 2}}, std::move(cond), std::move(body));
auto src = stmt.source();
EXPECT_EQ(src.range.begin.line, 20u);
EXPECT_EQ(src.range.begin.column, 2u);
diff --git a/src/ast/loop_statement_test.cc b/src/ast/loop_statement_test.cc
index cf1dc50..b63aaec 100644
--- a/src/ast/loop_statement_test.cc
+++ b/src/ast/loop_statement_test.cc
@@ -50,7 +50,8 @@
auto continuing = std::make_unique<BlockStatement>();
continuing->append(std::make_unique<DiscardStatement>());
- LoopStatement l(Source{20, 2}, std::move(body), std::move(continuing));
+ LoopStatement l(Source{Source::Location{20, 2}}, std::move(body),
+ std::move(continuing));
auto src = l.source();
EXPECT_EQ(src.range.begin.line, 20u);
EXPECT_EQ(src.range.begin.column, 2u);
diff --git a/src/ast/member_accessor_expression_test.cc b/src/ast/member_accessor_expression_test.cc
index 66ac1f7..aefb618 100644
--- a/src/ast/member_accessor_expression_test.cc
+++ b/src/ast/member_accessor_expression_test.cc
@@ -41,7 +41,8 @@
auto str = std::make_unique<IdentifierExpression>("structure");
auto mem = std::make_unique<IdentifierExpression>("member");
- MemberAccessorExpression stmt(Source{20, 2}, std::move(str), std::move(mem));
+ MemberAccessorExpression stmt(Source{Source::Location{20, 2}}, std::move(str),
+ std::move(mem));
auto src = stmt.source();
EXPECT_EQ(src.range.begin.line, 20u);
EXPECT_EQ(src.range.begin.column, 2u);
diff --git a/src/ast/return_statement_test.cc b/src/ast/return_statement_test.cc
index 76d9e2a..7ff2621 100644
--- a/src/ast/return_statement_test.cc
+++ b/src/ast/return_statement_test.cc
@@ -34,7 +34,7 @@
}
TEST_F(ReturnStatementTest, Creation_WithSource) {
- ReturnStatement r(Source{20, 2});
+ ReturnStatement r(Source{Source::Location{20, 2}});
auto src = r.source();
EXPECT_EQ(src.range.begin.line, 20u);
EXPECT_EQ(src.range.begin.column, 2u);
diff --git a/src/ast/scalar_constructor_expression_test.cc b/src/ast/scalar_constructor_expression_test.cc
index 28f7012..3dc4ea5 100644
--- a/src/ast/scalar_constructor_expression_test.cc
+++ b/src/ast/scalar_constructor_expression_test.cc
@@ -35,7 +35,7 @@
TEST_F(ScalarConstructorExpressionTest, Creation_WithSource) {
ast::type::BoolType bool_type;
auto b = std::make_unique<BoolLiteral>(&bool_type, true);
- ScalarConstructorExpression c(Source{20, 2}, std::move(b));
+ ScalarConstructorExpression c(Source{Source::Location{20, 2}}, std::move(b));
auto src = c.source();
EXPECT_EQ(src.range.begin.line, 20u);
EXPECT_EQ(src.range.begin.column, 2u);
diff --git a/src/ast/struct_member_test.cc b/src/ast/struct_member_test.cc
index c73a8a8..3fcade3 100644
--- a/src/ast/struct_member_test.cc
+++ b/src/ast/struct_member_test.cc
@@ -43,7 +43,7 @@
TEST_F(StructMemberTest, CreationWithSource) {
type::I32Type i32;
- Source s{27, 4};
+ Source s{Source::Location{27, 4}};
StructMember st{s, "a", &i32, {}};
EXPECT_EQ(st.name(), "a");
diff --git a/src/ast/struct_test.cc b/src/ast/struct_test.cc
index 0569001..6bea6a1 100644
--- a/src/ast/struct_test.cc
+++ b/src/ast/struct_test.cc
@@ -70,7 +70,8 @@
StructDecorationList decos;
decos.push_back(StructDecoration::kBlock);
- Struct s{Source{27, 4}, std::move(decos), std::move(members)};
+ Struct s{Source{Source::Location{27, 4}}, std::move(decos),
+ std::move(members)};
EXPECT_EQ(s.members().size(), 1u);
ASSERT_EQ(s.decorations().size(), 1u);
EXPECT_EQ(s.decorations()[0], StructDecoration::kBlock);
diff --git a/src/ast/switch_statement_test.cc b/src/ast/switch_statement_test.cc
index dc5b5b0..b37c07a 100644
--- a/src/ast/switch_statement_test.cc
+++ b/src/ast/switch_statement_test.cc
@@ -51,7 +51,7 @@
TEST_F(SwitchStatementTest, Creation_WithSource) {
auto ident = std::make_unique<IdentifierExpression>("ident");
- SwitchStatement stmt(Source{20, 2}, std::move(ident), CaseStatementList());
+ SwitchStatement stmt(Source{Source::Location{20, 2}}, std::move(ident), CaseStatementList());
auto src = stmt.source();
EXPECT_EQ(src.range.begin.line, 20u);
EXPECT_EQ(src.range.begin.column, 2u);
diff --git a/src/ast/type_constructor_expression_test.cc b/src/ast/type_constructor_expression_test.cc
index dfceda0..a65a343 100644
--- a/src/ast/type_constructor_expression_test.cc
+++ b/src/ast/type_constructor_expression_test.cc
@@ -46,7 +46,8 @@
ExpressionList expr;
expr.push_back(std::make_unique<IdentifierExpression>("expr"));
- TypeConstructorExpression t(Source{20, 2}, &f32, std::move(expr));
+ TypeConstructorExpression t(Source{Source::Location{20, 2}}, &f32,
+ std::move(expr));
auto src = t.source();
EXPECT_EQ(src.range.begin.line, 20u);
EXPECT_EQ(src.range.begin.column, 2u);
diff --git a/src/ast/unary_op_expression_test.cc b/src/ast/unary_op_expression_test.cc
index 5b32af3..da018c0 100644
--- a/src/ast/unary_op_expression_test.cc
+++ b/src/ast/unary_op_expression_test.cc
@@ -36,7 +36,8 @@
TEST_F(UnaryOpExpressionTest, Creation_WithSource) {
auto ident = std::make_unique<IdentifierExpression>("ident");
- UnaryOpExpression u(Source{20, 2}, UnaryOp::kNot, std::move(ident));
+ UnaryOpExpression u(Source{Source::Location{20, 2}}, UnaryOp::kNot,
+ std::move(ident));
auto src = u.source();
EXPECT_EQ(src.range.begin.line, 20u);
EXPECT_EQ(src.range.begin.column, 2u);
diff --git a/src/ast/variable_decl_statement_test.cc b/src/ast/variable_decl_statement_test.cc
index 61fcb07..60832d0 100644
--- a/src/ast/variable_decl_statement_test.cc
+++ b/src/ast/variable_decl_statement_test.cc
@@ -37,7 +37,7 @@
type::F32Type f32;
auto var = std::make_unique<Variable>("a", StorageClass::kNone, &f32);
- VariableDeclStatement stmt(Source{20, 2}, std::move(var));
+ VariableDeclStatement stmt(Source{Source::Location{20, 2}}, std::move(var));
auto src = stmt.source();
EXPECT_EQ(src.range.begin.line, 20u);
EXPECT_EQ(src.range.begin.column, 2u);
@@ -71,7 +71,7 @@
type::F32Type f32;
auto var = std::make_unique<Variable>("a", StorageClass::kNone, &f32);
- VariableDeclStatement stmt(Source{20, 2}, std::move(var));
+ VariableDeclStatement stmt(Source{Source::Location{20, 2}}, std::move(var));
std::ostringstream out;
stmt.to_str(out, 2);
EXPECT_EQ(out.str(), R"( VariableDeclStatement{
diff --git a/src/ast/variable_test.cc b/src/ast/variable_test.cc
index fd0db76..e1c8085 100644
--- a/src/ast/variable_test.cc
+++ b/src/ast/variable_test.cc
@@ -37,7 +37,7 @@
}
TEST_F(VariableTest, CreationWithSource) {
- Source s{27, 4};
+ Source s{Source::Location{27, 4}};
type::F32Type t;
Variable v(s, "i", StorageClass::kPrivate, &t);
@@ -49,7 +49,7 @@
}
TEST_F(VariableTest, CreationEmpty) {
- Source s{27, 4};
+ Source s{Source::Location{27, 4}};
Variable v;
v.set_source(s);
v.set_storage_class(StorageClass::kWorkgroup);
diff --git a/src/reader/spirv/parser_impl.cc b/src/reader/spirv/parser_impl.cc
index af3d07d..108bd2a 100644
--- a/src/reader/spirv/parser_impl.cc
+++ b/src/reader/spirv/parser_impl.cc
@@ -474,12 +474,12 @@
}
void ParserImpl::RegisterLineNumbers() {
- Source::Location instruction_number{0, 0};
+ Source::Location instruction_number{};
// Has there been an OpLine since the last OpNoLine or start of the module?
bool in_op_line_scope = false;
// The source location provided by the most recent OpLine instruction.
- Source::Location op_line_source{0, 0};
+ Source::Location op_line_source{};
const bool run_on_debug_insts = true;
module_->ForEachInst(
[this, &in_op_line_scope, &op_line_source,
diff --git a/src/reader/wgsl/token_test.cc b/src/reader/wgsl/token_test.cc
index 4daa091..13d467e 100644
--- a/src/reader/wgsl/token_test.cc
+++ b/src/reader/wgsl/token_test.cc
@@ -26,48 +26,48 @@
using TokenTest = testing::Test;
TEST_F(TokenTest, ReturnsStr) {
- Token t(Token::Type::kStringLiteral, Source{1, 1}, "test string");
+ Token t(Token::Type::kStringLiteral, Source{}, "test string");
EXPECT_EQ(t.to_str(), "test string");
}
TEST_F(TokenTest, ReturnsF32) {
- Token t1(Source{1, 1}, -2.345f);
+ Token t1(Source{}, -2.345f);
EXPECT_EQ(t1.to_f32(), -2.345f);
- Token t2(Source{1, 1}, 2.345f);
+ Token t2(Source{}, 2.345f);
EXPECT_EQ(t2.to_f32(), 2.345f);
}
TEST_F(TokenTest, ReturnsI32) {
- Token t1(Source{1, 1}, -2345);
+ Token t1(Source{}, -2345);
EXPECT_EQ(t1.to_i32(), -2345);
- Token t2(Source{1, 1}, 2345);
+ Token t2(Source{}, 2345);
EXPECT_EQ(t2.to_i32(), 2345);
}
TEST_F(TokenTest, HandlesMaxI32) {
- Token t1(Source{1, 1}, std::numeric_limits<int32_t>::max());
+ Token t1(Source{}, std::numeric_limits<int32_t>::max());
EXPECT_EQ(t1.to_i32(), std::numeric_limits<int32_t>::max());
}
TEST_F(TokenTest, HandlesMinI32) {
- Token t1(Source{1, 1}, std::numeric_limits<int32_t>::min());
+ Token t1(Source{}, std::numeric_limits<int32_t>::min());
EXPECT_EQ(t1.to_i32(), std::numeric_limits<int32_t>::min());
}
TEST_F(TokenTest, ReturnsU32) {
- Token t2(Source{1, 1}, 2345u);
+ Token t2(Source{}, 2345u);
EXPECT_EQ(t2.to_u32(), 2345u);
}
TEST_F(TokenTest, ReturnsMaxU32) {
- Token t1(Source{1, 1}, std::numeric_limits<uint32_t>::max());
+ Token t1(Source{}, std::numeric_limits<uint32_t>::max());
EXPECT_EQ(t1.to_u32(), std::numeric_limits<uint32_t>::max());
}
TEST_F(TokenTest, Source) {
- Token t(Token::Type::kUintLiteral, Source{3, 9});
+ Token t(Token::Type::kUintLiteral, Source{Source::Location{3, 9}});
EXPECT_EQ(t.line(), 3u);
EXPECT_EQ(t.column(), 9u);
}
diff --git a/src/source.h b/src/source.h
index 20242c9..4f689f4 100644
--- a/src/source.h
+++ b/src/source.h
@@ -74,13 +74,6 @@
/// Constructs the Source with the Range |rng| and File |f|.
inline Source(const Range& rng, File const* f) : range(rng), file(f) {}
- /// Constructs the Source with the zero-length range starting at |line| and
- /// |column| with a null File.
- /// TODO(bclayton): Remove this constructor.
- /// It purely exists to break up changes into bite sized pieces.
- inline explicit Source(size_t line, size_t column)
- : Source(Location{line, column}) {}
-
Range range;
File const* file = nullptr;
};
diff --git a/src/type_determiner_test.cc b/src/type_determiner_test.cc
index ca53df6..81cf17c 100644
--- a/src/type_determiner_test.cc
+++ b/src/type_determiner_test.cc
@@ -102,7 +102,7 @@
TEST_F(TypeDeterminerTest, Error_WithEmptySource) {
FakeStmt s;
- s.set_source(Source{0, 0});
+ s.set_source(Source{});
EXPECT_FALSE(td()->DetermineResultType(&s));
EXPECT_EQ(td()->error(),
@@ -111,7 +111,7 @@
TEST_F(TypeDeterminerTest, Stmt_Error_Unknown) {
FakeStmt s;
- s.set_source(Source{2, 30});
+ s.set_source(Source{Source::Location{2, 30}});
EXPECT_FALSE(td()->DetermineResultType(&s));
EXPECT_EQ(td()->error(),
@@ -400,7 +400,8 @@
ast::type::F32Type f32;
ast::ExpressionList call_params;
auto call_expr = std::make_unique<ast::CallExpression>(
- std::make_unique<ast::IdentifierExpression>(Source{12, 34}, "func"),
+ std::make_unique<ast::IdentifierExpression>(
+ Source{Source::Location{12, 34}}, "func"),
std::move(call_params));
ast::VariableList params0;
auto func_main =
@@ -454,7 +455,7 @@
TEST_F(TypeDeterminerTest, Expr_Error_Unknown) {
FakeExpr e;
- e.set_source(Source{2, 30});
+ e.set_source(Source{Source::Location{2, 30}});
EXPECT_FALSE(td()->DetermineResultType(&e));
EXPECT_EQ(td()->error(), "2:30: unknown expression for type determination");
diff --git a/src/validator_control_block_test.cc b/src/validator_control_block_test.cc
index 473b9e5..1489ce5 100644
--- a/src/validator_control_block_test.cc
+++ b/src/validator_control_block_test.cc
@@ -49,7 +49,8 @@
var->set_constructor(std::make_unique<ast::ScalarConstructorExpression>(
std::make_unique<ast::SintLiteral>(&f32, 3.14f)));
- auto cond = std::make_unique<ast::IdentifierExpression>(Source{12, 34}, "a");
+ auto cond = std::make_unique<ast::IdentifierExpression>(
+ Source{Source::Location{12, 34}}, "a");
ast::CaseSelectorList default_csl;
auto block_default = std::make_unique<ast::BlockStatement>();
ast::CaseStatementList body;
@@ -89,7 +90,7 @@
auto block = std::make_unique<ast::BlockStatement>();
block->append(std::make_unique<ast::VariableDeclStatement>(std::move(var)));
block->append(std::make_unique<ast::SwitchStatement>(
- Source{12, 34}, std::move(cond), std::move(body)));
+ Source{Source::Location{12, 34}}, std::move(cond), std::move(body)));
EXPECT_TRUE(td()->DetermineStatements(block.get())) << td()->error();
EXPECT_FALSE(v()->ValidateStatements(block.get()));
@@ -133,7 +134,8 @@
auto block = std::make_unique<ast::BlockStatement>();
block->append(std::make_unique<ast::VariableDeclStatement>(std::move(var)));
block->append(std::make_unique<ast::SwitchStatement>(
- Source{12, 34}, std::move(cond), std::move(switch_body)));
+ Source{Source::Location{12, 34}}, std::move(cond),
+ std::move(switch_body)));
EXPECT_TRUE(td()->DetermineStatements(block.get())) << td()->error();
EXPECT_FALSE(v()->ValidateStatements(block.get()));
@@ -162,7 +164,8 @@
ast::CaseSelectorList csl;
csl.push_back(std::make_unique<ast::UintLiteral>(&u32, 1));
switch_body.push_back(std::make_unique<ast::CaseStatement>(
- Source{12, 34}, std::move(csl), std::make_unique<ast::BlockStatement>()));
+ Source{Source::Location{12, 34}}, std::move(csl),
+ std::make_unique<ast::BlockStatement>()));
ast::CaseSelectorList default_csl;
auto block_default = std::make_unique<ast::BlockStatement>();
@@ -201,7 +204,8 @@
ast::CaseSelectorList csl;
csl.push_back(std::make_unique<ast::SintLiteral>(&i32, -1));
switch_body.push_back(std::make_unique<ast::CaseStatement>(
- Source{12, 34}, std::move(csl), std::make_unique<ast::BlockStatement>()));
+ Source{Source::Location{12, 34}}, std::move(csl),
+ std::make_unique<ast::BlockStatement>()));
ast::CaseSelectorList default_csl;
auto block_default = std::make_unique<ast::BlockStatement>();
@@ -245,7 +249,7 @@
csl_2.push_back(std::make_unique<ast::UintLiteral>(&u32, 2));
csl_2.push_back(std::make_unique<ast::UintLiteral>(&u32, 2));
switch_body.push_back(std::make_unique<ast::CaseStatement>(
- Source{12, 34}, std::move(csl_2),
+ Source{Source::Location{12, 34}}, std::move(csl_2),
std::make_unique<ast::BlockStatement>()));
ast::CaseSelectorList default_csl;
@@ -292,7 +296,7 @@
csl_2.push_back(std::make_unique<ast::SintLiteral>(&i32, 2));
csl_2.push_back(std::make_unique<ast::SintLiteral>(&i32, 10));
switch_body.push_back(std::make_unique<ast::CaseStatement>(
- Source{12, 34}, std::move(csl_2),
+ Source{Source::Location{12, 34}}, std::move(csl_2),
std::make_unique<ast::BlockStatement>()));
ast::CaseSelectorList default_csl;
@@ -326,8 +330,8 @@
auto cond = std::make_unique<ast::IdentifierExpression>("a");
ast::CaseSelectorList default_csl;
auto block_default = std::make_unique<ast::BlockStatement>();
- block_default->append(
- std::make_unique<ast::FallthroughStatement>(Source{12, 34}));
+ block_default->append(std::make_unique<ast::FallthroughStatement>(
+ Source{Source::Location{12, 34}}));
ast::CaseStatementList body;
body.push_back(std::make_unique<ast::CaseStatement>(
std::move(default_csl), std::move(block_default)));
@@ -361,7 +365,8 @@
auto block_default = std::make_unique<ast::BlockStatement>();
ast::CaseStatementList body;
body.push_back(std::make_unique<ast::CaseStatement>(
- Source{12, 34}, std::move(default_csl), std::move(block_default)));
+ Source{Source::Location{12, 34}}, std::move(default_csl),
+ std::move(block_default)));
ast::CaseSelectorList case_csl;
case_csl.push_back(std::make_unique<ast::SintLiteral>(&i32, 5));
auto block_case = std::make_unique<ast::BlockStatement>();
@@ -397,7 +402,8 @@
auto block_default = std::make_unique<ast::BlockStatement>();
ast::CaseStatementList body;
body.push_back(std::make_unique<ast::CaseStatement>(
- Source{12, 34}, std::move(default_csl), std::move(block_default)));
+ Source{Source::Location{12, 34}}, std::move(default_csl),
+ std::move(block_default)));
auto block = std::make_unique<ast::BlockStatement>();
block->append(std::make_unique<ast::VariableDeclStatement>(std::move(var)));
diff --git a/src/validator_function_test.cc b/src/validator_function_test.cc
index 145b345..4fb9ad5 100644
--- a/src/validator_function_test.cc
+++ b/src/validator_function_test.cc
@@ -47,8 +47,8 @@
ast::VariableList params;
ast::type::VoidType void_type;
- auto func = std::make_unique<ast::Function>(Source{12, 34}, "func",
- std::move(params), &void_type);
+ auto func = std::make_unique<ast::Function>(
+ Source{Source::Location{12, 34}}, "func", std::move(params), &void_type);
auto body = std::make_unique<ast::BlockStatement>();
body->append(std::make_unique<ast::VariableDeclStatement>(std::move(var)));
func->set_body(std::move(body));
@@ -64,8 +64,8 @@
// fn func -> void {}
ast::type::VoidType void_type;
ast::VariableList params;
- auto func = std::make_unique<ast::Function>(Source{12, 34}, "func",
- std::move(params), &void_type);
+ auto func = std::make_unique<ast::Function>(
+ Source{Source::Location{12, 34}}, "func", std::move(params), &void_type);
mod()->AddFunction(std::move(func));
EXPECT_TRUE(td()->Determine()) << td()->error();
@@ -104,8 +104,8 @@
auto return_expr = std::make_unique<ast::ScalarConstructorExpression>(
std::make_unique<ast::SintLiteral>(&i32, 2));
- body->append(std::make_unique<ast::ReturnStatement>(Source{12, 34},
- std::move(return_expr)));
+ body->append(std::make_unique<ast::ReturnStatement>(
+ Source{Source::Location{12, 34}}, std::move(return_expr)));
func->set_body(std::move(body));
mod()->AddFunction(std::move(func));
@@ -127,8 +127,8 @@
auto return_expr = std::make_unique<ast::ScalarConstructorExpression>(
std::make_unique<ast::SintLiteral>(&i32, 2));
- body->append(std::make_unique<ast::ReturnStatement>(Source{12, 34},
- std::move(return_expr)));
+ body->append(std::make_unique<ast::ReturnStatement>(
+ Source{Source::Location{12, 34}}, std::move(return_expr)));
func->set_body(std::move(body));
mod()->AddFunction(std::move(func));
@@ -157,7 +157,7 @@
ast::VariableList params_copy;
auto func_copy = std::make_unique<ast::Function>(
- Source{12, 34}, "func", std::move(params_copy), &i32);
+ Source{Source::Location{12, 34}}, "func", std::move(params_copy), &i32);
auto body_copy = std::make_unique<ast::BlockStatement>();
auto return_expr_copy = std::make_unique<ast::ScalarConstructorExpression>(
std::make_unique<ast::SintLiteral>(&i32, 2));
@@ -181,7 +181,8 @@
ast::type::VoidType void_type;
ast::ExpressionList call_params;
auto call_expr = std::make_unique<ast::CallExpression>(
- Source{12, 34}, std::make_unique<ast::IdentifierExpression>("func"),
+ Source{Source::Location{12, 34}},
+ std::make_unique<ast::IdentifierExpression>("func"),
std::move(call_params));
ast::VariableList params0;
auto func0 =
@@ -204,7 +205,8 @@
std::make_unique<ast::Variable>("a", ast::StorageClass::kNone, &i32);
ast::ExpressionList call_params;
auto call_expr = std::make_unique<ast::CallExpression>(
- Source{12, 34}, std::make_unique<ast::IdentifierExpression>("func"),
+ Source{Source::Location{12, 34}},
+ std::make_unique<ast::IdentifierExpression>("func"),
std::move(call_params));
var->set_constructor(std::move(call_expr));
ast::VariableList params0;
@@ -229,8 +231,8 @@
// fn vtx_main() -> i32 { return 0; }
ast::type::I32Type i32;
ast::VariableList params;
- auto func = std::make_unique<ast::Function>(Source{12, 34}, "vtx_main",
- std::move(params), &i32);
+ auto func = std::make_unique<ast::Function>(
+ Source{Source::Location{12, 34}}, "vtx_main", std::move(params), &i32);
auto return_expr = std::make_unique<ast::ScalarConstructorExpression>(
std::make_unique<ast::SintLiteral>(&i32, 0));
@@ -255,8 +257,9 @@
ast::VariableList params;
params.push_back(
std::make_unique<ast::Variable>("a", ast::StorageClass::kNone, &i32));
- auto func = std::make_unique<ast::Function>(Source{12, 34}, "vtx_func",
- std::move(params), &void_type);
+ auto func = std::make_unique<ast::Function>(Source{Source::Location{12, 34}},
+ "vtx_func", std::move(params),
+ &void_type);
auto body = std::make_unique<ast::BlockStatement>();
body->append(std::make_unique<ast::ReturnStatement>());
func->set_body(std::move(body));
@@ -278,8 +281,8 @@
// fn main() -> void { return; }
ast::type::VoidType void_type;
ast::VariableList params;
- auto func = std::make_unique<ast::Function>(Source{5, 6}, "main",
- std::move(params), &void_type);
+ auto func = std::make_unique<ast::Function>(
+ Source{Source::Location{5, 6}}, "main", std::move(params), &void_type);
auto body = std::make_unique<ast::BlockStatement>();
body->append(std::make_unique<ast::ReturnStatement>());
func->set_body(std::move(body));
@@ -287,8 +290,8 @@
std::make_unique<ast::StageDecoration>(ast::PipelineStage::kVertex));
mod()->AddFunction(std::move(func));
- func = std::make_unique<ast::Function>(Source{12, 34}, "main",
- std::move(params), &void_type);
+ func = std::make_unique<ast::Function>(Source{Source::Location{12, 34}},
+ "main", std::move(params), &void_type);
body = std::make_unique<ast::BlockStatement>();
body->append(std::make_unique<ast::ReturnStatement>());
func->set_body(std::move(body));
@@ -310,8 +313,8 @@
// fn main() -> void { return; }
ast::type::VoidType void_type;
ast::VariableList params;
- auto func = std::make_unique<ast::Function>(Source{5, 6}, "main",
- std::move(params), &void_type);
+ auto func = std::make_unique<ast::Function>(
+ Source{Source::Location{5, 6}}, "main", std::move(params), &void_type);
auto body = std::make_unique<ast::BlockStatement>();
body->append(std::make_unique<ast::ReturnStatement>());
func->set_body(std::move(body));
@@ -319,8 +322,8 @@
std::make_unique<ast::StageDecoration>(ast::PipelineStage::kVertex));
mod()->AddFunction(std::move(func));
- func = std::make_unique<ast::Function>(Source{12, 34}, "main",
- std::move(params), &void_type);
+ func = std::make_unique<ast::Function>(Source{Source::Location{12, 34}},
+ "main", std::move(params), &void_type);
body = std::make_unique<ast::BlockStatement>();
body->append(std::make_unique<ast::ReturnStatement>());
func->set_body(std::move(body));
diff --git a/src/validator_impl.cc b/src/validator_impl.cc
index 78e09f1..1e681bb 100644
--- a/src/validator_impl.cc
+++ b/src/validator_impl.cc
@@ -134,7 +134,7 @@
}
if (pipeline_count == 0) {
- set_error(Source{0, 0},
+ set_error(Source{},
"v-0003: At least one of vertex, fragment or compute shader must "
"be present");
return false;
diff --git a/src/validator_test.cc b/src/validator_test.cc
index 4bcab97..a5236e2 100644
--- a/src/validator_test.cc
+++ b/src/validator_test.cc
@@ -68,8 +68,8 @@
auto lhs = std::make_unique<ast::ScalarConstructorExpression>(
std::make_unique<ast::SintLiteral>(&i32, 1));
auto rhs = std::make_unique<ast::IdentifierExpression>("my_var");
- ast::AssignmentStatement assign(Source{12, 34}, std::move(lhs),
- std::move(rhs));
+ ast::AssignmentStatement assign(Source{Source::Location{12, 34}},
+ std::move(lhs), std::move(rhs));
// TODO(sarahM0): Invalidate assignment to scalar.
ASSERT_TRUE(v()->has_error());
@@ -81,11 +81,12 @@
// b = 2;
ast::type::I32Type i32;
- auto lhs = std::make_unique<ast::IdentifierExpression>(Source{12, 34}, "b");
+ auto lhs = std::make_unique<ast::IdentifierExpression>(
+ Source{Source::Location{12, 34}}, "b");
auto rhs = std::make_unique<ast::ScalarConstructorExpression>(
std::make_unique<ast::SintLiteral>(&i32, 2));
auto assign = std::make_unique<ast::AssignmentStatement>(
- Source{12, 34}, std::move(lhs), std::move(rhs));
+ Source{Source::Location{12, 34}}, std::move(lhs), std::move(rhs));
EXPECT_FALSE(td()->DetermineResultType(assign.get()));
EXPECT_EQ(td()->error(),
@@ -98,13 +99,14 @@
// }
ast::type::I32Type i32;
- auto lhs = std::make_unique<ast::IdentifierExpression>(Source{12, 34}, "b");
+ auto lhs = std::make_unique<ast::IdentifierExpression>(
+ Source{Source::Location{12, 34}}, "b");
auto rhs = std::make_unique<ast::ScalarConstructorExpression>(
std::make_unique<ast::SintLiteral>(&i32, 2));
auto body = std::make_unique<ast::BlockStatement>();
body->append(std::make_unique<ast::AssignmentStatement>(
- Source{12, 34}, std::move(lhs), std::move(rhs)));
+ Source{Source::Location{12, 34}}, std::move(lhs), std::move(rhs)));
EXPECT_FALSE(td()->DetermineStatements(body.get()));
EXPECT_EQ(td()->error(),
@@ -126,8 +128,8 @@
std::make_unique<ast::SintLiteral>(&i32, 2));
auto* rhs_ptr = rhs.get();
- ast::AssignmentStatement assign(Source{12, 34}, std::move(lhs),
- std::move(rhs));
+ ast::AssignmentStatement assign(Source{Source::Location{12, 34}},
+ std::move(lhs), std::move(rhs));
td()->RegisterVariableForTesting(var.get());
EXPECT_TRUE(td()->DetermineResultType(&assign)) << td()->error();
ASSERT_NE(lhs_ptr->result_type(), nullptr);
@@ -153,8 +155,8 @@
std::make_unique<ast::FloatLiteral>(&f32, 2.3f));
auto* rhs_ptr = rhs.get();
- ast::AssignmentStatement assign(Source{12, 34}, std::move(lhs),
- std::move(rhs));
+ ast::AssignmentStatement assign(Source{Source::Location{12, 34}},
+ std::move(lhs), std::move(rhs));
td()->RegisterVariableForTesting(var.get());
EXPECT_TRUE(td()->DetermineResultType(&assign)) << td()->error();
ASSERT_NE(lhs_ptr->result_type(), nullptr);
@@ -187,7 +189,7 @@
auto body = std::make_unique<ast::BlockStatement>();
body->append(std::make_unique<ast::VariableDeclStatement>(std::move(var)));
body->append(std::make_unique<ast::AssignmentStatement>(
- Source{12, 34}, std::move(lhs), std::move(rhs)));
+ Source{Source::Location{12, 34}}, std::move(lhs), std::move(rhs)));
EXPECT_TRUE(td()->DetermineStatements(body.get())) << td()->error();
ASSERT_NE(lhs_ptr->result_type(), nullptr);
@@ -217,7 +219,7 @@
ast::BlockStatement block;
block.append(std::make_unique<ast::VariableDeclStatement>(std::move(var)));
block.append(std::make_unique<ast::AssignmentStatement>(
- Source{12, 34}, std::move(lhs), std::move(rhs)));
+ Source{Source::Location{12, 34}}, std::move(lhs), std::move(rhs)));
EXPECT_TRUE(td()->DetermineStatements(&block)) << td()->error();
ASSERT_NE(lhs_ptr->result_type(), nullptr);
@@ -234,7 +236,8 @@
// var<in> gloabl_var: f32;
ast::type::F32Type f32;
auto global_var = std::make_unique<ast::Variable>(
- Source{12, 34}, "global_var", ast::StorageClass::kInput, &f32);
+ Source{Source::Location{12, 34}}, "global_var", ast::StorageClass::kInput,
+ &f32);
mod()->AddGlobalVariable(std::move(global_var));
EXPECT_TRUE(v()->ValidateGlobalVariables(mod()->global_variables()))
<< v()->error();
@@ -244,7 +247,8 @@
// var gloabl_var: f32;
ast::type::F32Type f32;
auto global_var = std::make_unique<ast::Variable>(
- Source{12, 34}, "global_var", ast::StorageClass::kNone, &f32);
+ Source{Source::Location{12, 34}}, "global_var", ast::StorageClass::kNone,
+ &f32);
mod()->AddGlobalVariable(std::move(global_var));
EXPECT_TRUE(td()->Determine()) << td()->error();
EXPECT_FALSE(v()->Validate(mod()));
@@ -255,7 +259,8 @@
// const<in> gloabl_var: f32;
ast::type::F32Type f32;
auto global_var = std::make_unique<ast::Variable>(
- Source{12, 34}, "global_var", ast::StorageClass::kInput, &f32);
+ Source{Source::Location{12, 34}}, "global_var", ast::StorageClass::kInput,
+ &f32);
global_var->set_is_const(true);
mod()->AddGlobalVariable(std::move(global_var));
@@ -270,7 +275,8 @@
// const gloabl_var: f32;
ast::type::F32Type f32;
auto global_var = std::make_unique<ast::Variable>(
- Source{12, 34}, "global_var", ast::StorageClass::kNone, &f32);
+ Source{Source::Location{12, 34}}, "global_var", ast::StorageClass::kNone,
+ &f32);
global_var->set_is_const(true);
mod()->AddGlobalVariable(std::move(global_var));
@@ -291,8 +297,8 @@
std::make_unique<ast::FloatLiteral>(&f32, 2.1)));
mod()->AddGlobalVariable(std::move(global_var));
- auto lhs = std::make_unique<ast::IdentifierExpression>(Source{12, 34},
- "not_global_var");
+ auto lhs = std::make_unique<ast::IdentifierExpression>(
+ Source{Source::Location{12, 34}}, "not_global_var");
auto rhs = std::make_unique<ast::ScalarConstructorExpression>(
std::make_unique<ast::FloatLiteral>(&f32, 3.14f));
@@ -302,7 +308,7 @@
auto body = std::make_unique<ast::BlockStatement>();
body->append(std::make_unique<ast::AssignmentStatement>(
- Source{12, 34}, std::move(lhs), std::move(rhs)));
+ Source{Source::Location{12, 34}}, std::move(lhs), std::move(rhs)));
func->set_body(std::move(body));
mod()->AddFunction(std::move(func));
@@ -336,7 +342,7 @@
auto body = std::make_unique<ast::BlockStatement>();
body->append(std::make_unique<ast::AssignmentStatement>(
- Source{12, 34}, std::move(lhs), std::move(rhs)));
+ Source{Source::Location{12, 34}}, std::move(lhs), std::move(rhs)));
body->append(std::make_unique<ast::ReturnStatement>());
func->set_body(std::move(body));
func->add_decoration(
@@ -364,7 +370,8 @@
auto body = std::make_unique<ast::BlockStatement>();
body->append(std::make_unique<ast::VariableDeclStatement>(std::move(var)));
- auto lhs = std::make_unique<ast::IdentifierExpression>(Source{12, 34}, "a");
+ auto lhs = std::make_unique<ast::IdentifierExpression>(
+ Source{Source::Location{12, 34}}, "a");
auto* lhs_ptr = lhs.get();
auto rhs = std::make_unique<ast::ScalarConstructorExpression>(
std::make_unique<ast::FloatLiteral>(&f32, 3.14f));
@@ -374,7 +381,7 @@
outer_body->append(
std::make_unique<ast::IfStatement>(std::move(cond), std::move(body)));
outer_body->append(std::make_unique<ast::AssignmentStatement>(
- Source{12, 34}, std::move(lhs), std::move(rhs)));
+ Source{Source::Location{12, 34}}, std::move(lhs), std::move(rhs)));
EXPECT_TRUE(td()->DetermineStatements(outer_body.get())) << td()->error();
ASSERT_NE(lhs_ptr->result_type(), nullptr);
@@ -394,7 +401,8 @@
var->set_constructor(std::make_unique<ast::ScalarConstructorExpression>(
std::make_unique<ast::FloatLiteral>(&f32, 2.0)));
- auto lhs = std::make_unique<ast::IdentifierExpression>(Source{12, 34}, "a");
+ auto lhs = std::make_unique<ast::IdentifierExpression>(
+ Source{Source::Location{12, 34}}, "a");
auto* lhs_ptr = lhs.get();
auto rhs = std::make_unique<ast::ScalarConstructorExpression>(
std::make_unique<ast::FloatLiteral>(&f32, 3.14f));
@@ -404,7 +412,7 @@
std::make_unique<ast::BoolLiteral>(&bool_type, true));
auto body = std::make_unique<ast::BlockStatement>();
body->append(std::make_unique<ast::AssignmentStatement>(
- Source{12, 34}, std::move(lhs), std::move(rhs)));
+ Source{Source::Location{12, 34}}, std::move(lhs), std::move(rhs)));
auto outer_body = std::make_unique<ast::BlockStatement>();
outer_body->append(
@@ -429,7 +437,8 @@
mod()->AddGlobalVariable(std::move(var0));
auto var1 = std::make_unique<ast::Variable>(
- Source{12, 34}, "global_var1", ast::StorageClass::kPrivate, &f32);
+ Source{Source::Location{12, 34}}, "global_var1",
+ ast::StorageClass::kPrivate, &f32);
var1->set_constructor(std::make_unique<ast::ScalarConstructorExpression>(
std::make_unique<ast::SintLiteral>(&i32, 0)));
mod()->AddGlobalVariable(std::move(var1));
@@ -450,7 +459,8 @@
mod()->AddGlobalVariable(std::move(var0));
auto var1 = std::make_unique<ast::Variable>(
- Source{12, 34}, "global_var", ast::StorageClass::kPrivate, &f32);
+ Source{Source::Location{12, 34}}, "global_var",
+ ast::StorageClass::kPrivate, &f32);
var1->set_constructor(std::make_unique<ast::ScalarConstructorExpression>(
std::make_unique<ast::SintLiteral>(&i32, 0)));
mod()->AddGlobalVariable(std::move(var1));
@@ -481,7 +491,7 @@
auto body = std::make_unique<ast::BlockStatement>();
body->append(std::make_unique<ast::VariableDeclStatement>(std::move(var)));
body->append(std::make_unique<ast::AssignmentStatement>(
- Source{12, 34}, std::move(lhs), std::move(rhs)));
+ Source{Source::Location{12, 34}}, std::move(lhs), std::move(rhs)));
EXPECT_TRUE(td()->DetermineStatements(body.get())) << td()->error();
ASSERT_NE(lhs_ptr->result_type(), nullptr);
@@ -515,8 +525,8 @@
auto func =
std::make_unique<ast::Function>("my_func", std::move(params), &void_type);
auto body = std::make_unique<ast::BlockStatement>();
- body->append(std::make_unique<ast::VariableDeclStatement>(Source{12, 34},
- std::move(var)));
+ body->append(std::make_unique<ast::VariableDeclStatement>(
+ Source{Source::Location{12, 34}}, std::move(var)));
func->set_body(std::move(body));
auto* func_ptr = func.get();
mod()->AddFunction(std::move(func));
@@ -552,7 +562,7 @@
auto body = std::make_unique<ast::BlockStatement>();
body->append(std::make_unique<ast::VariableDeclStatement>(std::move(var)));
body->append(std::make_unique<ast::VariableDeclStatement>(
- Source{12, 34}, std::move(var_a_float)));
+ Source{Source::Location{12, 34}}, std::move(var_a_float)));
func->set_body(std::move(body));
auto* func_ptr = func.get();
mod()->AddFunction(std::move(func));
@@ -590,7 +600,7 @@
outer_body->append(
std::make_unique<ast::IfStatement>(std::move(cond), std::move(body)));
outer_body->append(std::make_unique<ast::VariableDeclStatement>(
- Source{12, 34}, std::move(var_a_float)));
+ Source{Source::Location{12, 34}}, std::move(var_a_float)));
EXPECT_TRUE(td()->DetermineStatements(outer_body.get())) << td()->error();
EXPECT_TRUE(v()->ValidateStatements(outer_body.get())) << v()->error();
@@ -619,8 +629,8 @@
auto cond = std::make_unique<ast::ScalarConstructorExpression>(
std::make_unique<ast::BoolLiteral>(&bool_type, true));
auto body = std::make_unique<ast::BlockStatement>();
- body->append(std::make_unique<ast::VariableDeclStatement>(Source{12, 34},
- std::move(var)));
+ body->append(std::make_unique<ast::VariableDeclStatement>(
+ Source{Source::Location{12, 34}}, std::move(var)));
auto outer_body = std::make_unique<ast::BlockStatement>();
outer_body->append(
@@ -652,8 +662,8 @@
auto func0 =
std::make_unique<ast::Function>("func0", std::move(params0), &void_type);
auto body0 = std::make_unique<ast::BlockStatement>();
- body0->append(std::make_unique<ast::VariableDeclStatement>(Source{12, 34},
- std::move(var0)));
+ body0->append(std::make_unique<ast::VariableDeclStatement>(
+ Source{Source::Location{12, 34}}, std::move(var0)));
body0->append(std::make_unique<ast::ReturnStatement>());
func0->set_body(std::move(body0));
@@ -661,8 +671,8 @@
auto func1 =
std::make_unique<ast::Function>("func1", std::move(params1), &void_type);
auto body1 = std::make_unique<ast::BlockStatement>();
- body1->append(std::make_unique<ast::VariableDeclStatement>(Source{13, 34},
- std::move(var1)));
+ body1->append(std::make_unique<ast::VariableDeclStatement>(
+ Source{Source::Location{13, 34}}, std::move(var1)));
body1->append(std::make_unique<ast::ReturnStatement>());
func1->set_body(std::move(body1));
func1->add_decoration(
@@ -694,7 +704,7 @@
auto body = std::make_unique<ast::BlockStatement>();
body->append(std::make_unique<ast::VariableDeclStatement>(std::move(var)));
body->append(std::make_unique<ast::AssignmentStatement>(
- Source{12, 34}, std::move(lhs), std::move(rhs)));
+ Source{Source::Location{12, 34}}, std::move(lhs), std::move(rhs)));
EXPECT_TRUE(td()->DetermineStatements(body.get())) << td()->error();
ASSERT_NE(lhs_ptr->result_type(), nullptr);