add in custom acorn node constructor

This commit is contained in:
Sebastian McKenzie
2015-01-26 01:32:37 +11:00
parent 9b7eb2dcd8
commit 2808bc2c90
3 changed files with 17 additions and 1 deletions

View File

@@ -3,6 +3,8 @@
var t = require("./types");
var _ = require("lodash");
require("./types/node");
// estraverse
var estraverse = require("estraverse");

View File

@@ -2,6 +2,7 @@
var toFastProperties = require("../helpers/to-fast-properties");
var esutils = require("esutils");
var Node = require("./node");
var _ = require("lodash");
var t = exports;
@@ -100,7 +101,9 @@ t.BUILDER_KEYS = _.defaults(require("./builder-keys"), t.VISITOR_KEYS);
_.each(t.BUILDER_KEYS, function (keys, type) {
t[type[0].toLowerCase() + type.slice(1)] = function () {
var args = arguments;
var node = { type: type };
var node = new Node;
node.start = null;
node.type = type;
_.each(keys, function (key, i) {
node[key] = args[i];
});

11
lib/6to5/types/node.js Normal file
View File

@@ -0,0 +1,11 @@
module.exports = Node;
var object = require("../helpers/object");
var acorn = require("acorn-6to5");
var oldNode = acorn.Node;
acorn.Node = Node;
function Node() {
oldNode.apply(this);
}