run method

  1. @override
FutureOr<ASTValue> run(
  1. VMContext parentContext,
  2. ASTRunStatus runStatus
)
override

Implementation

@override
FutureOr<ASTValue> run(
    VMContext parentContext, ASTRunStatus runStatus) async {
  var f = await _getFunction(parentContext);

  var argumentsValues =
      await _resolveArgumentsValues(parentContext, runStatus, arguments);

  var obj = await _getVariableValue(parentContext);

  if (f is ASTClassFunctionDeclaration) {
    return f.objectCall(parentContext, obj,
        positionalParameters: argumentsValues);
  } else {
    // Static function call:
    return f.call(parentContext, positionalParameters: argumentsValues);
  }
}