execute method

  1. @override
DartBlockValue? execute(
  1. DartBlockArbiter arbiter,
  2. List<DartBlockValue> args
)
override

Execute the custom function by running its statements in a new scope. (Statement._execute handles scope management.)

Implementation

@override
DartBlockValue? execute(DartBlockArbiter arbiter, List<DartBlockValue> args) {
  for (var statement in statements) {
    try {
      statement.run(arbiter);
    } on ReturnStatementException catch (ex) {
      return ex.value;
    }
  }
  return null;
}