Skip to content

Commit 2101df0

Browse files
vasily-kirichenkoKevinRansom
authored andcommitted
add Path and default traverse into VisitLetOrUse (#5158)
1 parent 7f40a50 commit 2101df0

File tree

2 files changed

+6
-6
lines changed

2 files changed

+6
-6
lines changed

src/fsharp/service/ServiceParseTreeWalk.fs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -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

src/fsharp/service/ServiceUntypedParse.fs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1289,7 +1289,7 @@ module UntypedParseImpl =
12891289
if rangeContainsPos range pos then Some CompletionContext.Invalid
12901290
else None
12911291

1292-
member __.VisitLetOrUse(bindings, range) =
1292+
member __.VisitLetOrUse(_, _, bindings, range) =
12931293
match bindings with
12941294
| [] when range.StartLine = pos.Line -> Some CompletionContext.Invalid
12951295
| _ -> None

0 commit comments

Comments
 (0)