| OLD | NEW |
| 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2011, 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 library js_backend.namer; | 5 library js_backend.namer; |
| 6 | 6 |
| 7 import 'dart:collection' show HashMap; | 7 import 'dart:collection' show HashMap; |
| 8 | 8 |
| 9 import 'package:js_runtime/shared/embedded_names.dart' show JsGetName; | 9 import 'package:js_runtime/shared/embedded_names.dart' show JsGetName; |
| 10 | 10 |
| (...skipping 1866 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1877 failed = true; | 1877 failed = true; |
| 1878 } else { | 1878 } else { |
| 1879 for (int i = 0; i < length; i++) { | 1879 for (int i = 0; i < length; i++) { |
| 1880 _visit(constant.entries[i]); | 1880 _visit(constant.entries[i]); |
| 1881 if (failed) break; | 1881 if (failed) break; |
| 1882 } | 1882 } |
| 1883 } | 1883 } |
| 1884 } | 1884 } |
| 1885 | 1885 |
| 1886 @override | 1886 @override |
| 1887 void visitMap(JavaScriptMapConstant constant, [_]) { | 1887 void visitMap(covariant JavaScriptMapConstant constant, [_]) { |
| 1888 // TODO(9476): Incorporate type parameters into name. | 1888 // TODO(9476): Incorporate type parameters into name. |
| 1889 addRoot('Map'); | 1889 addRoot('Map'); |
| 1890 if (constant.length == 0) { | 1890 if (constant.length == 0) { |
| 1891 add('empty'); | 1891 add('empty'); |
| 1892 } else { | 1892 } else { |
| 1893 // Using some bits from the keys hash tag groups the names Maps with the | 1893 // Using some bits from the keys hash tag groups the names Maps with the |
| 1894 // same structure. | 1894 // same structure. |
| 1895 add(getHashTag(constant.keyList, 2) + getHashTag(constant, 3)); | 1895 add(getHashTag(constant.keyList, 2) + getHashTag(constant, 3)); |
| 1896 } | 1896 } |
| 1897 } | 1897 } |
| (...skipping 273 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2171 StringBuffer sb; | 2171 StringBuffer sb; |
| 2172 | 2172 |
| 2173 FunctionTypeNamer(this.rtiEncoder); | 2173 FunctionTypeNamer(this.rtiEncoder); |
| 2174 | 2174 |
| 2175 String computeName(ResolutionDartType type) { | 2175 String computeName(ResolutionDartType type) { |
| 2176 sb = new StringBuffer(); | 2176 sb = new StringBuffer(); |
| 2177 visit(type); | 2177 visit(type); |
| 2178 return sb.toString(); | 2178 return sb.toString(); |
| 2179 } | 2179 } |
| 2180 | 2180 |
| 2181 visit(ResolutionDartType type, [_]) { | 2181 visit(covariant ResolutionDartType type, [_]) { |
| 2182 type.accept(this, null); | 2182 type.accept(this, null); |
| 2183 } | 2183 } |
| 2184 | 2184 |
| 2185 visitType(ResolutionDartType type, _) { | 2185 visitType(covariant ResolutionDartType type, _) { |
| 2186 sb.write(type.name); | 2186 sb.write(type.name); |
| 2187 } | 2187 } |
| 2188 | 2188 |
| 2189 visitFunctionType(ResolutionFunctionType type, _) { | 2189 visitFunctionType(covariant ResolutionFunctionType type, _) { |
| 2190 if (rtiEncoder.isSimpleFunctionType(type)) { | 2190 if (rtiEncoder.isSimpleFunctionType(type)) { |
| 2191 sb.write('args${type.parameterTypes.length}'); | 2191 sb.write('args${type.parameterTypes.length}'); |
| 2192 return; | 2192 return; |
| 2193 } | 2193 } |
| 2194 visit(type.returnType); | 2194 visit(type.returnType); |
| 2195 sb.write('_'); | 2195 sb.write('_'); |
| 2196 for (ResolutionDartType parameter in type.parameterTypes) { | 2196 for (ResolutionDartType parameter in type.parameterTypes) { |
| 2197 sb.write('_'); | 2197 sb.write('_'); |
| 2198 visit(parameter); | 2198 visit(parameter); |
| 2199 } | 2199 } |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2239 void addSuggestion(String original, String suggestion) { | 2239 void addSuggestion(String original, String suggestion) { |
| 2240 assert(!_suggestedNames.containsKey(original)); | 2240 assert(!_suggestedNames.containsKey(original)); |
| 2241 _suggestedNames[original] = suggestion; | 2241 _suggestedNames[original] = suggestion; |
| 2242 } | 2242 } |
| 2243 | 2243 |
| 2244 bool hasSuggestion(String original) => _suggestedNames.containsKey(original); | 2244 bool hasSuggestion(String original) => _suggestedNames.containsKey(original); |
| 2245 bool isSuggestion(String candidate) { | 2245 bool isSuggestion(String candidate) { |
| 2246 return _suggestedNames.containsValue(candidate); | 2246 return _suggestedNames.containsValue(candidate); |
| 2247 } | 2247 } |
| 2248 } | 2248 } |
| OLD | NEW |