| OLD | NEW |
| 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 part of dart_backend; | 5 part of dart_backend; |
| 6 | 6 |
| 7 Function get _compareNodes => | 7 Function get _compareNodes => |
| 8 compareBy((n) => n.getBeginToken().charOffset); | 8 compareBy((n) => n.getBeginToken().charOffset); |
| 9 | 9 |
| 10 typedef String _Renamer(Renamable renamable); | 10 typedef String _Renamer(Renamable renamable); |
| (...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 184 // the same identifier. So the top-used local variables in all functions | 184 // the same identifier. So the top-used local variables in all functions |
| 185 // will be renamed first and will all share the same new identifier. | 185 // will be renamed first and will all share the same new identifier. |
| 186 List<Set<Node>> allSortedLocals = new List<Set<Node>>(); | 186 List<Set<Node>> allSortedLocals = new List<Set<Node>>(); |
| 187 for (var functionScope in placeholderCollector.functionScopes.values) { | 187 for (var functionScope in placeholderCollector.functionScopes.values) { |
| 188 // Add current sorted local identifiers to the whole sorted list | 188 // Add current sorted local identifiers to the whole sorted list |
| 189 // of all local identifiers for all functions. | 189 // of all local identifiers for all functions. |
| 190 List<LocalPlaceholder> currentSortedPlaceholders = | 190 List<LocalPlaceholder> currentSortedPlaceholders = |
| 191 sorted(functionScope.localPlaceholders, | 191 sorted(functionScope.localPlaceholders, |
| 192 compareBy((LocalPlaceholder ph) => -ph.nodes.length)); | 192 compareBy((LocalPlaceholder ph) => -ph.nodes.length)); |
| 193 List<Set<Node>> currentSortedNodes = | 193 List<Set<Node>> currentSortedNodes = |
| 194 currentSortedPlaceholders.map((ph) => ph.nodes).toList(); | 194 currentSortedPlaceholders.mappedBy((ph) => ph.nodes).toList(); |
| 195 // Make room in all sorted locals list for new stuff. | 195 // Make room in all sorted locals list for new stuff. |
| 196 while (currentSortedNodes.length > allSortedLocals.length) { | 196 while (currentSortedNodes.length > allSortedLocals.length) { |
| 197 allSortedLocals.add(new Set<Node>()); | 197 allSortedLocals.add(new Set<Node>()); |
| 198 } | 198 } |
| 199 for (int i = 0; i < currentSortedNodes.length; i++) { | 199 for (int i = 0; i < currentSortedNodes.length; i++) { |
| 200 allSortedLocals[i].addAll(currentSortedNodes[i]); | 200 allSortedLocals[i].addAll(currentSortedNodes[i]); |
| 201 } | 201 } |
| 202 } | 202 } |
| 203 | 203 |
| 204 // Rename elements, members and locals together based on their usage count, | 204 // Rename elements, members and locals together based on their usage count, |
| (...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 350 index ~/= firstCharAlphabet.length; | 350 index ~/= firstCharAlphabet.length; |
| 351 int length = otherCharsAlphabet.length; | 351 int length = otherCharsAlphabet.length; |
| 352 while (index >= length) { | 352 while (index >= length) { |
| 353 resultBuilder.add(otherCharsAlphabet[index % length]); | 353 resultBuilder.add(otherCharsAlphabet[index % length]); |
| 354 index ~/= length; | 354 index ~/= length; |
| 355 } | 355 } |
| 356 resultBuilder.add(otherCharsAlphabet[index]); | 356 resultBuilder.add(otherCharsAlphabet[index]); |
| 357 return resultBuilder.toString(); | 357 return resultBuilder.toString(); |
| 358 } | 358 } |
| 359 } | 359 } |
| OLD | NEW |