-
Notifications
You must be signed in to change notification settings - Fork 265
How to implement C# 6.0+ support #532
Comments
For C# 6 support in NRefactory, the answer is "pretty much the whole codebase". Keep in mind that NRefactory is nearly a full C# compiler frontend. The parser is shared with the Mono compiler, and NRefactory doesn't do any codegen, but otherwise it implements pretty much the full C# specification.
Of course, not all language changes are new syntactic constructs... there's plenty of stuff in C# 7 that requires touching various other stuff in NRefactory (type inference, overload resolution, ...). But you can ignore those as long as you don't need code completion, go to definition, and find references to be perfectly accurate. |
Great, this sounds like lots of help already. I was also already on the path of plugging in Roslyn and it seems like the sanest option for the long term. For the short term, we will explore the repo to get an understanding of how tightly it's still coupled with SharpDevelop, and if we can reduce it to an interface which anyone can use to plug in whatever compiler they want, that would be an awesome start. |
Hello @xwiz , @dgrunwald , can you guys confirm if you have already converted or any progress on c#7 support NRefactory, or is it still under development to migrate to Roslyn? do you have some information? |
No one is working on NRefactory anymore. Anyone still stuck on NRefactory should migrate to Roslyn. Of the main open-source NRefactory users I am aware of:
|
Hello,
We love SharpDevelop at our organization and prefer it many times better to any other that exists mainly because of the lightness and cost too. We would like to continue the development maybe in a new project/repo but need guidance on the most crucial place to start with (which I believe is C# 6.0+ support). Is it possible you can provide some guidelines/hint on where to start, what files to look at, what to understand, etc. Thank you
The text was updated successfully, but these errors were encountered: