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)}

Uses (13)

Used by (1)