def check.go
bolt@1.27.0.0 · src/rules/suspicious/eager.bend:149
import bolt@1.27.0.0/src/rules/suspicious/eager.bend as Eager
import Base
import bolt@1.27.0.0/src/finding.bend as F
import bolt@1.27.0.0/src/lazy/lazy.bend as Lazy
import bolt@1.27.0.0/src/rules/calls.bend as Calls
149def check.go(
150 ds: List<&2, Calls.Def>,
151 +ns: List<&2, String>,
152 +path: String,
153 acc: List<&2, List<&2, F.Finding>>
154) -> List<&2, F.Finding>:
155 match ds:
156 case Nil{}:
157 List.concat(&2, F.Finding, List.reverse(&2, List<&2, F.Finding>, acc))
158 case Con{Calls.Def{+name, +sig, body}, rest}:
159 check.go(rest, ns, path,
160 Lazy.stop(List<&2, F.Finding>, Calls.exempt(path, sig), [],
161 _u => work(body, ns, name, path, False{}, 9, False{})) <> acc)