Skip to content

Commit cae4888

Browse files
Do TODOs
1 parent 32f1792 commit cae4888

File tree

7 files changed

+11
-15
lines changed

7 files changed

+11
-15
lines changed

src/Compiler/Driver/GraphChecking/FileContentMapping.fs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -408,9 +408,7 @@ let visitSynExpr (e: SynExpr) : FileContentEntry list =
408408
| SynExprRecordFieldOrSpread.Field(SynExprRecordField(fieldName = (si, _); expr = expr)) ->
409409
yield! visitSynLongIdent si
410410
yield! collectFromOption visitSynExpr expr
411-
| SynExprRecordFieldOrSpread.Spread _ ->
412-
// TODO.
413-
()
411+
| SynExprRecordFieldOrSpread.Spread(spread = SynExprSpread(expr = expr)) -> yield! visitSynExpr expr
414412
]
415413

416414
match baseInfo, copyInfo with

src/Compiler/Service/FSharpParseFileResults.fs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -639,7 +639,7 @@ type FSharpParseFileResults(diagnostics: FSharpDiagnostic[], input: ParsedInput,
639639
fs
640640
|> List.choose (function
641641
| SynExprRecordFieldOrSpread.Field(SynExprRecordField(expr = e)) -> e
642-
| _ -> None (* TODO. *) )
642+
| SynExprRecordFieldOrSpread.Spread(spread = SynExprSpread(expr = e)) -> Some e)
643643
)
644644

645645
| SynExpr.AnonRecd(copyInfo = copyExprOpt; recordFields = fs) ->
@@ -650,9 +650,9 @@ type FSharpParseFileResults(diagnostics: FSharpDiagnostic[], input: ParsedInput,
650650
yield!
651651
walkExprs (
652652
fs
653-
|> List.choose (function
654-
| SynExprAnonRecordFieldOrSpread.Field(SynExprAnonRecordField(_, _, e, _), _) -> Some e
655-
| SynExprAnonRecordFieldOrSpread.Spread _ -> None (* TODO. *) )
653+
|> List.map (function
654+
| SynExprAnonRecordFieldOrSpread.Field(SynExprAnonRecordField(_, _, e, _), _)
655+
| SynExprAnonRecordFieldOrSpread.Spread(spread = SynExprSpread(expr = e)) -> e)
656656
)
657657

658658
| SynExpr.ObjExpr(argOptions = args; bindings = bs; members = ms; extraImpls = is) ->

src/Compiler/Service/ServiceInterfaceStubGenerator.fs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -854,7 +854,7 @@ module InterfaceStubGenerator =
854854
List.tryPick
855855
(function
856856
| SynExprRecordFieldOrSpread.Field(SynExprRecordField(expr = e)) -> Option.bind walkExpr e
857-
| _ -> None (* TODO. *) )
857+
| SynExprRecordFieldOrSpread.Spread(spread = SynExprSpread(expr = e)) -> walkExpr e)
858858
fields
859859

860860
| SynExpr.New(_, _synType, synExpr, _range) -> walkExpr synExpr

src/Compiler/Service/ServiceParseTreeWalk.fs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -463,9 +463,8 @@ module SyntaxTraversal =
463463
| SynExprAnonRecordFieldOrSpread.Field(SynExprAnonRecordField(field, _, x, _), _) ->
464464
yield dive () field.Range (fun () -> visitor.VisitRecordField(path, copyOpt |> Option.map fst, Some field))
465465
yield dive x x.Range traverseSynExpr
466-
| SynExprAnonRecordFieldOrSpread.Spread _ ->
467-
// TODO.
468-
()
466+
| SynExprAnonRecordFieldOrSpread.Spread(spread = SynExprSpread(expr = expr)) ->
467+
yield dive expr expr.Range traverseSynExpr
469468
]
470469
|> pick expr
471470

@@ -919,7 +918,7 @@ module SyntaxTraversal =
919918
|> List.tryPick (function
920919
| SynFieldOrSpread.Field(SynField(attributes = attributes)) ->
921920
attributeApplicationDives path attributes |> pick m attributes
922-
| SynFieldOrSpread.Spread _ -> None) // TODO.
921+
| SynFieldOrSpread.Spread _ -> None)
923922
|> Option.orElseWith (fun () -> visitor.VisitRecordDefn(path, fieldsAndSpreads, m))
924923

925924
and traverseEnumDefn path cases m =

src/Compiler/Service/ServiceParsedInputOps.fs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -823,7 +823,7 @@ module ParsedInput =
823823
fields
824824
|> List.tryPick (function
825825
| SynExprRecordFieldOrSpread.Field(SynExprRecordField(expr = e)) -> e |> Option.bind (walkExprWithKind parentKind)
826-
| _ -> None (* TODO. *) ))
826+
| SynExprRecordFieldOrSpread.Spread(spread = SynExprSpread(expr = e)) -> walkExprWithKind parentKind e))
827827

828828
| SynExpr.ObjExpr(objType = ty; bindings = bindings; members = ms; extraImpls = ifaces) ->
829829
let bindings = unionBindingAndMembers bindings ms

src/Compiler/Service/ServiceStructure.fs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -442,7 +442,7 @@ module Structure =
442442
recordFields
443443
|> List.choose (function
444444
| SynExprRecordFieldOrSpread.Field(SynExprRecordField(expr = e)) -> e
445-
| _ -> None (* TODO. *) )
445+
| SynExprRecordFieldOrSpread.Spread(spread = SynExprSpread(expr = e)) -> Some e)
446446
|> List.iter parseExpr
447447
// exclude the opening `{` and closing `}` of the record from collapsing
448448
let m = Range.modBoth 1 1 r

src/Compiler/Service/SynExpr.fs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1114,7 +1114,6 @@ module SynExpr =
11141114
| SynExprRecordFieldOrSpread.Field(SynExprRecordField(
11151115
expr = Some(SynExpr.Paren(expr = Is inner)); blockSeparator = Some _)) :: SynExprRecordFieldOrSpread.Field(SynExprRecordField(
11161116
fieldName = SynLongIdent(id = id :: _), _)) :: _ -> problematic inner.Range id.idRange
1117-
// TODO: Spreads?
11181117
| _ :: recordFields -> loop recordFields
11191118

11201119
loop recordFields

0 commit comments

Comments
 (0)