Switch dump-sem-ir-start to dump-sem-ir-begin (#5378)

Simply about consistency with begin/end naming.
This commit is contained in:
Jon Ross-Perkins
2025-04-29 20:06:58 +00:00
committed by GitHub
parent 5eae636a33
commit 828eccebba
5 changed files with 46 additions and 46 deletions
+1 -1
View File
@@ -47,7 +47,7 @@ CARBON_DIAGNOSTIC_KIND(BinaryRealLiteral)
CARBON_DIAGNOSTIC_KIND(ContentBeforeStringTerminator)
CARBON_DIAGNOSTIC_KIND(DecimalEscapeSequence)
CARBON_DIAGNOSTIC_KIND(DumpSemIRRangeMissingEnd)
CARBON_DIAGNOSTIC_KIND(DumpSemIRRangeMissingStart)
CARBON_DIAGNOSTIC_KIND(DumpSemIRRangeMissingBegin)
CARBON_DIAGNOSTIC_KIND(EmptyDigitSequence)
CARBON_DIAGNOSTIC_KIND(HexadecimalEscapeMissingDigits)
CARBON_DIAGNOSTIC_KIND(InvalidDigit)
+11 -11
View File
@@ -219,8 +219,8 @@ class [[clang::internal_linkage]] Lexer {
private:
class ErrorRecoveryBuffer;
// Handles `//@dump-sem-ir-start` for a `DumpSemIRRange`.
auto StartDumpSemIRRange(const char* diag_loc) -> void;
// Handles `//@dump-sem-ir-begin` for a `DumpSemIRRange`.
auto BeginDumpSemIRRange(const char* diag_loc) -> void;
// Handles `//@dump-sem-ir-end` for a `DumpSemIRRange`.
auto EndDumpSemIRRange(const char* diag_loc) -> void;
@@ -895,23 +895,23 @@ auto Lexer::LexCommentOrSlash(llvm::StringRef source_text, ssize_t& position)
CARBON_CHECK(result, "Failed to form a token!");
}
auto Lexer::StartDumpSemIRRange(const char* diag_loc) -> void {
auto Lexer::BeginDumpSemIRRange(const char* diag_loc) -> void {
EndDumpSemIRRangeIfIncomplete(diag_loc);
// The start here will be the next token, which may be FileEnd. The end will
// The begin here will be the next token, which may be FileEnd. The end will
// be assigned by either AddDumpSemIREnd or, if invalid,
// EndDumpSemIRRangeIfIncomplete.
buffer_.dump_sem_ir_ranges_.push_back(
{.start = TokenIndex(buffer_.size()), .end = TokenIndex::None});
{.begin = TokenIndex(buffer_.size()), .end = TokenIndex::None});
}
auto Lexer::EndDumpSemIRRange(const char* diag_loc) -> void {
if (buffer_.dump_sem_ir_ranges_.empty() ||
buffer_.dump_sem_ir_ranges_.back().end != TokenIndex::None) {
CARBON_DIAGNOSTIC(
DumpSemIRRangeMissingStart, Error,
"missing `//@dump-sem-ir-start` to match `//@dump-sem-ir-end`");
emitter_.Emit(diag_loc, DumpSemIRRangeMissingStart);
DumpSemIRRangeMissingBegin, Error,
"missing `//@dump-sem-ir-begin` to match `//@dump-sem-ir-end`");
emitter_.Emit(diag_loc, DumpSemIRRangeMissingBegin);
return;
}
@@ -929,7 +929,7 @@ auto Lexer::EndDumpSemIRRangeIfIncomplete(const char* diag_loc) -> void {
// better.
CARBON_DIAGNOSTIC(
DumpSemIRRangeMissingEnd, Error,
"missing `//@dump-sem-ir-end` to match `//@dump-sem-ir-start`");
"missing `//@dump-sem-ir-end` to match `//@dump-sem-ir-begin`");
emitter_.Emit(diag_loc, DumpSemIRRangeMissingEnd);
EndDumpSemIRRange(diag_loc);
@@ -961,8 +961,8 @@ auto Lexer::LexComment(llvm::StringRef source_text, ssize_t& position) -> void {
if (position + 2 < static_cast<ssize_t>(source_text.size()) &&
LLVM_UNLIKELY(!IsSpace(source_text[position + 2]))) {
llvm::StringRef comment_text = source_text.substr(position);
if (comment_text.starts_with("//@dump-sem-ir-start\n")) {
StartDumpSemIRRange(comment_text.begin());
if (comment_text.starts_with("//@dump-sem-ir-begin\n")) {
BeginDumpSemIRRange(comment_text.begin());
AdvanceToLine(source_text, position, line_index_ + 1);
return;
}
+30 -30
View File
@@ -12,7 +12,7 @@
// CHECK:STDOUT: - filename: full_file.carbon
// CHECK:STDOUT: tokens:
//@dump-sem-ir-start
//@dump-sem-ir-begin
a
// CHECK:STDOUT: - { index: 1, kind: "Identifier", line: {{ *}}[[@LINE-1]], column: 1, indent: 1, spelling: "a", identifier: 0, has_leading_space: true }
b
@@ -20,7 +20,7 @@ b
c
// CHECK:STDOUT: - { index: 3, kind: "Identifier", line: {{ *}}[[@LINE-1]], column: 1, indent: 1, spelling: "c", identifier: 2, has_leading_space: true }
// CHECK:STDOUT: dump_sem_ir_ranges:
// CHECK:STDOUT: - {start: 1, end: 4}
// CHECK:STDOUT: - {begin: 1, end: 4}
//@dump-sem-ir-end
// --- multi_section.carbon
@@ -29,34 +29,34 @@ c
a
// CHECK:STDOUT: - { index: 1, kind: "Identifier", line: {{ *}}[[@LINE-1]], column: 1, indent: 1, spelling: "a", identifier: 0, has_leading_space: true }
//@dump-sem-ir-start
//@dump-sem-ir-begin
b
// CHECK:STDOUT: - { index: 2, kind: "Identifier", line: {{ *}}[[@LINE-1]], column: 1, indent: 1, spelling: "b", identifier: 1, has_leading_space: true }
//@dump-sem-ir-end
c
// CHECK:STDOUT: - { index: 3, kind: "Identifier", line: {{ *}}[[@LINE-1]], column: 1, indent: 1, spelling: "c", identifier: 2, has_leading_space: true }
//@dump-sem-ir-start
//@dump-sem-ir-begin
d
// CHECK:STDOUT: - { index: 4, kind: "Identifier", line: {{ *}}[[@LINE-1]], column: 1, indent: 1, spelling: "d", identifier: 3, has_leading_space: true }
//@dump-sem-ir-end
e
// CHECK:STDOUT: - { index: 5, kind: "Identifier", line: {{ *}}[[@LINE-1]], column: 1, indent: 1, spelling: "e", identifier: 4, has_leading_space: true }
// CHECK:STDOUT: dump_sem_ir_ranges:
// CHECK:STDOUT: - {start: 2, end: 3}
// CHECK:STDOUT: - {start: 4, end: 5}
// CHECK:STDOUT: - {begin: 2, end: 3}
// CHECK:STDOUT: - {begin: 4, end: 5}
// --- compact.carbon
// CHECK:STDOUT: - filename: compact.carbon
// CHECK:STDOUT: tokens:
// CHECK:STDOUT: dump_sem_ir_ranges:
// CHECK:STDOUT: - {start: 1, end: 1}
// CHECK:STDOUT: - {start: 1, end: 1}
// CHECK:STDOUT: - {start: 1, end: 1}
//@dump-sem-ir-start
// CHECK:STDOUT: - {begin: 1, end: 1}
// CHECK:STDOUT: - {begin: 1, end: 1}
// CHECK:STDOUT: - {begin: 1, end: 1}
//@dump-sem-ir-begin
//@dump-sem-ir-end
//@dump-sem-ir-start
//@dump-sem-ir-begin
//@dump-sem-ir-end
//@dump-sem-ir-start
//@dump-sem-ir-begin
//@dump-sem-ir-end
// --- fail_extra_text.carbon
@@ -64,19 +64,19 @@ e
// CHECK:STDOUT: tokens:
// CHECK:STDERR: fail_extra_text.carbon:[[@LINE+4]]:3: error: whitespace is required after '//' [NoWhitespaceAfterCommentIntroducer]
// CHECK:STDERR: //@dump-sem-ir-start more text
// CHECK:STDERR: //@dump-sem-ir-begin more text
// CHECK:STDERR: ^
// CHECK:STDERR:
//@dump-sem-ir-start more text
//@dump-sem-ir-begin more text
// --- fail_start_only.carbon
// CHECK:STDOUT: - filename: fail_start_only.carbon
// CHECK:STDOUT: tokens:
// CHECK:STDOUT: dump_sem_ir_ranges:
// CHECK:STDOUT: - {start: 1, end: 1}
// CHECK:STDOUT: - {begin: 1, end: 1}
//@dump-sem-ir-start
// CHECK:STDERR: fail_start_only.carbon:[[@LINE+4]]:1: error: missing `//@dump-sem-ir-end` to match `//@dump-sem-ir-start` [DumpSemIRRangeMissingEnd]
//@dump-sem-ir-begin
// CHECK:STDERR: fail_start_only.carbon:[[@LINE+4]]:1: error: missing `//@dump-sem-ir-end` to match `//@dump-sem-ir-begin` [DumpSemIRRangeMissingEnd]
// CHECK:STDERR:
// CHECK:STDERR: ^
// CHECK:STDERR:
@@ -85,7 +85,7 @@ e
// CHECK:STDOUT: - filename: fail_end_only.carbon
// CHECK:STDOUT: tokens:
// CHECK:STDERR: fail_end_only.carbon:[[@LINE+4]]:1: error: missing `//@dump-sem-ir-start` to match `//@dump-sem-ir-end` [DumpSemIRRangeMissingStart]
// CHECK:STDERR: fail_end_only.carbon:[[@LINE+4]]:1: error: missing `//@dump-sem-ir-begin` to match `//@dump-sem-ir-end` [DumpSemIRRangeMissingBegin]
// CHECK:STDERR: //@dump-sem-ir-end
// CHECK:STDERR: ^
// CHECK:STDERR:
@@ -97,20 +97,20 @@ e
a
// CHECK:STDOUT: - { index: 1, kind: "Identifier", line: {{ *}}[[@LINE-1]], column: 1, indent: 1, spelling: "a", identifier: 0, has_leading_space: true }
//@dump-sem-ir-start
//@dump-sem-ir-begin
b
// CHECK:STDOUT: - { index: 2, kind: "Identifier", line: {{ *}}[[@LINE-1]], column: 1, indent: 1, spelling: "b", identifier: 1, has_leading_space: true }
// CHECK:STDERR: fail_misordered.carbon:[[@LINE+4]]:1: error: missing `//@dump-sem-ir-end` to match `//@dump-sem-ir-start` [DumpSemIRRangeMissingEnd]
// CHECK:STDERR: //@dump-sem-ir-start
// CHECK:STDERR: fail_misordered.carbon:[[@LINE+4]]:1: error: missing `//@dump-sem-ir-end` to match `//@dump-sem-ir-begin` [DumpSemIRRangeMissingEnd]
// CHECK:STDERR: //@dump-sem-ir-begin
// CHECK:STDERR: ^
// CHECK:STDERR:
//@dump-sem-ir-start
//@dump-sem-ir-begin
c
// CHECK:STDOUT: - { index: 3, kind: "Identifier", line: {{ *}}[[@LINE-1]], column: 1, indent: 1, spelling: "c", identifier: 2, has_leading_space: true }
//@dump-sem-ir-end
d
// CHECK:STDOUT: - { index: 4, kind: "Identifier", line: {{ *}}[[@LINE-1]], column: 1, indent: 1, spelling: "d", identifier: 3, has_leading_space: true }
// CHECK:STDERR: fail_misordered.carbon:[[@LINE+4]]:1: error: missing `//@dump-sem-ir-start` to match `//@dump-sem-ir-end` [DumpSemIRRangeMissingStart]
// CHECK:STDERR: fail_misordered.carbon:[[@LINE+4]]:1: error: missing `//@dump-sem-ir-begin` to match `//@dump-sem-ir-end` [DumpSemIRRangeMissingBegin]
// CHECK:STDERR: //@dump-sem-ir-end
// CHECK:STDERR: ^
// CHECK:STDERR:
@@ -118,8 +118,8 @@ d
e
// CHECK:STDOUT: - { index: 5, kind: "Identifier", line: {{ *}}[[@LINE-1]], column: 1, indent: 1, spelling: "e", identifier: 4, has_leading_space: true }
// CHECK:STDOUT: dump_sem_ir_ranges:
// CHECK:STDOUT: - {start: 2, end: 3}
// CHECK:STDOUT: - {start: 3, end: 4}
// CHECK:STDOUT: - {begin: 2, end: 3}
// CHECK:STDOUT: - {begin: 3, end: 4}
// --- fail_count_mismatch.carbon
// CHECK:STDOUT: - filename: fail_count_mismatch.carbon
@@ -127,20 +127,20 @@ e
a
// CHECK:STDOUT: - { index: 1, kind: "Identifier", line: {{ *}}[[@LINE-1]], column: 1, indent: 1, spelling: "a", identifier: 0, has_leading_space: true }
//@dump-sem-ir-start
//@dump-sem-ir-begin
b
// CHECK:STDOUT: - { index: 2, kind: "Identifier", line: {{ *}}[[@LINE-1]], column: 1, indent: 1, spelling: "b", identifier: 1, has_leading_space: true }
//@dump-sem-ir-end
c
// CHECK:STDOUT: - { index: 3, kind: "Identifier", line: {{ *}}[[@LINE-1]], column: 1, indent: 1, spelling: "c", identifier: 2, has_leading_space: true }
//@dump-sem-ir-start
//@dump-sem-ir-begin
d
// CHECK:STDOUT: - { index: 4, kind: "Identifier", line: {{ *}}[[@LINE-1]], column: 1, indent: 1, spelling: "d", identifier: 3, has_leading_space: true }
// CHECK:STDOUT: dump_sem_ir_ranges:
// CHECK:STDOUT: - {start: 2, end: 3}
// CHECK:STDOUT: - {start: 4, end: 5}
// CHECK:STDOUT: - {begin: 2, end: 3}
// CHECK:STDOUT: - {begin: 4, end: 5}
// CHECK:STDERR: fail_count_mismatch.carbon:[[@LINE+3]]:17: error: missing `//@dump-sem-ir-end` to match `//@dump-sem-ir-start` [DumpSemIRRangeMissingEnd]
// CHECK:STDERR: fail_count_mismatch.carbon:[[@LINE+3]]:17: error: missing `//@dump-sem-ir-end` to match `//@dump-sem-ir-begin` [DumpSemIRRangeMissingEnd]
// CHECK:STDERR: // CHECK:STDERR:
// CHECK:STDERR: ^
// CHECK:STDERR:
+1 -1
View File
@@ -240,7 +240,7 @@ auto TokenizedBuffer::Print(llvm::raw_ostream& output_stream,
if (!dump_sem_ir_ranges_.empty()) {
output_stream << " dump_sem_ir_ranges:\n";
for (auto range : dump_sem_ir_ranges_) {
output_stream << " - {start: " << range.start.index
output_stream << " - {begin: " << range.begin.index
<< ", end: " << range.end.index << "}\n";
}
}
+3 -3
View File
@@ -85,15 +85,15 @@ class TokenizedBuffer : public Printable<TokenizedBuffer> {
LineIndex start_line;
};
// A range of tokens marked by `//@dump-semir-[start|end]`. The end token is
// non-inclusive: [start, end).
// A range of tokens marked by `//@dump-semir-[begin|end]`. The end token is
// non-inclusive: [begin, end).
//
// The particular syntax was chosen because it can be lexed efficiently. It
// only occurs in invalid comment strings, so shouldn't slow down lexing of
// correct code. It's also comment-like because its presence won't affect
// parse/check.
struct DumpSemIRRange {
TokenIndex start;
TokenIndex begin;
TokenIndex end;
};