Bind.plan.binder: def of bolt@1.27.0.0 Import: import bolt@1.27.0.0/src/syntax/bind.bend as Bind Lines 598-619 of bolt@1.27.0.0/src/syntax/bind.bend: https://jend.leeeet.dev/read.txt?path=bolt@1.27.0.0/src/syntax/bind.bend&start_line=598&end_line=619 import Base import bolt@1.27.0.0/src/syntax/lex.bend as Lex import bolt@1.27.0.0/src/syntax/tree.bend as Tree # the binder a leaf records: its own name, or for `op name`, `@x:` and `&x:` # the name after it. A telescope's binder notes its declaration def plan.binder(mode: Mode, kk: Lex.TokKind, +tt: String, ll: U32, cc: U32, +rest: Tree.Node) -> Bind: match mode kk: case MCtor{} _k: Bind{tt, ll, cc, KCtor{}, ""} case MName{} _k: Bind{tt, ll, cc, KItem{}, ""} case MTele{kind} Lex.TOp{}: plan.ahead(plan.peek(rest), kind, tt ++ plan.ahead_name(plan.peek(rest)) ++ render(plan.tail(rest))) case MTele{kind} _k: Bind{tt, ll, cc, kind, "" ++ tt ++ render(rest)} case MTeleType{_kind} _k: plan.ahead(plan.peek(rest), KTypeVar{}, "") case MLhs{_outer, kind} _k: Bind{tt, ll, cc, kind, ""} case MTerm{} Lex.TName{}: Bind{tt, ll, cc, KLocal{}, ""} case MTerm{} _k: plan.ahead(plan.peek(rest), KTypeVar{}, "") case _other _k: Bind{tt, ll, cc, KLocal{}, ""} Uses (13): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=String https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=String.append https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=U32 https://jend.leeeet.dev/definition.txt?path=bolt@1.27.0.0/src/syntax/bind.bend&name=Bind https://jend.leeeet.dev/definition.txt?path=bolt@1.27.0.0/src/syntax/bind.bend&name=BindKind https://jend.leeeet.dev/definition.txt?path=bolt@1.27.0.0/src/syntax/bind.bend&name=Mode https://jend.leeeet.dev/definition.txt?path=bolt@1.27.0.0/src/syntax/bind.bend&name=plan.ahead https://jend.leeeet.dev/definition.txt?path=bolt@1.27.0.0/src/syntax/bind.bend&name=plan.ahead_name https://jend.leeeet.dev/definition.txt?path=bolt@1.27.0.0/src/syntax/bind.bend&name=plan.peek https://jend.leeeet.dev/definition.txt?path=bolt@1.27.0.0/src/syntax/bind.bend&name=plan.tail https://jend.leeeet.dev/definition.txt?path=bolt@1.27.0.0/src/syntax/bind.bend&name=render https://jend.leeeet.dev/definition.txt?path=bolt@1.27.0.0/src/syntax/lex.bend&name=TokKind https://jend.leeeet.dev/definition.txt?path=bolt@1.27.0.0/src/syntax/tree.bend&name=Node