trim method

  1. @override
(WhileLoopStatement?, int) trim(
  1. int remaining
)
override

Implementation

@override
(WhileLoopStatement?, int) trim(int remaining) {
  if (remaining <= 0) {
    return (null, 0);
  } else {
    List<Statement> trimmedBodyStatements = [];
    for (final statement in bodyStatements) {
      final trimmedStatementResult = statement.trim(remaining);
      remaining = trimmedStatementResult.$2;
      if (trimmedStatementResult.$1 != null) {
        trimmedBodyStatements.add(trimmedStatementResult.$1!);
      }
      if (remaining <= 0) {
        break;
      }
    }

    return (
      WhileLoopStatement.init(isDoWhile, condition, trimmedBodyStatements),
      remaining,
    );
  }
}