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

F# Shim - Round 2 #35591

Merged
merged 25 commits into from
Jun 11, 2019
Merged

F# Shim - Round 2 #35591

merged 25 commits into from
Jun 11, 2019

Conversation

TIHan
Copy link
Contributor

@TIHan TIHan commented May 8, 2019

This will actually remove F#'s use of Roslyn IVTs, except for Microsoft.VisualStudio.LanguageServices.

I've added a new project, Microsoft.CodeAnalysis.ExternalAccess.FSharp.UnitTests, in a FSharpTest folder next to FSharp in the ExternalAccess folder. Currently, it is just testing enums that were shimmed over. I will add a test for the Glyph enum which is related to this issue: #34971

@TIHan TIHan requested review from a team as code owners May 8, 2019 19:57
@TIHan TIHan changed the title [WIP] F# Shim - Round 2 F# Shim - Round 2 May 26, 2019
@TIHan
Copy link
Contributor Author

TIHan commented May 26, 2019

This is basically done until some review.

However, I'm having some trouble getting DocumentDiagnosticAnalyzers to run. None of them seem to work since I moved them over to the ExternalAccess.FSharp. But, with the services that I have tested at this point, inline rename, block structure, navigation, those seem to work.

@TIHan
Copy link
Contributor Author

TIHan commented May 28, 2019

This is ready. @sharwell helped me get the DocumentDiagnosticAnalyzers working again. I've tested all the services shimmed; they seem to work. Once we get this into preview we can dogfood a lot more.

Copy link
Contributor

@heejaechang heejaechang left a comment

Choose a reason for hiding this comment

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

nice!

@heejaechang
Copy link
Contributor

nice that those IVT are now removed except VS one for step 3.
there is no public API added in FSharp Access and no change in Roslyn side.
changes in ExternalAccess is up to you guys, so all looks good. I like that you added unit test as well.

}
}

internal static FSharpGlyph GetExpectedFSharpGlyph(Microsoft.CodeAnalysis.Glyph glyph)
Copy link
Member

Choose a reason for hiding this comment

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

💡 Since this is a test, can you make it use reflection?

}
}

internal static Microsoft.CodeAnalysis.Glyph GetExpectedGlyph(FSharpGlyph glyph)
Copy link
Member

Choose a reason for hiding this comment

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

💡 Since this is test code, can you make it use reflection?

}
}

internal static FSharpSignatureHelpTriggerReason GetExpectedTriggerReason(SignatureHelpTriggerReason triggerReason)
Copy link
Member

Choose a reason for hiding this comment

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

💡 Since this is a test, can it use reflection on the member name?

}
}

internal static NavigateToMatchKind GetExpectedNavigateToMatchKind(FSharpNavigateToMatchKind kind)
Copy link
Member

Choose a reason for hiding this comment

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

💡 Since this is test code, can it use reflection on the member name?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

We could, but I don't know if that's really what we want. What if we have a mapping between enum cases where the name doesn't match?

Copy link
Contributor

@heejaechang heejaechang left a comment

Choose a reason for hiding this comment

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

looks good!

@TIHan TIHan closed this Jun 10, 2019
@TIHan TIHan reopened this Jun 10, 2019
@TIHan TIHan closed this Jun 11, 2019
@TIHan TIHan reopened this Jun 11, 2019
@jinujoseph jinujoseph added this to the 16.2 milestone Jun 11, 2019
@jinujoseph
Copy link
Contributor

approved for 16.2.preview4

@TIHan TIHan merged commit 0d44ad1 into dotnet:master Jun 11, 2019
brianrourkeboll added a commit to brianrourkeboll/roslyn that referenced this pull request Sep 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants