NRefactory icon indicating copy to clipboard operation
NRefactory copied to clipboard

The Online Converter messes up object initializers

Open beppe9000 opened this issue 9 years ago • 11 comments

When converting C# to Vb.Net using the Online Converter i found two issues, #513 is the first, and this is the second.

Code with object initializers like this

StudentName student2 = new StudentName
        {
            FirstName = "Craig",
            LastName = "Playstead",
        };

is wrongly translated to this (notice the "Key " parts)

Dim student2 As New StudentName() With { _
    Key .FirstName = "Craig", _
    Key .LastName = "Playstead" _
}

instead of this

Dim student2 As New StudentName() With { _
    .FirstName = "Craig", _
    .LastName = "Playstead" _
}

beppe9000 avatar Feb 09 '16 20:02 beppe9000

The code converter feature is part of SharpDevelop 4.x, which doesn't use NRefactory 5. So the bugs would need to go to SharpDevelop for the old branches (however, it is unlikely that this would be fixed for 4.x)

christophwille avatar Feb 10 '16 06:02 christophwille

Was the feature dropped?

beppe9000 avatar Feb 12 '16 13:02 beppe9000

SD5 does support only C# so far, so it simply isn't there for the obvious reason of no VB support.

christophwille avatar Feb 12 '16 15:02 christophwille

I do not understand: has it been rewritten from scratch?

beppe9000 avatar Feb 12 '16 16:02 beppe9000

NR5 is a complete rewrite, yes

christophwille avatar Feb 12 '16 16:02 christophwille

Couldnt'y the old vb part be used as a dependency meanwhile? Or is it completely incompatible?

beppe9000 avatar Feb 12 '16 16:02 beppe9000

Totally different architecture and design

christophwille avatar Feb 12 '16 16:02 christophwille

Oh, I see.. Do you happen to know when (1month, 6 moths, 1 year, forever?) vb support will added?

beppe9000 avatar Feb 12 '16 16:02 beppe9000

We don't plan to add VB support.

NRefactory at this point is mostly dead -- we don't plan to add any new features, not even C# 6 support. Use Microsoft's Roslyn instead. It shouldn't be hard to write a code converter based on Roslyn, though I'm not aware of any such project.

dgrunwald avatar Feb 12 '16 21:02 dgrunwald

But what happened to NRefactory Roslyn's branch? i was working on the VB plugin, but i see is now completed out of scope..

Will sharpdevelop use another plugin for syntax highlight / code completion other than nrefactory?

luca-saggese avatar Feb 12 '16 22:02 luca-saggese

The NRefactory Roslyn branch only ever contained refactorings ported to Roslyn. Those were moved to the RefactoringEssentials repository.

Pretty much everything else in NRefactory duplicates Roslyn, so there isn't really a point to having NRefactory anymore. MonoDevelop is moving to Roslyn instead. SharpDevelop doesn't have the manpower to move anywhere.

dgrunwald avatar Feb 13 '16 10:02 dgrunwald