executeMethod method

dynamic executeMethod(
  1. dynamic method,
  2. List<Expression> declaredArguments, {
  3. String? methodName,
  4. MethodExecutor? executor,
})

Implementation

executeMethod(dynamic method, List<Expression> declaredArguments,
    {String? methodName, MethodExecutor? executor}) {
  List<dynamic> arguments =
      computeArguments(declaredArguments, resolveNames: true);
  if (methodName != null && executor != null) {
    return executor.callMethod(methodName, arguments);
  }
  if (method is Function) {
    //functions being called from js to dart
    if (arguments.length == 0) {
      return Function.apply(method, null);
    } else {
      return Function.apply(method, arguments);
    }
  } else {
    if (arguments.length == 0) {
      return method();
    } else {
      return method(arguments);
    }
  }
}