call method

  1. @override
Object? call(
  1. InterpreterVisitor visitor,
  2. List<Object?> positionalArgs, [
  3. Map<String, Object?>? namedArgs,
  4. List<RuntimeType>? typeArguments,
])
override

Call creates an instance wrapping the representation value

Implementation

@override
Object? call(InterpreterVisitor visitor, List<Object?> positionalArgs,
    [Map<String, Object?>? namedArgs, List<RuntimeType>? typeArguments]) {
  if (positionalArgs.isEmpty) {
    throw RuntimeD4rtException(
        "Extension type '$name' requires exactly one positional argument");
  }
  final representationValue = positionalArgs[0];
  return InterpretedExtensionTypeInstance(this, representationValue);
}