| 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 137 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 148 | 148 |
| 149 /// Checks if the version of lookup_map is valid, and if so, enable this | 149 /// Checks if the version of lookup_map is valid, and if so, enable this |
| 150 /// analysis during codegen. | 150 /// analysis during codegen. |
| 151 void onCodegenStart() { | 151 void onCodegenStart() { |
| 152 _inCodegen = true; | 152 _inCodegen = true; |
| 153 if (lookupMapVersionVariable == null) return; | 153 if (lookupMapVersionVariable == null) return; |
| 154 | 154 |
| 155 // At this point, the lookupMapVersionVariable should be resolved and it's | 155 // At this point, the lookupMapVersionVariable should be resolved and it's |
| 156 // constant value should be available. | 156 // constant value should be available. |
| 157 StringConstantValue value = | 157 StringConstantValue value = |
| 158 backend.constants.getConstantValueForVariable(lookupMapVersionVariable); | 158 backend.constants.getConstantValue(lookupMapVersionVariable.constant); |
| 159 if (value == null) { | 159 if (value == null) { |
| 160 reporter.reportInfo(lookupMapVersionVariable, | 160 reporter.reportInfo(lookupMapVersionVariable, |
| 161 MessageKind.UNRECOGNIZED_VERSION_OF_LOOKUP_MAP); | 161 MessageKind.UNRECOGNIZED_VERSION_OF_LOOKUP_MAP); |
| 162 return; | 162 return; |
| 163 } | 163 } |
| 164 | 164 |
| 165 // TODO(sigmund): add proper version resolution using the pub_semver package | 165 // TODO(sigmund): add proper version resolution using the pub_semver package |
| 166 // when we introduce the next version. | 166 // when we introduce the next version. |
| 167 Version version; | 167 Version version; |
| 168 try { | 168 try { |
| (...skipping 260 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 429 original.fields[analysis.valueField] = keyValuePairs[1]; | 429 original.fields[analysis.valueField] = keyValuePairs[1]; |
| 430 } | 430 } |
| 431 } else { | 431 } else { |
| 432 original.fields[analysis.entriesField] = | 432 original.fields[analysis.entriesField] = |
| 433 new ListConstantValue(listType, keyValuePairs); | 433 new ListConstantValue(listType, keyValuePairs); |
| 434 } | 434 } |
| 435 } | 435 } |
| 436 } | 436 } |
| 437 | 437 |
| 438 final _validLookupMapVersionConstraint = new VersionConstraint.parse('^0.0.1'); | 438 final _validLookupMapVersionConstraint = new VersionConstraint.parse('^0.0.1'); |
| OLD | NEW |