Remove RuntimeError / CompilationError. (#2258)

Instead, work out the prefix for an error based on whether it was produced during parsing, semantic analysis, or when running the program.
This commit is contained in:
Richard Smith
2022-10-04 15:39:04 -07:00
committed by GitHub
parent c703c89658
commit 8f0f69b65f
63 changed files with 254 additions and 264 deletions
+1 -18
View File
@@ -18,28 +18,11 @@ auto ToString(const Error& err) -> std::string {
return result;
}
TEST(ErrorBuildersTest, CompilationError) {
Error err = CompilationError(SourceLocation("x", 1)) << "test";
EXPECT_EQ(err.prefix(), "COMPILATION ERROR");
EXPECT_EQ(err.location(), "x:1");
EXPECT_EQ(err.message(), "test");
EXPECT_EQ(ToString(err), "COMPILATION ERROR: x:1: test");
}
TEST(ErrorBuildersTest, ProgramError) {
Error err = ProgramError(SourceLocation("x", 1)) << "test";
EXPECT_EQ(err.prefix(), "PROGRAM ERROR");
EXPECT_EQ(err.location(), "x:1");
EXPECT_EQ(err.message(), "test");
EXPECT_EQ(ToString(err), "PROGRAM ERROR: x:1: test");
}
TEST(ErrorBuildersTest, RuntimeError) {
Error err = RuntimeError(SourceLocation("x", 1)) << "test";
EXPECT_EQ(err.prefix(), "RUNTIME ERROR");
EXPECT_EQ(err.location(), "x:1");
EXPECT_EQ(err.message(), "test");
EXPECT_EQ(ToString(err), "RUNTIME ERROR: x:1: test");
EXPECT_EQ(ToString(err), "x:1: test");
}
} // namespace