| 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..57b35cfae4ce9cf8ae1e9175ffbac7165d61a1f1 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 enableRenaming = true;
|
| 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)) {
|
| + enableRenaming = false;
|
| + } else if (node.comment.contains(enableVariableMinificationPattern)) {
|
| + enableRenaming = true;
|
| + }
|
| + }
|
| +
|
| void visitVariableDeclaration(VariableDeclaration decl) {
|
| - if (decl.allowRename) vars.add(decl.name);
|
| + if (enableRenaming && decl.allowRename) vars.add(decl.name);
|
| }
|
| }
|
|
|
|
|