Rm line() & column() from wsgl::Token & ast::Node

Use `source().range.begin.line` and `source().range.begin.column` instead.

Bug: tint:282
Change-Id: I6c9bf8766d6db2c9d8e7e1b8bafb2eea93e065d8
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/31441
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: dan sinclair <dsinclair@chromium.org>
This commit is contained in:
Ben Clayton
2020-11-02 15:17:50 +00:00
committed by Commit Bot service account
parent fc5a9cfaf7
commit a3bcde2c10
11 changed files with 66 additions and 74 deletions

View File

@@ -38,8 +38,8 @@ TEST_F(LexerTest, Skips_Whitespace) {
auto t = l.next();
EXPECT_TRUE(t.IsIdentifier());
EXPECT_EQ(t.line(), 2u);
EXPECT_EQ(t.column(), 6u);
EXPECT_EQ(t.source().range.begin.line, 2u);
EXPECT_EQ(t.source().range.begin.column, 6u);
EXPECT_EQ(t.to_str(), "ident");
t = l.next();
@@ -55,14 +55,14 @@ ident1 #ends with comment
auto t = l.next();
EXPECT_TRUE(t.IsIdentifier());
EXPECT_EQ(t.line(), 2u);
EXPECT_EQ(t.column(), 1u);
EXPECT_EQ(t.source().range.begin.line, 2u);
EXPECT_EQ(t.source().range.begin.column, 1u);
EXPECT_EQ(t.to_str(), "ident1");
t = l.next();
EXPECT_TRUE(t.IsIdentifier());
EXPECT_EQ(t.line(), 4u);
EXPECT_EQ(t.column(), 2u);
EXPECT_EQ(t.source().range.begin.line, 4u);
EXPECT_EQ(t.source().range.begin.column, 2u);
EXPECT_EQ(t.to_str(), "ident2");
t = l.next();
@@ -76,20 +76,20 @@ TEST_F(LexerTest, StringTest_Parse) {
auto t = l.next();
EXPECT_TRUE(t.IsIdentifier());
EXPECT_EQ(t.to_str(), "id");
EXPECT_EQ(1u, t.line());
EXPECT_EQ(1u, t.column());
EXPECT_EQ(t.source().range.begin.line, 1u);
EXPECT_EQ(t.source().range.begin.column, 1u);
t = l.next();
EXPECT_TRUE(t.IsStringLiteral());
EXPECT_EQ(t.to_str(), "this is string content");
EXPECT_EQ(1u, t.line());
EXPECT_EQ(4u, t.column());
EXPECT_EQ(t.source().range.begin.line, 1u);
EXPECT_EQ(t.source().range.begin.column, 4u);
t = l.next();
EXPECT_TRUE(t.IsIdentifier());
EXPECT_EQ(t.to_str(), "id2");
EXPECT_EQ(1u, t.line());
EXPECT_EQ(29u, t.column());
EXPECT_EQ(t.source().range.begin.line, 1u);
EXPECT_EQ(t.source().range.begin.column, 29u);
}
TEST_F(LexerTest, StringTest_Unterminated) {
@@ -99,12 +99,14 @@ TEST_F(LexerTest, StringTest_Unterminated) {
auto t = l.next();
EXPECT_TRUE(t.IsIdentifier());
EXPECT_EQ(t.to_str(), "id");
EXPECT_EQ(1u, t.line());
EXPECT_EQ(1u, t.column());
EXPECT_EQ(t.source().range.begin.line, 1u);
EXPECT_EQ(t.source().range.begin.column, 1u);
t = l.next();
EXPECT_TRUE(t.IsStringLiteral());
EXPECT_EQ(t.to_str(), "this is string content");
EXPECT_EQ(t.source().range.begin.line, 1u);
EXPECT_EQ(t.source().range.begin.column, 4u);
t = l.next();
EXPECT_TRUE(t.IsEof());
@@ -127,8 +129,8 @@ TEST_P(FloatTest, Parse) {
auto t = l.next();
EXPECT_TRUE(t.IsFloatLiteral());
EXPECT_EQ(t.to_f32(), params.result);
EXPECT_EQ(1u, t.line());
EXPECT_EQ(1u, t.column());
EXPECT_EQ(t.source().range.begin.line, 1u);
EXPECT_EQ(t.source().range.begin.column, 1u);
t = l.next();
EXPECT_TRUE(t.IsEof());
@@ -178,8 +180,8 @@ TEST_P(IdentifierTest, Parse) {
auto t = l.next();
EXPECT_TRUE(t.IsIdentifier());
EXPECT_EQ(t.line(), 1u);
EXPECT_EQ(t.column(), 1u);
EXPECT_EQ(t.source().range.begin.line, 1u);
EXPECT_EQ(t.source().range.begin.column, 1u);
EXPECT_EQ(t.to_str(), GetParam());
}
INSTANTIATE_TEST_SUITE_P(
@@ -212,8 +214,8 @@ TEST_P(IntegerTest_HexSigned, Matches) {
auto t = l.next();
EXPECT_TRUE(t.IsSintLiteral());
EXPECT_EQ(t.line(), 1u);
EXPECT_EQ(t.column(), 1u);
EXPECT_EQ(t.source().range.begin.line, 1u);
EXPECT_EQ(t.source().range.begin.column, 1u);
EXPECT_EQ(t.to_i32(), params.result);
}
INSTANTIATE_TEST_SUITE_P(
@@ -259,8 +261,8 @@ TEST_P(IntegerTest_HexUnsigned, Matches) {
auto t = l.next();
EXPECT_TRUE(t.IsUintLiteral());
EXPECT_EQ(t.line(), 1u);
EXPECT_EQ(t.column(), 1u);
EXPECT_EQ(t.source().range.begin.line, 1u);
EXPECT_EQ(t.source().range.begin.column, 1u);
EXPECT_EQ(t.to_u32(), params.result);
t = l.next();
@@ -302,8 +304,8 @@ TEST_P(IntegerTest_Unsigned, Matches) {
auto t = l.next();
EXPECT_TRUE(t.IsUintLiteral());
EXPECT_EQ(t.to_u32(), params.result);
EXPECT_EQ(1u, t.line());
EXPECT_EQ(1u, t.column());
EXPECT_EQ(t.source().range.begin.line, 1u);
EXPECT_EQ(t.source().range.begin.column, 1u);
}
INSTANTIATE_TEST_SUITE_P(LexerTest,
IntegerTest_Unsigned,
@@ -329,8 +331,8 @@ TEST_P(IntegerTest_Signed, Matches) {
auto t = l.next();
EXPECT_TRUE(t.IsSintLiteral());
EXPECT_EQ(t.to_i32(), params.result);
EXPECT_EQ(1u, t.line());
EXPECT_EQ(1u, t.column());
EXPECT_EQ(t.source().range.begin.line, 1u);
EXPECT_EQ(t.source().range.begin.column, 1u);
}
INSTANTIATE_TEST_SUITE_P(
LexerTest,
@@ -371,11 +373,12 @@ TEST_P(PunctuationTest, Parses) {
auto t = l.next();
EXPECT_TRUE(t.Is(params.type));
EXPECT_EQ(1u, t.line());
EXPECT_EQ(1u, t.column());
EXPECT_EQ(t.source().range.begin.line, 1u);
EXPECT_EQ(t.source().range.begin.column, 1u);
t = l.next();
EXPECT_EQ(1 + std::string(params.input).size(), t.column());
EXPECT_EQ(t.source().range.begin.column,
1 + std::string(params.input).size());
}
INSTANTIATE_TEST_SUITE_P(
LexerTest,
@@ -421,11 +424,12 @@ TEST_P(KeywordTest, Parses) {
auto t = l.next();
EXPECT_TRUE(t.Is(params.type)) << params.input;
EXPECT_EQ(1u, t.line());
EXPECT_EQ(1u, t.column());
EXPECT_EQ(t.source().range.begin.line, 1u);
EXPECT_EQ(t.source().range.begin.column, 1u);
t = l.next();
EXPECT_EQ(1 + std::string(params.input).size(), t.column());
EXPECT_EQ(t.source().range.begin.column,
1 + std::string(params.input).size());
}
INSTANTIATE_TEST_SUITE_P(
LexerTest,

View File

@@ -132,8 +132,8 @@ ParserImpl::~ParserImpl() {
}
void ParserImpl::set_error(const Token& t, const std::string& err) {
auto prefix =
std::to_string(t.line()) + ":" + std::to_string(t.column()) + ": ";
auto prefix = std::to_string(t.source().range.begin.line) + ":" +
std::to_string(t.source().range.begin.column) + ": ";
if (t.IsReservedKeyword()) {
error_ = prefix + "reserved token (" + t.to_str() + ") found";

View File

@@ -778,12 +778,6 @@ class Token {
/// @returns true if token is a 'workgroup_size'
bool IsWorkgroupSize() const { return type_ == Type::kWorkgroupSize; }
// TODO(bclayton): Deprecate - use source().range.begin instead
/// @returns the source line of the token
size_t line() const { return source_.range.begin.line; }
/// @returns the source column of the token
size_t column() const { return source_.range.begin.column; }
/// @returns the source information for this token
Source source() const { return source_; }

View File

@@ -68,8 +68,8 @@ TEST_F(TokenTest, ReturnsMaxU32) {
TEST_F(TokenTest, Source) {
Token t(Token::Type::kUintLiteral, Source{Source::Location{3, 9}});
EXPECT_EQ(t.line(), 3u);
EXPECT_EQ(t.column(), 9u);
EXPECT_EQ(t.source().range.begin.line, 3u);
EXPECT_EQ(t.source().range.begin.column, 9u);
}
} // namespace