summaryrefslogtreecommitdiff
path: root/src/tools/wat2wasm.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/wat2wasm.cc')
-rw-r--r--src/tools/wat2wasm.cc13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/tools/wat2wasm.cc b/src/tools/wat2wasm.cc
index 5810ba56..d2f2185d 100644
--- a/src/tools/wat2wasm.cc
+++ b/src/tools/wat2wasm.cc
@@ -25,7 +25,7 @@
#include "src/binary-writer.h"
#include "src/common.h"
-#include "src/error-handler.h"
+#include "src/error-formatter.h"
#include "src/feature.h"
#include "src/filenames.h"
#include "src/ir.h"
@@ -131,18 +131,18 @@ int ProgramMain(int argc, char** argv) {
WABT_FATAL("unable to read file: %s\n", s_infile);
}
- ErrorHandlerFile error_handler(Location::Type::Text, lexer->MakeLineFinder());
+ Errors errors;
std::unique_ptr<Module> module;
WastParseOptions parse_wast_options(s_features);
Result result =
- ParseWatModule(lexer.get(), &module, &error_handler, &parse_wast_options);
+ ParseWatModule(lexer.get(), &module, &errors, &parse_wast_options);
if (Succeeded(result)) {
- result = ResolveNamesModule(module.get(), &error_handler);
+ result = ResolveNamesModule(module.get(), &errors);
if (Succeeded(result) && s_validate) {
ValidateOptions options(s_features);
- result = ValidateModule(module.get(), &error_handler, options);
+ result = ValidateModule(module.get(), &errors, options);
}
if (Succeeded(result)) {
@@ -158,6 +158,9 @@ int ProgramMain(int argc, char** argv) {
}
}
+ auto line_finder = lexer->MakeLineFinder();
+ FormatErrorsToFile(errors, Location::Type::Text, line_finder.get());
+
return result != Result::Ok;
}