def check.go
bolt@1.27.0.0 · src/rules/style/doc.bend:67
import bolt@1.27.0.0/src/rules/style/doc.bend as Doc
import Base
import bolt@1.27.0.0/src/finding.bend as F
import bolt@1.27.0.0/src/syntax/outline.bend as Outline
import bolt@1.27.0.0/src/lazy/lazy.bend as Lazy
67def check.go(items: List<&2, Outline.Item>, +path: String, +lines: List<&2, String>) -> List<&2, F.Finding>:
68 match items:
69 case Nil{}:
70 Nil{}
71 case Con{Outline.Item{+k, +name, +line, _sig, _doc, _p}, rest}:
72 +more = check.go(rest, path, lines)
73 Bool.pick(List<&2, F.Finding>,
74 Lazy.and_then(Bool.and(needs(k), Bool.not(exempt(name))), _u => Bool.not(check.above(lines, line))),
75 F.Finding{path, line, 0, 0, "doc", what(k) ++ " " ++ name ++ " has no comment above it."} <> more, more)