Index: pkg/js_ast/lib/src/printer.dart |
diff --git a/pkg/js_ast/lib/src/printer.dart b/pkg/js_ast/lib/src/printer.dart |
index 917fcf49b6fe9ac53dc051d4163f8dc22beec2c1..bf492d31dddc835fd93ac79d95374ad283c8fff3 100644 |
--- a/pkg/js_ast/lib/src/printer.dart |
+++ b/pkg/js_ast/lib/src/printer.dart |
@@ -1156,9 +1156,13 @@ class OrderedSet<T> { |
// separate pass because JS vars are lifted to the top of the function. |
class VarCollector extends BaseVisitor { |
bool nested; |
+ bool disableRenaming = false; |
floitsch
2015/05/19 13:43:35
change to "enableRenaming".
herhut
2015/05/19 14:08:09
Done.
|
final OrderedSet<String> vars; |
final OrderedSet<String> params; |
+ static final String disableVariableMinificationPattern = "::norenaming::"; |
+ static final String enableVariableMinificationPattern = "::dorenaming::"; |
+ |
VarCollector() : nested = false, |
vars = new OrderedSet<String>(), |
params = new OrderedSet<String>(); |
@@ -1195,8 +1199,16 @@ class VarCollector extends BaseVisitor { |
void visitThis(This node) {} |
+ void visitComment(Comment node) { |
+ if (node.comment.contains(disableVariableMinificationPattern)) { |
+ disableRenaming = true; |
+ } else if (node.comment.contains(enableVariableMinificationPattern)) { |
+ disableRenaming = false; |
+ } |
+ } |
+ |
void visitVariableDeclaration(VariableDeclaration decl) { |
- if (decl.allowRename) vars.add(decl.name); |
+ if (!disableRenaming && decl.allowRename) vars.add(decl.name); |
} |
} |