Skip to content

FSharp Shim - First Phase#34945

Merged
sharwell merged 33 commits intodotnet:masterfrom
TIHan:fsharp-shim
Apr 19, 2019
Merged

FSharp Shim - First Phase#34945
sharwell merged 33 commits intodotnet:masterfrom
TIHan:fsharp-shim

Conversation

@TIHan
Copy link
Copy Markdown
Contributor

@TIHan TIHan commented Apr 11, 2019

This needs to be inserted in conjunction with this PR: dotnet/fsharp#6498

@TIHan TIHan requested review from a team as code owners April 11, 2019 21:53
@TIHan TIHan changed the title [WIP] FSharp Shim - First Phase FSharp Shim - First Phase Apr 12, 2019
@TIHan
Copy link
Copy Markdown
Contributor Author

TIHan commented Apr 12, 2019

Ok, I believe this is ready. // cc @heejaechang @tmat @jinujoseph

How should we coordinate this? The easiest for me is to have a package on myget/etc as fast as possible so I can set the appropriate package version in the F# side of the PR.

Also, which preview will this make it into for dev16.1? I ask because I hope we will have enough time to dogfood. // cc @ManishJayaswal @Pilchie

I've tested the shim out myself and seems to be fine, but having time to dogfood would make us feel better.

Technically, merging this would not break VisualFSharp immediately since we didn't remove IVTs yet, but the F# pr, dotnet/fsharp#6498, contains a fix for an API change from Roslyn. Also, Roslyn wants to modify the internal APIs I have already shimmed; that's why I want to make sure we get this coordinated.

Comment thread src/Features/Core/Portable/Completion/CommonCompletionItem.cs Outdated
@tmat
Copy link
Copy Markdown
Member

tmat commented Apr 12, 2019

Also, which preview will this make it into for dev16.1? I ask because I hope we will have enough time to dogfood. // cc @ManishJayaswal @Pilchie

I think we should keep the current IVTs as they are, merge this PR to master which will produce a nuget package as soon as signed build is done, and once F# repo gets updated to consume this package we can remove the IVTs.

Comment thread src/Tools/ExternalAccess/FSharp/Diagnostics/DiagnosticAnalyzerService.cs Outdated
Comment thread src/Tools/ExternalAccess/FSharp/Diagnostics/DiagnosticCustomTags.cs Outdated
Comment thread src/Tools/ExternalAccess/FSharp/Editor/FSharpContentTypeLanguageService.cs Outdated
Comment thread src/Tools/ExternalAccess/FSharp/Completion/CompletionOptions.cs Outdated
Comment thread src/Tools/ExternalAccess/FSharp/Glyph.cs Outdated
Comment thread src/Tools/ExternalAccess/FSharp/Shared/Options/ServiceFeatureOnOffOptions.cs Outdated
Comment thread src/Tools/ExternalAccess/FSharp/Completion/FSharpCompletionOptions.cs Outdated
[Obsolete("Only used to allow IVTs to work temporarily, will be removed when IVTs are fully removed.")]
public static Microsoft.CodeAnalysis.Glyph Convert(FSharpGlyph glyph)
{
switch (glyph)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This block would be 1/3 the size by using a switch expression:

return glyph switch
{
    FSharpGlyph.None => Microsoft.CodeAnalysis.Glyph.None,
    FSharpGlyph.Assembly => Microsoft.CodeAnalysis.Glyph.Assembly,
    ...
};

No real need to change it until such time as we have a refactoring in place to make it automatic. 😄

@jinujoseph jinujoseph added this to the 16.1.P3 milestone Apr 15, 2019
@jinujoseph jinujoseph added the Community The pull request was submitted by a contributor who is not a Microsoft employee. label Apr 15, 2019
@sharwell
Copy link
Copy Markdown
Contributor

Integration test failure tracked as #35123

@jinujoseph for approval

@sharwell sharwell merged commit af9d30a into dotnet:master Apr 19, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Approved to merge Area-IDE Community The pull request was submitted by a contributor who is not a Microsoft employee.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants