| OLD | NEW |
| 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2015, 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 /// Analysis to determine how to generate code for `LookupMap`s. | 5 /// Analysis to determine how to generate code for `LookupMap`s. |
| 6 library compiler.src.js_backend.lookup_map_analysis; | 6 library compiler.src.js_backend.lookup_map_analysis; |
| 7 | 7 |
| 8 import 'package:pub_semver/pub_semver.dart'; | 8 import 'package:pub_semver/pub_semver.dart'; |
| 9 | 9 |
| 10 import '../common.dart'; | 10 import '../common.dart'; |
| (...skipping 259 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 270 /// returned using a type-argument expression. | 270 /// returned using a type-argument expression. |
| 271 void _addGenerics(InterfaceType type) { | 271 void _addGenerics(InterfaceType type) { |
| 272 if (!type.isGeneric) return; | 272 if (!type.isGeneric) return; |
| 273 for (var arg in type.typeArguments) { | 273 for (var arg in type.typeArguments) { |
| 274 if (arg is InterfaceType) { | 274 if (arg is InterfaceType) { |
| 275 _addClassUse(arg.element); | 275 _addClassUse(arg.element); |
| 276 // Note: this call was needed to generate correct code for | 276 // Note: this call was needed to generate correct code for |
| 277 // type_lookup_map/generic_type_test | 277 // type_lookup_map/generic_type_test |
| 278 // TODO(sigmund): can we get rid of this? | 278 // TODO(sigmund): can we get rid of this? |
| 279 backend.computeImpactForInstantiatedConstantType( | 279 backend.computeImpactForInstantiatedConstantType( |
| 280 backend.typeImplementation.rawType, impactBuilder); | 280 backend.backendClasses.typeImplementation.rawType, impactBuilder); |
| 281 _addGenerics(arg); | 281 _addGenerics(arg); |
| 282 } | 282 } |
| 283 } | 283 } |
| 284 } | 284 } |
| 285 | 285 |
| 286 /// Callback from the codegen enqueuer, invoked when a constant (which is | 286 /// Callback from the codegen enqueuer, invoked when a constant (which is |
| 287 /// possibly a const key or a type literal) is used in the program. | 287 /// possibly a const key or a type literal) is used in the program. |
| 288 void registerTypeConstant(ClassElement element) { | 288 void registerTypeConstant(ClassElement element) { |
| 289 if (!_isEnabled || !_inCodegen) return; | 289 if (!_isEnabled || !_inCodegen) return; |
| 290 _addClassUse(element); | 290 _addClassUse(element); |
| (...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 439 original.fields[analysis.valueField] = keyValuePairs[1]; | 439 original.fields[analysis.valueField] = keyValuePairs[1]; |
| 440 } | 440 } |
| 441 } else { | 441 } else { |
| 442 original.fields[analysis.entriesField] = | 442 original.fields[analysis.entriesField] = |
| 443 new ListConstantValue(listType, keyValuePairs); | 443 new ListConstantValue(listType, keyValuePairs); |
| 444 } | 444 } |
| 445 } | 445 } |
| 446 } | 446 } |
| 447 | 447 |
| 448 final _validLookupMapVersionConstraint = new VersionConstraint.parse('^0.0.1'); | 448 final _validLookupMapVersionConstraint = new VersionConstraint.parse('^0.0.1'); |
| OLD | NEW |