call method

  1. @override
Object? call(
  1. InterpreterVisitor visitor,
  2. List<Object?> positionalArguments, [
  3. Map<String, Object?> namedArguments = const {},
  4. List<RuntimeType>? typeArguments,
])
override

Implementation

@override
Object? call(
  InterpreterVisitor visitor,
  List<Object?> positionalArguments, [
  Map<String, Object?> namedArguments = const {},
  List<RuntimeType>? typeArguments,
]) {
  try {
    // Call the adapter, passing the stored native super object as the target
    return adapter(
      visitor,
      superObject,
      positionalArguments,
      namedArguments,
      typeArguments,
    );
  } on ArgumentError catch (e) {
    throw RuntimeD4rtException(
      "Invalid arguments for bridged superclass method '$bridgedClassName.$methodName': ${e.message}",
    );
  } catch (e, s) {
    Logger.error(
      "Native exception during call to bridged superclass method '$bridgedClassName.$methodName': $e\n$s",
    );
    throw RuntimeD4rtException(
      "Native error in bridged superclass method '$bridgedClassName.$methodName': $e",
      originalException: e,
      originalStackTrace: s,
    );
  }
}