setInstanceByMap method
FutureOr<void>
setInstanceByMap(
- VMClassContext context,
- ASTRunStatus runStatus,
- ASTValue<
VMObject> instance, - Map<
String, ASTValue> value, { - bool caseInsensitive = false,
override
Implementation
@override
FutureOr<void> setInstanceByMap(
VMClassContext context,
ASTRunStatus runStatus,
ASTValue<VMObject> instance,
Map<String, ASTValue> value,
{bool caseInsensitive = false}) async {
if (instance is! ASTClassInstance<VMObject>) {
throw _exceptionNotClassInstance(instance);
}
var vmObject = instance.vmObject;
for (var field in _fields.values) {
var fieldName = field.name;
var fieldValue = value[fieldName];
if (fieldValue != null) {
if (caseInsensitive) {
fieldName = vmObject.getFieldNameIgnoreCase(fieldName) ?? fieldName;
}
vmObject.setFieldValue(fieldName, fieldValue);
}
}
}