diff options
author | Florian Dold <florian.dold@gmail.com> | 2017-04-20 03:09:25 +0200 |
---|---|---|
committer | Florian Dold <florian.dold@gmail.com> | 2017-04-24 16:14:29 +0200 |
commit | 82f2b76e25a4a67e01ec67e5ebe39d14ad771ea8 (patch) | |
tree | 965f6eb89b84d65a62b49008fd972c004832ccd1 /node_modules/istanbul-lib-instrument/dist/visitor.js | |
parent | e6e0cbc387c2a77b48e4065c229daa65bf1aa0fa (diff) |
Reorganize module loading.
We now use webpack instead of SystemJS, effectively bundling modules
into one file (plus commons chunks) for every entry point. This results
in a much smaller extension size (almost half). Furthermore we use
yarn/npm even for extension run-time dependencies. This relieves us
from manually vendoring and building dependencies. It's also easier to
understand for new developers familiar with node.
Diffstat (limited to 'node_modules/istanbul-lib-instrument/dist/visitor.js')
-rw-r--r-- | node_modules/istanbul-lib-instrument/dist/visitor.js | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/node_modules/istanbul-lib-instrument/dist/visitor.js b/node_modules/istanbul-lib-instrument/dist/visitor.js index cae5146f5..518b1e31e 100644 --- a/node_modules/istanbul-lib-instrument/dist/visitor.js +++ b/node_modules/istanbul-lib-instrument/dist/visitor.js @@ -184,6 +184,15 @@ var VisitState = function () { path.node.body.unshift(T.expressionStatement(increment)); } else if (path.isStatement()) { path.insertBefore(T.expressionStatement(increment)); + } else if ((path.isFunctionExpression() || path.isArrowFunctionExpression()) && T.isVariableDeclarator(path.parentPath)) { + // make an attempt to hoist the statement counter, so that + // function names are maintained. + var parent = path.parentPath.parentPath; + if (parent && (T.isProgram(parent.parentPath) || T.isBlockStatement(parent.parentPath))) { + parent.insertBefore(T.expressionStatement(increment)); + } else { + path.replaceWith(T.sequenceExpression([increment, path.node])); + } } else /* istanbul ignore else: not expected */if (path.isExpression()) { path.replaceWith(T.sequenceExpression([increment, path.node])); } else { @@ -210,6 +219,7 @@ var VisitState = function () { return; } var n = path.node; + var dloc = null; // get location for declaration switch (n.type) { @@ -231,6 +241,7 @@ var VisitState = function () { end: { line: n.loc.start.line, column: n.loc.start.column + 1 } }; } + var name = path.node.id ? path.node.id.name : path.node.name; var index = this.cov.newFunction(name, dloc, path.node.body.loc); var increment = this.increase('f', index, null); |