def argument

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

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

166# The findings about an argument of a call of the loop `name`, if it appends; `before` and `after` are the call's other
167# nodes.
168def argument(
169  arg: Lint.Node,
170  loop: Loop,
171  name: String,
172  before: List<&2, Lint.Node>,
173  after: List<&2, Lint.Node>
174) -> List<&2, Lint.Finding>:
175  match arg:
176    case Lint.Node{
177      Lint.Application{},
178      n,
179      Some{span},
180      Con{Lint.Node{Lint.Reference{callee}, rn, rs, rk, rf}, +parts},
181      f
182    }:
183      appended(
184        Append.of(callee, Lists.length(&2, Lint.Node, parts)),
185        parts,
186        loop,
187        name,
188        span,
189        before,
190        after
191      )
192    case _:
193      []

Uses (10)

Used by (1)