def Covering.of

bend-lint-rules@0.2.0.0 · lib/linter/directives.bend:727

import bend-lint-rules@0.2.0.0/lib/linter/directives.bend as Directives
import Base

727# The lines a directive covers; `last` is the file's last line.
728def Covering.of(
729  said: Said,
730  lines: List<&2, Bool>,
731  closed: List<&2, Closed>,
732  last: U32
733) -> Maybe<&2, Covering>:
734  match said:
735    case Said{Directive{a, WholeFile{}, r, sev, c, i}}:
736      Some{Covering{Directive{a, WholeFile{}, r, sev, c, i}, 0, last}}
737    case Said{Directive{a, SameLine{}, r, sev, Comment{b, e, +l, t, body}, i}}:
738      Some{Covering{Directive{a, SameLine{}, r, sev, Comment{b, e, l, t, body}, i}, l, l}}
739    case Said{Directive{a, NextLine{}, r, sev, Comment{b, e, +l, t, body}, i}}:
740      Some{
741        Covering.next(
742          Directive{a, NextLine{}, r, sev, Comment{b, e, l, t, body}, i},
743          Lines.next_code(lines, None{}, 0, l)
744        )
745      }
746    case Said{Directive{a, Begin{}, r, sev, Comment{b, e, +l, t, body}, +i}}:
747      Some{
748        Covering{
749          Directive{a, Begin{}, r, sev, Comment{b, e, l, t, body}, i},
750          l,
751          Maybe.default(&2, U32, Closed.find(closed, None{}, i), last)
752        }
753      }
754    case _:
755      None{}

Uses (14)

Used by (1)