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 Comparator get _compareNodes => | 7 Comparator get _compareNodes => |
8 compareBy((n) => n.getBeginToken().charOffset); | 8 compareBy((n) => n.getBeginToken().charOffset); |
9 | 9 |
10 abstract class Renamable implements Comparable { | 10 abstract class Renamable implements Comparable { |
(...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
217 (Element element, Set<Node> nodes) { | 217 (Element element, Set<Node> nodes) { |
218 _renameNodes(nodes, (_) => _renameGlobal(element)); | 218 _renameNodes(nodes, (_) => _renameGlobal(element)); |
219 }); | 219 }); |
220 | 220 |
221 // Rename locals. | 221 // Rename locals. |
222 placeholderCollector.functionScopes.forEach( | 222 placeholderCollector.functionScopes.forEach( |
223 (functionElement, functionScope) { | 223 (functionElement, functionScope) { |
224 | 224 |
225 Set<String> memberIdentifiers = new Set<String>(); | 225 Set<String> memberIdentifiers = new Set<String>(); |
226 Set<LocalPlaceholder> placeholders = functionScope.localPlaceholders; | 226 Set<LocalPlaceholder> placeholders = functionScope.localPlaceholders; |
227 if (functionElement.enclosingClass != null) { | 227 if (functionElement != null && functionElement.enclosingClass != null) { |
228 functionElement.enclosingClass.forEachMember( | 228 functionElement.enclosingClass.forEachMember( |
229 (enclosingClass, member) { | 229 (enclosingClass, member) { |
230 memberIdentifiers.add(member.name); | 230 memberIdentifiers.add(member.name); |
231 }); | 231 }); |
232 } | 232 } |
233 Set<String> usedLocalIdentifiers = new Set<String>(); | 233 Set<String> usedLocalIdentifiers = new Set<String>(); |
234 for (LocalPlaceholder placeholder in placeholders) { | 234 for (LocalPlaceholder placeholder in placeholders) { |
235 String nextId = _generator.generate(placeholder.identifier, (name) { | 235 String nextId = _generator.generate(placeholder.identifier, (name) { |
236 return functionScope.parameterIdentifiers.contains(name) | 236 return functionScope.parameterIdentifiers.contains(name) |
237 || _forbiddenIdentifiers.contains(name) | 237 || _forbiddenIdentifiers.contains(name) |
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
353 MinifyingGenerator(); | 353 MinifyingGenerator(); |
354 | 354 |
355 String generate(String originalName, bool isForbidden(String name)) { | 355 String generate(String originalName, bool isForbidden(String name)) { |
356 String result; | 356 String result; |
357 do { | 357 do { |
358 result = generateMiniId(index++); | 358 result = generateMiniId(index++); |
359 } while (isForbidden(result)); | 359 } while (isForbidden(result)); |
360 return result; | 360 return result; |
361 } | 361 } |
362 } | 362 } |
OLD | NEW |