summaryrefslogtreecommitdiff
path: root/src/source-error-handler.h
diff options
context:
space:
mode:
authorBen Smith <binjimin@gmail.com>2017-04-25 22:09:56 -0700
committerGitHub <noreply@github.com>2017-04-25 22:09:56 -0700
commitab4290e57d39ef079e82377d91bd27dcde4d73ae (patch)
tree39d503d304b69e9ca25bb881dfaa9454bb6a898c /src/source-error-handler.h
parent27b992d8bc9a359a5d4256835d2d965ce92eda69 (diff)
downloadwabt-ab4290e57d39ef079e82377d91bd27dcde4d73ae.tar.gz
wabt-ab4290e57d39ef079e82377d91bd27dcde4d73ae.tar.bz2
wabt-ab4290e57d39ef079e82377d91bd27dcde4d73ae.zip
Fix emscripten demo and libwabt.js (#407)
This removes the more complicated emscripten wrapper we used before, in favor of something that is much simpler. * Remove the memory init file * Remove the onInputKey handling in the demo so it doesn't auto-indent (it was broken now that we have the flat syntax) * Simplify emscripten-helpers to provide very simple C-function wrappers around the wast2wasm API: * wabt_parse_ast * wabt_resolve_names_script * wabt_validate_script * wabt_write_binary_module The tricky part is that some functions return multiple values, so those are returned as structs as well: * WabtParseAstResult * WabtWriteBinaryModuleResult
Diffstat (limited to 'src/source-error-handler.h')
-rw-r--r--src/source-error-handler.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/source-error-handler.h b/src/source-error-handler.h
index eaa50300..7cac7fca 100644
--- a/src/source-error-handler.h
+++ b/src/source-error-handler.h
@@ -86,6 +86,26 @@ class SourceErrorHandlerFile : public SourceErrorHandler {
size_t source_line_max_length_;
};
+class SourceErrorHandlerBuffer : public SourceErrorHandler {
+ public:
+ explicit SourceErrorHandlerBuffer(size_t source_line_max_length = 80);
+
+ bool OnError(const Location*,
+ const std::string& error,
+ const std::string& source_line,
+ size_t source_line_column_offset) override;
+
+ size_t source_line_max_length() const override {
+ return source_line_max_length_;
+ }
+
+ const std::string& buffer() const { return buffer_; }
+
+ private:
+ size_t source_line_max_length_;
+ std::string buffer_;
+};
+
} // namespace wabt
#endif // WABT_SOURCE_ERROR_HANDLER_H_