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
+11 -3
View File
@@ -18,9 +18,9 @@
namespace Carbon {
auto ExecProgram(Nonnull<Arena*> arena, AST ast,
std::optional<Nonnull<llvm::raw_ostream*>> trace_stream)
-> ErrorOr<int> {
auto AnalyzeProgram(Nonnull<Arena*> arena, AST ast,
std::optional<Nonnull<llvm::raw_ostream*>> trace_stream)
-> ErrorOr<AST> {
if (trace_stream) {
**trace_stream << "********** source program **********\n";
for (const auto decl : ast.declarations) {
@@ -54,6 +54,14 @@ auto ExecProgram(Nonnull<Arena*> arena, AST ast,
for (const auto decl : ast.declarations) {
**trace_stream << *decl;
}
}
return ast;
}
auto ExecProgram(Nonnull<Arena*> arena, AST ast,
std::optional<Nonnull<llvm::raw_ostream*>> trace_stream)
-> ErrorOr<int> {
if (trace_stream) {
**trace_stream << "********** starting execution **********\n";
}
return InterpProgram(ast, arena, trace_stream);