validateRuntimes method
Throws a FormatException if this refers to any undefined runtimes.
Implementation
void validateRuntimes(List<Runtime> allRuntimes) {
var validVariables =
allRuntimes.map((runtime) => runtime.identifier).toSet();
_metadata.validatePlatformSelectors(validVariables);
var runtimes = _runtimes;
if (runtimes != null) {
for (var selection in runtimes) {
if (!allRuntimes
.any((runtime) => runtime.identifier == selection.name)) {
if (selection.span != null) {
throw SourceSpanFormatException(
'Unknown platform "${selection.name}".', selection.span);
} else {
throw FormatException('Unknown platform "${selection.name}".');
}
}
}
}
onPlatform.forEach((selector, config) {
selector.validate(validVariables);
config.validateRuntimes(allRuntimes);
});
}