@@ -445,12 +445,12 @@ module SyntaxTraversal =
445445 | SynExpr.AnonRecd( copyInfo = copyOpt; recordFields = fields) ->
446446 [
447447 match copyOpt with
448- | Some( expr, blockSep ) ->
448+ | Some( expr, ( withRange , _) ) ->
449449 yield dive expr expr.Range traverseSynExpr
450450
451451 yield
452- dive () blockSep.Range ( fun () ->
453- if posGeq pos blockSep.Range .End then
452+ dive () withRange ( fun () ->
453+ if posGeq pos withRange .End then
454454 // special case: caret is after WITH
455455 // { x with $ }
456456 visitor.VisitRecordField( path, Some expr, None)
@@ -503,24 +503,24 @@ module SyntaxTraversal =
503503 traverseSynExpr expr)
504504
505505 match sepOpt with
506- | Some blockSep ->
506+ | Some( sep , scPosOpt ) ->
507507 yield
508- dive () blockSep.Range ( fun () ->
508+ dive () sep ( fun () ->
509509 // special case: caret is below 'inherit' + one or more fields are already defined
510510 // inherit A()
511511 // $
512512 // field1 = 5
513- diveIntoSeparator inheritRange.StartColumn blockSep.Position None)
513+ diveIntoSeparator inheritRange.StartColumn scPosOpt None)
514514 | None -> ()
515515 | _ -> ()
516516
517517 match copyOpt with
518- | Some( expr, blockSep ) ->
518+ | Some( expr, ( withRange , _) ) ->
519519 yield dive expr expr.Range traverseSynExpr
520520
521521 yield
522- dive () blockSep.Range ( fun () ->
523- if posGeq pos blockSep.Range .End then
522+ dive () withRange ( fun () ->
523+ if posGeq pos withRange .End then
524524 // special case: caret is after WITH
525525 // { x with $ }
526526 visitor.VisitRecordField( path, Some expr, None)
@@ -563,30 +563,30 @@ module SyntaxTraversal =
563563 | None -> ()
564564
565565 match sepOpt with
566- | Some blockSep ->
566+ | Some( sep , scPosOpt ) ->
567567 yield
568- dive () blockSep.Range ( fun () ->
568+ dive () sep ( fun () ->
569569 // special case: caret is between field bindings
570570 // field1 = 5
571571 // $
572572 // field2 = 5
573- diveIntoSeparator offsideColumn blockSep.Position copyOpt)
573+ diveIntoSeparator offsideColumn scPosOpt copyOpt)
574574 | None -> ()
575575
576576 | SynExprRecordFieldOrSpread.Spread( SynExprSpread( spreadRange = spreadRange; expr = expr; without = _ todo),
577577 sepOpt) ->
578578 yield dive expr expr.Range traverseSynExpr
579579
580580 match sepOpt with
581- | Some blockSep ->
581+ | Some( sep , scPosOpt ) ->
582582 yield
583- dive () blockSep.Range ( fun () ->
583+ dive () sep ( fun () ->
584584 // special case: caret is between field bindings
585585 // field1 = 5
586586 // $
587587 // field2 = 5
588588 let offsideColumn = spreadRange.StartColumn
589- diveIntoSeparator offsideColumn blockSep.Position copyOpt)
589+ diveIntoSeparator offsideColumn scPosOpt copyOpt)
590590 | None -> ()
591591 ]
592592 |> pick expr
0 commit comments