Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3)

Unified Diff: Source/devtools/front_end/script_formatter_worker/ESTreeWalker.js

Issue 1125143004: DevTools: [PrettyPrint] support template literals in pretty-printing (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: address comments Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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"],

Powered by Google App Engine
This is Rietveld 408576698