| 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 6f564dbcac23a0291c47acdaf7eab451d4c36a80..dfa926c0ba32ebabaa210b6b4cbeee93e0c7c806 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
|
| @@ -5,14 +5,16 @@
|
| /**
|
| * @constructor
|
| * @param {function(!ESTree.Node)} beforeVisit
|
| - * @param {function(!ESTree.Node)} afterVisit
|
| + * @param {function(!ESTree.Node)=} afterVisit
|
| */
|
| WebInspector.ESTreeWalker = function(beforeVisit, afterVisit)
|
| {
|
| this._beforeVisit = beforeVisit;
|
| - this._afterVisit = afterVisit;
|
| + this._afterVisit = afterVisit || new Function();
|
| }
|
|
|
| +WebInspector.ESTreeWalker.SkipSubtree = {};
|
| +
|
| WebInspector.ESTreeWalker.prototype = {
|
| /**
|
| * @param {!ESTree.Node} ast
|
| @@ -32,7 +34,10 @@ WebInspector.ESTreeWalker.prototype = {
|
| return;
|
| node.parent = parent;
|
|
|
| - this._beforeVisit.call(null, node);
|
| + if (this._beforeVisit.call(null, node) === WebInspector.ESTreeWalker.SkipSubtree) {
|
| + this._afterVisit.call(null, node);
|
| + return;
|
| + }
|
|
|
| var walkOrder = WebInspector.ESTreeWalker._walkOrder[node.type];
|
| if (!walkOrder) {
|
|
|