| OLD | NEW |
| 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, 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 native; | 5 part of native; |
| 6 | 6 |
| 7 /// This class is a temporary work-around until we get a more powerful DartType. | 7 /// This class is a temporary work-around until we get a more powerful DartType. |
| 8 class SpecialType { | 8 class SpecialType { |
| 9 final String name; | 9 final String name; |
| 10 const SpecialType._(this.name); | 10 const SpecialType._(this.name); |
| (...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 214 typesReturned.add(type); | 214 typesReturned.add(type); |
| 215 }); | 215 }); |
| 216 return; | 216 return; |
| 217 } | 217 } |
| 218 | 218 |
| 219 List<String> specs = specString.split(';') | 219 List<String> specs = specString.split(';') |
| 220 .map((s) => s.trim()) | 220 .map((s) => s.trim()) |
| 221 .toList(); | 221 .toList(); |
| 222 if (specs.last == "") specs.removeLast(); // Allow separator to terminate. | 222 if (specs.last == "") specs.removeLast(); // Allow separator to terminate. |
| 223 | 223 |
| 224 assert(validTags == null || validTags.toSet().removeAll(validTags).isEmpty); | 224 assert(validTags == null || |
| 225 (validTags.toSet()..removeAll(validTags)).isEmpty); |
| 225 if (validTags == null) validTags = knownTags; | 226 if (validTags == null) validTags = knownTags; |
| 226 | 227 |
| 227 Map<String, String> values = <String, String>{}; | 228 Map<String, String> values = <String, String>{}; |
| 228 | 229 |
| 229 for (String spec in specs) { | 230 for (String spec in specs) { |
| 230 List<String> tagAndValue = spec.split(':'); | 231 List<String> tagAndValue = spec.split(':'); |
| 231 if (tagAndValue.length != 2) { | 232 if (tagAndValue.length != 2) { |
| 232 listener.internalError(spannable, | 233 listener.internalError(spannable, |
| 233 "Invalid <tag>:<value> pair '$spec'."); | 234 "Invalid <tag>:<value> pair '$spec'."); |
| 234 } | 235 } |
| (...skipping 447 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 682 _errorNode(locationNodeOrElement, compiler), | 683 _errorNode(locationNodeOrElement, compiler), |
| 683 "Type '$typeString' not found."); | 684 "Type '$typeString' not found."); |
| 684 return null; | 685 return null; |
| 685 } | 686 } |
| 686 | 687 |
| 687 static _errorNode(locationNodeOrElement, compiler) { | 688 static _errorNode(locationNodeOrElement, compiler) { |
| 688 if (locationNodeOrElement is Node) return locationNodeOrElement; | 689 if (locationNodeOrElement is Node) return locationNodeOrElement; |
| 689 return locationNodeOrElement.parseNode(compiler); | 690 return locationNodeOrElement.parseNode(compiler); |
| 690 } | 691 } |
| 691 } | 692 } |
| OLD | NEW |