def Declarations.node

bend-lint-api@0.2.0.0 · linter/lint.bend:722

import bend-lint-api@0.2.0.0/linter/lint.bend as Lint
import Base
import bend-lint-api@0.2.0.0/shared/lists.bend as Lists

722# A node's declaration, if it declares a name, with its uses, onto `out`.
723def Declarations.node(
724  +uses: Uses,
725  +node: Node,
726  out: List<&2, Declaration>
727) -> List<&2, Declaration>:
728  match uses node:
729    case Uses{sources, globals, binders, imported} Node{Import{t}, name, s, k, f}:
730      Declaration{
731        node,
732        Declarations.imported(
733          String.is_empty(Declarations.namespace(sources, t, None{})),
734          name,
735          imported
736        )
737      }
738        <> out
739    case _ _:
740      Lists.onto(
741        &2,
742        Declaration,
743        Declarations.declared(Syntax.declares(Node.syntax(node)), node, uses),
744        out
745      )

Uses (13)

Used by (1)