| Index: Source/devtools/front_end/script_formatter_worker/ESTreeWalker.js
|
| diff --git a/Source/devtools/front_end/script_formatter_worker/ESTreeWalker.js b/Source/devtools/front_end/script_formatter_worker/ESTreeWalker.js
|
| index 51486c9d329a8aab1fe185717a9440d9c1668764..65e31c52e7086d03dbd11d32df267e91206a255a 100644
|
| --- a/Source/devtools/front_end/script_formatter_worker/ESTreeWalker.js
|
| +++ b/Source/devtools/front_end/script_formatter_worker/ESTreeWalker.js
|
| @@ -40,12 +40,22 @@ FormatterWorker.ESTreeWalker.prototype = {
|
| return;
|
| }
|
|
|
| - for (var i = 0; i < walkOrder.length; ++i) {
|
| - var entity = node[walkOrder[i]];
|
| - if (Array.isArray(entity))
|
| - this._walkArray(entity, node);
|
| - else
|
| - this._innerWalk(entity, node);
|
| + if (node.type === "TemplateLiteral") {
|
| + var templateLiteral = /** @type {!ESTree.TemplateLiteralNode} */ (node);
|
| + var expressionsLength = templateLiteral.expressions.length;
|
| + for (var i = 0; i < expressionsLength; ++i) {
|
| + this._innerWalk(templateLiteral.quasis[i], templateLiteral);
|
| + this._innerWalk(templateLiteral.expressions[i], templateLiteral);
|
| + }
|
| + this._innerWalk(templateLiteral.quasis[expressionsLength], templateLiteral);
|
| + } else {
|
| + for (var i = 0; i < walkOrder.length; ++i) {
|
| + var entity = node[walkOrder[i]];
|
| + if (Array.isArray(entity))
|
| + this._walkArray(entity, node);
|
| + else
|
| + this._innerWalk(entity, node);
|
| + }
|
| }
|
|
|
| this._afterVisit.call(null, node);
|
| @@ -100,6 +110,9 @@ FormatterWorker.ESTreeWalker._walkOrder = {
|
| "Super": [],
|
| "SwitchCase": ["test", "consequent"],
|
| "SwitchStatement": ["discriminant", "cases"],
|
| + "TaggedTemplateExpression": ["tag", "quasi"],
|
| + "TemplateElement": [],
|
| + "TemplateLiteral": ["quasis", "expressions"],
|
| "ThisExpression": [],
|
| "ThrowStatement": ["argument"],
|
| "TryStatement": ["block", "handler", "finalizer"],
|
|
|