Browse Source

module,src: do not wrap modules with -1 lineOffset

In b799a74709 and
dfee4e3712 the module wrapping
mechanism was changed for better error reporting. However,
the changes causes issues with debuggers and profilers. This
commit reverts the wrapping changes.

Fixes: https://github.com/nodejs/node/issues/4297
PR-URL: https://github.com/nodejs/node/pull/4298
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
v4.x
cjihrig 9 years ago
committed by Myles Borins
parent
commit
1408f7abb1
  1. 2
      lib/module.js
  2. 4
      src/node.js
  3. 4
      test/sequential/test-module-loading.js

2
lib/module.js

@ -372,7 +372,7 @@ Module.prototype._compile = function(content, filename) {
var wrapper = Module.wrap(content);
var compiledWrapper = runInThisContext(wrapper,
{ filename: filename, lineOffset: -1 });
{ filename: filename, lineOffset: 0 });
if (global.v8debug) {
if (!resolvedArgv) {
// we enter the repl if we're not given a filename argument.

4
src/node.js

@ -942,7 +942,7 @@
};
NativeModule.wrapper = [
'(function (exports, require, module, __filename, __dirname) {\n',
'(function (exports, require, module, __filename, __dirname) { ',
'\n});'
];
@ -952,7 +952,7 @@
var fn = runInThisContext(source, {
filename: this.filename,
lineOffset: -1
lineOffset: 0
});
fn(this.exports, NativeModule.require, this, this.filename);

4
test/sequential/test-module-loading.js

@ -285,9 +285,9 @@ assert.equal(42, require('../fixtures/utf8-bom.js'));
assert.equal(42, require('../fixtures/utf8-bom.json'));
// Error on the first line of a module should
// have the correct line and column number
// have the correct line number
assert.throws(function() {
require('../fixtures/test-error-first-line-offset.js');
}, function(err) {
return /test-error-first-line-offset.js:1:1/.test(err.stack);
return /test-error-first-line-offset.js:1:/.test(err.stack);
}, 'Expected appearance of proper offset in Error stack');

Loading…
Cancel
Save