Skip to content

Commit 3ab7222

Browse files
committed
Propagate WastLexer change through to JavaScript/Emscripten wrappers
1 parent f1b4ee8 commit 3ab7222

File tree

2 files changed

+10
-8
lines changed

2 files changed

+10
-8
lines changed

src/emscripten-helpers.cc

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -96,9 +96,10 @@ void wabt_destroy_features(wabt::Features* f) {
9696

9797
wabt::WastLexer* wabt_new_wast_buffer_lexer(const char* filename,
9898
const void* data,
99-
size_t size) {
99+
size_t size,
100+
Errors* errors) {
100101
std::unique_ptr<wabt::WastLexer> lexer =
101-
wabt::WastLexer::CreateBufferLexer(filename, data, size);
102+
wabt::WastLexer::CreateBufferLexer(filename, data, size, errors);
102103
return lexer.release();
103104
}
104105

src/wabt.post.js

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -110,11 +110,12 @@ FEATURES.forEach(function(feature) {
110110

111111

112112
/// Lexer
113-
function Lexer(filename, buffer) {
113+
function Lexer(filename, buffer, errors) {
114114
this.filenameObj = allocateCString(filename);
115115
this.bufferObj = allocateBuffer(buffer);
116116
this.addr = Module._wabt_new_wast_buffer_lexer(
117-
this.filenameObj.addr, this.bufferObj.addr, this.bufferObj.size);
117+
this.filenameObj.addr, this.bufferObj.addr, this.bufferObj.size,
118+
errors.addr);
118119
}
119120
Lexer.prototype = Object.create(Object.prototype);
120121

@@ -159,10 +160,9 @@ OutputBuffer.prototype.destroy = function() {
159160

160161

161162
/// Errors
162-
function Errors(kind, lexer) {
163+
function Errors(kind) {
163164
this.kind = kind;
164165
this.addr = Module._wabt_new_errors();
165-
this.lexer = lexer;
166166
}
167167
Errors.prototype = Object.create(Object.prototype);
168168

@@ -194,8 +194,9 @@ Errors.prototype.destroy = function() {
194194

195195
/// parseWat
196196
function parseWat(filename, buffer, options) {
197-
var lexer = new Lexer(filename, buffer);
198-
var errors = new Errors('text', lexer);
197+
var errors = new Errors('text');
198+
var lexer = new Lexer(filename, buffer, errors);
199+
errors.lexer = lexer;
199200
var features = new Features(options || {});
200201

201202
try {

0 commit comments

Comments
 (0)