| Index: third_party/WebKit/Source/devtools/front_end/es_tree/ESTreeWalker.js
|
| diff --git a/third_party/WebKit/Source/devtools/front_end/es_tree/ESTreeWalker.js b/third_party/WebKit/Source/devtools/front_end/es_tree/ESTreeWalker.js
|
| index dfa926c0ba32ebabaa210b6b4cbeee93e0c7c806..b990d423872d0695012cb5f18f13f035bd3e9716 100644
|
| --- a/third_party/WebKit/Source/devtools/front_end/es_tree/ESTreeWalker.js
|
| +++ b/third_party/WebKit/Source/devtools/front_end/es_tree/ESTreeWalker.js
|
| @@ -4,19 +4,29 @@
|
|
|
| /**
|
| * @constructor
|
| - * @param {function(!ESTree.Node)} beforeVisit
|
| + * @param {function(!ESTree.Node):(!Object|undefined)} beforeVisit
|
| * @param {function(!ESTree.Node)=} afterVisit
|
| */
|
| WebInspector.ESTreeWalker = function(beforeVisit, afterVisit)
|
| {
|
| this._beforeVisit = beforeVisit;
|
| this._afterVisit = afterVisit || new Function();
|
| + this._walkNulls = false;
|
| }
|
|
|
| +/** @typedef {!Object} WebInspector.ESTreeWalker.SkipSubtree */
|
| WebInspector.ESTreeWalker.SkipSubtree = {};
|
|
|
| WebInspector.ESTreeWalker.prototype = {
|
| /**
|
| + * @param {boolean} value
|
| + */
|
| + setWalkNulls: function(value)
|
| + {
|
| + this._walkNulls = value;
|
| + },
|
| +
|
| + /**
|
| * @param {!ESTree.Node} ast
|
| */
|
| walk: function(ast)
|
| @@ -30,6 +40,14 @@ WebInspector.ESTreeWalker.prototype = {
|
| */
|
| _innerWalk: function(node, parent)
|
| {
|
| + if (!node && parent && this._walkNulls) {
|
| + node = /** @type {!ESTree.Node} */ ({
|
| + type: "Literal",
|
| + raw: "null",
|
| + value: null
|
| + });
|
| + }
|
| +
|
| if (!node)
|
| return;
|
| node.parent = parent;
|
|
|