Skip to content

Conversation

@cartermp
Copy link
Contributor

Another simple one. I should probably move the type extension into the compiler service proper, but first I wanted to check that this is all good.

image
image

This also supports the return! and yield! variants, and like, nobody will ever do that, but it was trivial to support it.

Comment on lines 16 to 29
[<AutoOpen>]
module Traversal =
type FSharpParseFileResults with
member scope.TryRangeOfExprInYieldOrReturn pos =
match scope.ParseTree with
| Some parseTree ->
AstTraversal.Traverse(pos, parseTree, { new AstTraversal.AstVisitorBase<_>() with
member __.VisitExpr(_path, _, defaultTraverse, expr) =
match expr with
| SynExpr.YieldOrReturn(_, expr, range)
| SynExpr.YieldOrReturnFrom(_, expr, range) when rangeContainsPos range pos ->
Some expr.Range
| _ -> defaultTraverse expr })
| None -> None
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This can be moved into thecompiler service and with tests, I just wanted to localize it for easreof development

Copy link
Contributor Author

@cartermp cartermp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeet

@cartermp cartermp added this to the 16.9 milestone Nov 25, 2020
@cartermp
Copy link
Contributor Author

cartermp commented Dec 7, 2020

Will merge once green

@cartermp cartermp merged commit d8ea1d0 into dotnet:main Dec 7, 2020
@cartermp cartermp deleted the remove-return branch December 7, 2020 21:11
nosami pushed a commit to xamarin/visualfsharp that referenced this pull request Feb 23, 2021
nosami pushed a commit to xamarin/visualfsharp that referenced this pull request Jan 26, 2022
nosami pushed a commit to xamarin/visualfsharp that referenced this pull request Jan 26, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants