def arguments

bend-lint-rules@0.2.0.0 · performance/append_in_loop.bend:195

import bend-lint-rules@0.2.0.0/performance/append_in_loop.bend as AppendInLoop
import Base
import bend-lint-api@0.2.0.0/linter/lint.bend as Lint
import bend-lint-api@0.2.0.0/shared/lists.bend as Lists

195# The findings about the arguments `args` of a call of the loop `name`, after the call's nodes `before` (last first).
196def arguments(
197  args: List<&2, Lint.Node>,
198  +loop: Loop,
199  +name: String,
200  +before: List<&2, Lint.Node>,
201  out: List<&2, Lint.Finding>
202) -> List<&2, Lint.Finding>:
203  match args:
204    case Nil{}:
205      List.reverse(&2, Lint.Finding, out)
206    case Con{+arg, +rest}:
207      arguments(
208        rest,
209        loop,
210        name,
211        arg <> before,
212        Lists.onto(&2, Lint.Finding, argument(arg, loop, name, before, rest), out)
213      )

Uses (8)

Used by (1)