@@ -83,8 +83,8 @@ module public AstTraversal =
8383 abstract VisitComponentInfo : SynComponentInfo -> 'T option
8484 default this.VisitComponentInfo ( _ ) = None
8585 /// VisitLetOrUse allows overriding behavior when visiting module or local let or use bindings
86- abstract VisitLetOrUse : SynBinding list * range -> 'T option
87- default this.VisitLetOrUse ( _ , _ ) = None
86+ abstract VisitLetOrUse : TraversePath * ( SynBinding -> 'T option ) * SynBinding list * range -> 'T option
87+ default this.VisitLetOrUse ( _ , _ , _ , _ ) = None
8888 /// VisitType allows overriding behavior when visiting simple pats
8989 abstract VisitSimplePats : SynSimplePat list -> 'T option
9090 default this.VisitSimplePats ( _ ) = None
@@ -158,7 +158,7 @@ module public AstTraversal =
158158 | SynModuleDecl.ModuleAbbrev(_ ident, _ longIdent, _ range) -> None
159159 | SynModuleDecl.NestedModule(_ synComponentInfo, _ isRec, synModuleDecls, _, _ range) -> synModuleDecls |> List.map ( fun x -> dive x x.Range ( traverseSynModuleDecl path)) |> pick decl
160160 | SynModuleDecl.Let(_, synBindingList, range) ->
161- match visitor.VisitLetOrUse( synBindingList, range) with
161+ match visitor.VisitLetOrUse( path , traverseSynBinding path , synBindingList, range) with
162162 | Some x -> Some x
163163 | None -> synBindingList |> List.map ( fun x -> dive x x.RangeOfBindingAndRhs ( traverseSynBinding path)) |> pick decl
164164 | SynModuleDecl.DoExpr(_ sequencePointInfoForBinding, synExpr, _ range) -> traverseSynExpr path synExpr
@@ -364,7 +364,7 @@ module public AstTraversal =
364364 |> pick expr
365365 | SynExpr.TypeApp( synExpr, _, _ synTypeList, _ commas, _, _, _ range) -> traverseSynExpr synExpr
366366 | SynExpr.LetOrUse(_, _, synBindingList, synExpr, range) ->
367- match visitor.VisitLetOrUse( synBindingList, range) with
367+ match visitor.VisitLetOrUse( path , traverseSynBinding path , synBindingList, range) with
368368 | Some x -> Some x
369369 | None ->
370370 [ yield ! synBindingList |> List.map ( fun x -> dive x x.RangeOfBindingAndRhs ( traverseSynBinding path))
@@ -586,7 +586,7 @@ module public AstTraversal =
586586 ] |> pick m
587587 | SynMemberDefn.AutoProperty(_ attribs, _ isStatic, _ id, _ tyOpt, _ propKind, _, _ xmlDoc, _ access, synExpr, _, _) -> traverseSynExpr path synExpr
588588 | SynMemberDefn.LetBindings( synBindingList, _, _, range) ->
589- match visitor.VisitLetOrUse( synBindingList, range) with
589+ match visitor.VisitLetOrUse( path , traverseSynBinding path , synBindingList, range) with
590590 | Some x -> Some x
591591 | None -> synBindingList |> List.map ( fun x -> dive x x.RangeOfBindingAndRhs ( traverseSynBinding path)) |> pick m
592592 | SynMemberDefn.AbstractSlot(_ synValSig, _ memberFlags, _ range) -> None
0 commit comments