private void CompressLocals() { var localsVisitor = new MinifyLocalsAstVisitor(IgnoredIdentifiers); CompileAndAcceptVisitor(localsVisitor); var substitutor = new Substitutor(new MinIdGenerator()); var ignoredNames = new List <string>(IgnoredIdentifiers); ignoredNames.AddRange(localsVisitor.NotLocalsIdNames); var substituton = substitutor.Generate(localsVisitor.MethodVars, ignoredNames.ToArray()); var astSubstitution = new Dictionary <string, List <Tuple <string, List <AstNode> > > >(); foreach (var method in localsVisitor.MethodVars) { var localVarsAstNodes = new List <Tuple <string, List <AstNode> > >(); astSubstitution[method.Key] = localVarsAstNodes; var localsSubst = substituton[method.Key]; foreach (NameNode localVar in method.Value) { localVarsAstNodes.Add(new Tuple <string, List <AstNode> >(localsSubst[localVar.Name], GetResolvedNodes(ResolveResultType.Local, localVar.Node))); } } RenameOrRemoveNodes(astSubstitution, true, Options.LocalVarsCompressing); }
private void CompressLocals() { var localsVisitor = new MinifyLocalsAstVisitor(IgnoredIdentifiers); CompileAndAcceptVisitor(localsVisitor); var substitutor = new Substitutor(new MinIdGenerator()); var ignoredNames = new List<string>(IgnoredIdentifiers); ignoredNames.AddRange(localsVisitor.NotLocalsIdNames); var substituton = substitutor.Generate(localsVisitor.MethodVars, ignoredNames.ToArray()); var astSubstitution = new Dictionary<string, List<Tuple<string, List<AstNode>>>>(); foreach (var method in localsVisitor.MethodVars) { var localVarsAstNodes = new List<Tuple<string, List<AstNode>>>(); astSubstitution[method.Key] = localVarsAstNodes; var localsSubst = substituton[method.Key]; foreach (NameNode localVar in method.Value) localVarsAstNodes.Add(new Tuple<string, List<AstNode>>(localsSubst[localVar.Name], GetResolvedNodes(ResolveResultType.Local, localVar.Node))); } RenameOrRemoveNodes(astSubstitution, true, Options.LocalVarsCompressing); }