set method

  1. @override
void set(
  1. String name,
  2. Object? value, [
  3. InterpreterVisitor? visitor
])
override

Sets a property of this value.

Implementation

@override
void set(String name, Object? value, [InterpreterVisitor? visitor]) {
  // SCE223: assign through the bridged setter adapter, as [get] reads
  // through the getter adapter (SCE232). This used to throw "not
  // implemented" whatever the class declared, so any caller reaching it lost
  // a setter that exists.
  final setter = bridgedClass.findInstanceSetterAdapter(name);
  if (setter == null) {
    throw UndefinedMemberD4rtException(
      "No setter '$name' on bridged instance of '${bridgedClass.name}'",
      memberName: name,
      receiver: this,
    );
  }
  setter(visitor, nativeObject, value);
}