def plan.use
bolt@1.27.0.0 · src/syntax/bind.bend:533
import bolt@1.27.0.0/src/syntax/bind.bend as Bind
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
533
534def plan.use(mode: Mode, kk: Lex.TokKind, +rest: Tree.Node) -> Bool:
535 match mode kk:
536 case MTeleType{_kind} Lex.TName{}:
537 True{}
538 case MTeleType{_kind} Lex.TUpper{}:
539 True{}
540 case MTeleType{_kind} Lex.TDotted{}:
541 True{}
542 case MLhs{_outer, _kind} Lex.TUpper{}:
543 plan.group(rest)
544 case MLhs{_outer, _kind} Lex.TDotted{}:
545 plan.group(rest)
546 case MLhsType{_outer} Lex.TName{}:
547 True{}
548 case MLhsType{_outer} Lex.TUpper{}:
549 True{}
550 case MLhsType{_outer} Lex.TDotted{}:
551 True{}
552 case MTerm{} Lex.TName{}:
553 Bool.not(plan.lam(rest))
554 case MTerm{} Lex.TUpper{}:
555 True{}
556 case MTerm{} Lex.TDotted{}:
557 True{}
558 case _other _k:
559 False{}