Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix navigation for external enums, DUs and name resultion for members #15270

Merged
merged 4 commits into from
May 29, 2023

Conversation

vzarytovskii
Copy link
Member

Adds processing of FSharpField and FSharpUnionCase when navigating to external definition.
Adds DeclaringEntity for the DUs.
Adds checking of declaring entity compiled names, to navigate to proper symbol in case of the nested modules.

Fixes #15160 #15159

@psfinaki No real idea of how to test it with real external definitions.

@vzarytovskii vzarytovskii requested a review from a team as a code owner May 29, 2023 09:07
@vzarytovskii vzarytovskii merged commit 146611d into dotnet:main May 29, 2023
22 checks passed
@vzarytovskii vzarytovskii deleted the navigation-fix branch May 29, 2023 14:38
Copy link
Member

@psfinaki psfinaki left a comment

Choose a reason for hiding this comment

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

@vzarytovskii I don't think we have capabilities to test external item navigation in the editor tests so far. We can add an int test later though

@@ -20,7 +20,7 @@ FSharp.Compiler.AbstractIL.IL+ILArgConvention: Boolean IsCDecl
FSharp.Compiler.AbstractIL.IL+ILArgConvention: Boolean IsDefault
FSharp.Compiler.AbstractIL.IL+ILArgConvention: Boolean IsFastCall
FSharp.Compiler.AbstractIL.IL+ILArgConvention: Boolean IsStdCall
FSharp.Compiler.AbstractIL.IL+ILArgConvention: Boolean IsThisCall
FSharp.Compiler.AbstractIL.IL+ILArgConvention: Boolean IsThisCal
Copy link
Member

Choose a reason for hiding this comment

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

typo?

Copy link
Member Author

Choose a reason for hiding this comment

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

Hm, that is weird. Not sure where did it come from. Will fix it.

Copy link
Member

Choose a reason for hiding this comment

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

Thanks!

vzarytovskii added a commit that referenced this pull request May 31, 2023
* LexFilter: cleanup whitespaces (#15250)

* Parser: rewrite tuple expr recovery to allow better items recovery (#15227)

* Checker: recover on unknown record fields (#15214)

* Make anycpu work correctly on Arm64 (#15234)

* Makeanuycpu work correctly on arm64

* Update Microsoft.FSharp.Targets

* Fix15254 (#15257)

* Deploy only compressed metadata for dotnet sdk implementation (#15230)

* compress fsharp for sdk

* Update FSharp.DependencyManager.Nuget.fsproj

* Parser: more binary expressions recovery (#15255)

* Use background CancellableTask in VS instead of async & asyncMaybe (#15187)

* wip

* iteration

* iteration: quickinfo, help context

* fantomas

* todo

* moved tasks to editor project, fixed comment colouring bug

* fantomas

* Fantomas + PR feedback

* Update vsintegration/src/FSharp.Editor/Hints/HintService.fs

Co-authored-by: Andrii Chebukin <xperiandri@live.ru>

* Revert "Update vsintegration/src/FSharp.Editor/Hints/HintService.fs"

This reverts commit bf51b31.

---------

Co-authored-by: Andrii Chebukin <xperiandri@live.ru>

* Name resolution: actually add reported item when trying to replace (#14772)

Co-authored-by: Tomas Grosup <tomasgrosup@microsoft.com>

* Move flatErrors tests from fsharpqa (#15251)

* temp

* tests

* flaterrors

* update tests

* preserve ranges in result of UnsolvedTyparsOfModuleDef to help with warnings (#15243)

* preserve ranges in result of UnsolvedTyparsOfModuleDef to help with warnings

* use fallback range only for range0

* pattern match instead of Option.isSome

* Add test

* Revert "Add test"

This reverts commit e05e808.

* Make `FSharpReferencedProject` representation public (#15266)

* Make FSharpReferencedProject representation public

* Update surface area

* Fantomas

* Fantomas

---------

Co-authored-by: Tomas Grosup <tomasgrosup@microsoft.com>

* Fix navigation for external enums, DUs and name resultion for members (#15270)

* Update FSharp.Compiler.Service.SurfaceArea.netstandard20.debug.bsl

* Add warning when compiler selects among multiple record type candidates, fslang-suggestion 1091 (#15256)

* Protect assembly exploration for C# extension members (#15271)

* Compute ValInline.Never for externs (#15274)

* Compute ValInline.Never for externs

---------

Co-authored-by: Eugene Auduchinok <eugene.auduchinok@jetbrains.com>
Co-authored-by: Kevin Ransom (msft) <codecutter@hotmail.com>
Co-authored-by: Vlad Zarytovskii <vzaritovsky@hotmail.com>
Co-authored-by: Andrii Chebukin <xperiandri@live.ru>
Co-authored-by: Tomas Grosup <tomasgrosup@microsoft.com>
Co-authored-by: dawe <dawedawe@posteo.de>
vzarytovskii added a commit that referenced this pull request Jun 1, 2023
Co-authored-by: Andrii Chebukin <xperiandri@live.ru>
Co-authored-by: Tomas Grosup <tomasgrosup@microsoft.com>
Co-authored-by: Eugene Auduchinok <eugene.auduchinok@jetbrains.com>
Co-authored-by: Kevin Ransom (msft) <codecutter@hotmail.com>
Co-authored-by: Vlad Zarytovskii <vzaritovsky@hotmail.com>
Co-authored-by: dawe <dawedawe@posteo.de>
Fix15254 (#15257)
Fix navigation for external enums, DUs and name resultion for members (#15270)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

Navigate to external definition points to the wrong function
4 participants