def sites.of
bolt@1.27.0.0 · src/lsp/nav.bend:316
import bolt@1.27.0.0/src/lsp/nav.bend as Nav
import Base
import bolt@1.27.0.0/src/syntax/bind.bend as Bind
316def sites.of(site: Maybe<&2, Bind.Site>, +bb: Bind.Bound) -> Sites:
317 match site:
318 case None{}:
319 Sites{False{}, []}
320 case Some{Bind.SBind{Bind.Bind{name, l, c, Bind.KItem{}, note}}}:
321 Sites{True{}, Bind.item_sites(bb, name)}
322 case Some{Bind.SBind{Bind.Bind{name, l, c, Bind.KCtor{}, note}}}:
323 Sites{True{}, Bind.item_sites(bb, name)}
324 case Some{Bind.SBind{Bind.Bind{name, l, c, k, note}}}:
325 Sites{True{}, Bind.sites(bb, l, c)}
326 case Some{Bind.SUse{Bind.Use{n, l, c, Bind.TLocal{tl, tc}}}}:
327 Sites{True{}, Bind.sites(bb, tl, tc)}
328 case Some{Bind.SUse{Bind.Use{n, l, c, Bind.TItem{name}}}}:
329 Sites{True{}, Bind.item_sites(bb, name)}
330 case Some{Bind.SUse{Bind.Use{n, l, c, other}}}:
331 Sites{False{}, Bind.named_sites(bb, n)}