call<R> method

  1. @override
Future<R> call<R>({
  1. List? positionalParameters,
  2. Map<String, dynamic>? namedParameters,
  3. CommandLogInfo? logInfo,
  4. CommandLogError? logError,
})
override

Implementation

@override
Future<R> call<R>({
  List<dynamic>? positionalParameters,
  Map<String, dynamic>? namedParameters,
  CommandLogInfo? logInfo,
  CommandLogError? logError,
}) async {
  logInfo ??= this.logInfo;
  logError ??= this.logError;

  await ensureLoaded();

  var vm = _vm!;

  var runner = createRunner(vm);

  final className = this.className;

  ASTValue astValue;

  if (className != null) {
    astValue = await runner.executeClassMethod('', className, name,
        positionalParameters: positionalParameters,
        namedParameters: namedParameters);
  } else {
    astValue = await runner.executeFunction('', name,
        positionalParameters: positionalParameters,
        namedParameters: namedParameters,
        allowClassMethod: true);
  }

  var value = astValue.getValueNoContext();
  return value as R;
}