def defs

bend-lint-rules@0.2.0.0 · performance/repeated_call.bend:258

import bend-lint-rules@0.2.0.0/performance/repeated_call.bend as RepeatedCall
import Base
import bend-lint-api@0.2.0.0/linter/lint.bend as Lint
import bend-lint-rules@0.2.0.0/performance/loop_invariant_call.bend as Invariant

258def defs(
259  nodes: List<&2, Lint.Node>,
260  +loops: List<&2, String>,
261  +program: Map<&2, Maybe<&2, Lint.Def>>,
262  out: List<&2, Lint.Finding>
263) -> List<&2, Lint.Finding>:
264  match nodes:
265    case Nil{}:
266      List.reverse(&2, Lint.Finding, out)
267    case Con{Lint.Node{Lint.Definition{t, u}, +n, s, +k, f}, rest}:
268      defs(
269        rest,
270        loops,
271        program,
272        judged(
273          calls.of(
274            Invariant.is_proof(k),
275            loops,
276            program,
277            Lint.Node{Lint.Definition{t, u}, n, s, k, f}
278          ),
279          [],
280          n,
281          out
282        )
283      )
284    case Con{node, rest}:
285      defs(rest, loops, program, out)

Uses (12)

Used by (1)