From 690d353d37392171a3183a046b5f371b57f9bb55 Mon Sep 17 00:00:00 2001 From: Daniel Grunwald Date: Wed, 3 Sep 2008 18:42:33 +0000 Subject: [PATCH] Fixed forum-8290: Do not add "static" to constants when converting a VB module to a C# class. git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/3.0@3476 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61 --- .../Project/Src/Visitors/ToCSharpConvertVisitor.cs | 3 ++- .../Test/Output/CSharp/VBNetToCSharpConverterTest.cs | 10 ++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/Libraries/NRefactory/Project/Src/Visitors/ToCSharpConvertVisitor.cs b/src/Libraries/NRefactory/Project/Src/Visitors/ToCSharpConvertVisitor.cs index 4727b1f829..f8430f6a98 100644 --- a/src/Libraries/NRefactory/Project/Src/Visitors/ToCSharpConvertVisitor.cs +++ b/src/Libraries/NRefactory/Project/Src/Visitors/ToCSharpConvertVisitor.cs @@ -37,7 +37,8 @@ namespace ICSharpCode.NRefactory.Visitors } FieldDeclaration fd = node as FieldDeclaration; if (fd != null) { - fd.Modifier |= Modifiers.Static; + if ((fd.Modifier & Modifiers.Const) == 0) + fd.Modifier |= Modifiers.Static; } } } diff --git a/src/Libraries/NRefactory/Test/Output/CSharp/VBNetToCSharpConverterTest.cs b/src/Libraries/NRefactory/Test/Output/CSharp/VBNetToCSharpConverterTest.cs index 9a5dc22eef..321a8774d9 100644 --- a/src/Libraries/NRefactory/Test/Output/CSharp/VBNetToCSharpConverterTest.cs +++ b/src/Libraries/NRefactory/Test/Output/CSharp/VBNetToCSharpConverterTest.cs @@ -691,5 +691,15 @@ static int static_Test2_j = 0;"); { TestStatement("For Me.Field = 1 To 10 : Next Me.Field", "for (this.Field = 1; this.Field <= 10; this.Field++) {\n}"); } + + [Test] + public void ConstModuleMember() + { + TestProgram("Module Test : Public Const C As Integer = 0 : End Module", + "static class Test\r\n" + + "{\r\n" + + " public const int C = 0;\r\n" + + "}"); + } } }