summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/emscripten-exported.json1
-rw-r--r--src/emscripten-helpers.cc6
-rw-r--r--src/tools/spectest-interp.cc10
-rw-r--r--src/tools/wast2json.cc40
-rw-r--r--src/tools/wat2wasm.cc26
-rw-r--r--src/wast-parser.cc9
6 files changed, 39 insertions, 53 deletions
diff --git a/src/emscripten-exported.json b/src/emscripten-exported.json
index 9935abc6..261e8e6b 100644
--- a/src/emscripten-exported.json
+++ b/src/emscripten-exported.json
@@ -31,7 +31,6 @@
"_wabt_read_binary_result_get_result",
"_wabt_read_binary_result_release_module",
"_wabt_reference_types_enabled",
-"_wabt_resolve_names_module",
"_wabt_sat_float_to_int_enabled",
"_wabt_set_bulk_memory_enabled",
"_wabt_set_exceptions_enabled",
diff --git a/src/emscripten-helpers.cc b/src/emscripten-helpers.cc
index 0a0a2ac7..f7c3b459 100644
--- a/src/emscripten-helpers.cc
+++ b/src/emscripten-helpers.cc
@@ -36,7 +36,6 @@
#include "src/filenames.h"
#include "src/generate-names.h"
#include "src/ir.h"
-#include "src/resolve-names.h"
#include "src/stream.h"
#include "src/validator.h"
#include "src/wast-lexer.h"
@@ -144,11 +143,6 @@ WabtReadBinaryResult* wabt_read_binary(const void* data,
return result;
}
-wabt::Result::Enum wabt_resolve_names_module(wabt::Module* module,
- wabt::Errors* errors) {
- return ResolveNamesModule(module, errors);
-}
-
wabt::Result::Enum wabt_validate_module(wabt::Module* module,
wabt::Features* features,
wabt::Errors* errors) {
diff --git a/src/tools/spectest-interp.cc b/src/tools/spectest-interp.cc
index 4e310d68..f29bb0ab 100644
--- a/src/tools/spectest-interp.cc
+++ b/src/tools/spectest-interp.cc
@@ -32,7 +32,6 @@
#include "src/interp/interp.h"
#include "src/literal.h"
#include "src/option-parser.h"
-#include "src/resolve-names.h"
#include "src/stream.h"
#include "src/validator.h"
#include "src/wast-lexer.h"
@@ -1073,12 +1072,9 @@ wabt::Result CommandRunner::ReadInvalidTextModule(string_view module_filename,
result = ParseWastScript(lexer.get(), &script, &errors, &options);
if (Succeeded(result)) {
wabt::Module* module = script->GetFirstModule();
- result = ResolveNamesModule(module, &errors);
- if (Succeeded(result)) {
- ValidateOptions options(s_features);
- // Don't do a full validation, just validate the function signatures.
- result = ValidateFuncSignatures(module, &errors, options);
- }
+ ValidateOptions options(s_features);
+ // Don't do a full validation, just validate the function signatures.
+ result = ValidateFuncSignatures(module, &errors, options);
}
}
diff --git a/src/tools/wast2json.cc b/src/tools/wast2json.cc
index 1ed8367d..62548084 100644
--- a/src/tools/wast2json.cc
+++ b/src/tools/wast2json.cc
@@ -115,34 +115,30 @@ int ProgramMain(int argc, char** argv) {
WastParseOptions parse_wast_options(s_features);
result = ParseWastScript(lexer.get(), &script, &errors, &parse_wast_options);
- if (Succeeded(result)) {
- result = ResolveNamesScript(script.get(), &errors);
+ if (Succeeded(result) && s_validate) {
+ ValidateOptions options(s_features);
+ result = ValidateScript(script.get(), &errors, options);
+ }
- if (Succeeded(result) && s_validate) {
- ValidateOptions options(s_features);
- result = ValidateScript(script.get(), &errors, options);
+ if (Succeeded(result)) {
+ if (s_outfile.empty()) {
+ s_outfile = DefaultOuputName(s_infile);
}
- if (Succeeded(result)) {
- if (s_outfile.empty()) {
- s_outfile = DefaultOuputName(s_infile);
- }
-
- std::vector<FilenameMemoryStreamPair> module_streams;
- MemoryStream json_stream;
+ std::vector<FilenameMemoryStreamPair> module_streams;
+ MemoryStream json_stream;
- std::string output_basename = StripExtension(s_outfile).to_string();
- s_write_binary_options.features = s_features;
- result = WriteBinarySpecScript(
- &json_stream, script.get(), s_infile, output_basename,
- s_write_binary_options, &module_streams, s_log_stream.get());
+ std::string output_basename = StripExtension(s_outfile).to_string();
+ s_write_binary_options.features = s_features;
+ result = WriteBinarySpecScript(&json_stream, script.get(), s_infile,
+ output_basename, s_write_binary_options,
+ &module_streams, s_log_stream.get());
- json_stream.WriteToFile(s_outfile);
+ json_stream.WriteToFile(s_outfile);
- for (auto iter = module_streams.begin(); iter != module_streams.end();
- ++iter) {
- iter->stream->WriteToFile(iter->filename);
- }
+ for (auto iter = module_streams.begin(); iter != module_streams.end();
+ ++iter) {
+ iter->stream->WriteToFile(iter->filename);
}
}
diff --git a/src/tools/wat2wasm.cc b/src/tools/wat2wasm.cc
index e1bb192a..e664d589 100644
--- a/src/tools/wat2wasm.cc
+++ b/src/tools/wat2wasm.cc
@@ -139,25 +139,21 @@ int ProgramMain(int argc, char** argv) {
WastParseOptions parse_wast_options(s_features);
result = ParseWatModule(lexer.get(), &module, &errors, &parse_wast_options);
- if (Succeeded(result)) {
- result = ResolveNamesModule(module.get(), &errors);
+ if (Succeeded(result) && s_validate) {
+ ValidateOptions options(s_features);
+ result = ValidateModule(module.get(), &errors, options);
+ }
- if (Succeeded(result) && s_validate) {
- ValidateOptions options(s_features);
- result = ValidateModule(module.get(), &errors, options);
- }
+ if (Succeeded(result)) {
+ MemoryStream stream(s_log_stream.get());
+ s_write_binary_options.features = s_features;
+ result = WriteBinaryModule(&stream, module.get(), s_write_binary_options);
if (Succeeded(result)) {
- MemoryStream stream(s_log_stream.get());
- s_write_binary_options.features = s_features;
- result = WriteBinaryModule(&stream, module.get(), s_write_binary_options);
-
- if (Succeeded(result)) {
- if (s_outfile.empty()) {
- s_outfile = DefaultOuputName(s_infile);
- }
- WriteBufferToFile(s_outfile.c_str(), stream.output_buffer());
+ if (s_outfile.empty()) {
+ s_outfile = DefaultOuputName(s_infile);
}
+ WriteBufferToFile(s_outfile.c_str(), stream.output_buffer());
}
}
diff --git a/src/wast-parser.cc b/src/wast-parser.cc
index 4f86b0dd..c8e3e871 100644
--- a/src/wast-parser.cc
+++ b/src/wast-parser.cc
@@ -21,6 +21,7 @@
#include "src/cast.h"
#include "src/expr-visitor.h"
#include "src/make-unique.h"
+#include "src/resolve-names.h"
#include "src/stream.h"
#include "src/utf8.h"
@@ -2805,7 +2806,9 @@ Result ParseWatModule(WastLexer* lexer,
assert(out_module != nullptr);
assert(options != nullptr);
WastParser parser(lexer, errors, options);
- return parser.ParseModule(out_module);
+ CHECK_RESULT(parser.ParseModule(out_module));
+ CHECK_RESULT(ResolveNamesModule(out_module->get(), errors));
+ return Result::Ok;
}
Result ParseWastScript(WastLexer* lexer,
@@ -2815,7 +2818,9 @@ Result ParseWastScript(WastLexer* lexer,
assert(out_script != nullptr);
assert(options != nullptr);
WastParser parser(lexer, errors, options);
- return parser.ParseScript(out_script);
+ CHECK_RESULT(parser.ParseScript(out_script));
+ CHECK_RESULT(ResolveNamesScript(out_script->get(), errors));
+ return Result::Ok;
}
} // namespace wabt