bodyExecute method

  1. @override
FunctionCallBodyExecutionResult bodyExecute(
  1. DartBlockArbiter arbiter,
  2. covariant FunctionCallPreExecutionResult preExecutionResult
)
override

Implementation

@override
FunctionCallBodyExecutionResult bodyExecute(
  DartBlockArbiter arbiter,
  FunctionCallPreExecutionResult preExecutionResult,
) {
  for (var parameterDeclaration in preExecutionResult.parameterDeclarations) {
    parameterDeclaration.run(arbiter);
  }
  for (var statement in preExecutionResult.customFunction.statements) {
    try {
      statement.run(arbiter);
    } on ReturnStatementException catch (ex) {
      return FunctionCallBodyExecutionResult(
        preExecutionResult.customFunction,
        ex.value,
      );
    }
  }

  return FunctionCallBodyExecutionResult(
    preExecutionResult.customFunction,
    null,
  );
}