toValue method
Implementation
@override
FutureOr<ASTValue<Object>?> toValue(VMContext context, Object? v) {
if (v is ASTValueObject) return v;
if (v is ASTValueNull) {
return null;
}
if (v is ASTValueVoid) {
throw StateError("Can't resolve 'void' to 'Object': $v");
}
if (v is ASTValue) {
return v.resolve(context).resolveMapped((resolved) {
if (resolved is! ASTValue<Object>) {
return resolved.getValue(context).resolveMapped((vDyn) {
return ASTValueObject(vDyn);
});
}
return resolved;
});
}
return v != null ? ASTValueObject(v) : null;
}