Runtime.deserialize constructor
Runtime.deserialize(
- Object serialized
Implementation
factory Runtime.deserialize(Object serialized) {
if (serialized is String) {
return builtIn
.firstWhere((platform) => platform.identifier == serialized);
}
var map = serialized as Map;
var name = map['name'] as String;
var identifier = map['identifier'] as String;
var defaultCompiler =
Compiler.deserialize(map['defaultCompiler'] as Object);
var supportedCompilers = [
for (var compiler in map['supportedCompilers'] as List)
Compiler.deserialize(compiler as Object),
];
var parent = map['parent'];
if (parent != null) {
// Note that the returned platform's [parent] won't necessarily be `==` to
// a separately-deserialized parent platform. This should be fine, though,
// since we only deserialize platforms in the remote execution context
// where they're only used to evaluate platform selectors.
return Runtime._child(name, identifier, defaultCompiler,
supportedCompilers, Runtime.deserialize(parent as Object));
}
return Runtime(name, identifier, defaultCompiler, supportedCompilers,
isDartVM: map['isDartVM'] as bool,
isBrowser: map['isBrowser'] as bool,
isBlink: map['isBlink'] as bool,
isHeadless: map['isHeadless'] as bool);
}