Chromium Code Reviews| 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); |
| } |
| } |