invoke method

dynamic invoke(
  1. String funcName, {
  2. List positionalArgs = const [],
  3. Map<String, dynamic> namedArgs = const {},
})

Call a static function of this HTClass.

Implementation

dynamic invoke(
  String funcName, {
  List<dynamic> positionalArgs = const [],
  Map<String, dynamic> namedArgs = const {},
  // List<HTType> typeArgs = const [],
}) {
  try {
    final func = memberGet(funcName);

    if (func is HTFunction) {
      func.resolve();
      return func.call(
        positionalArgs: positionalArgs,
        namedArgs: namedArgs,
        // typeArgs: typeArgs,
      );
    } else {
      throw HTError.notCallable(funcName,
          filename: interpreter.currentFile,
          line: interpreter.currentLine,
          column: interpreter.currentColumn);
    }
  } catch (error, stackTrace) {
    if (interpreter.config.processError) {
      interpreter.processError(error, stackTrace);
    } else {
      rethrow;
    }
  }
}