From 048a4b944a063a4cd2dec512e24936d2c646bb52 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mike=20Kr=C3=BCger?= Date: Thu, 29 Mar 2012 21:59:54 +0200 Subject: [PATCH 1/2] Updated Fdg rules. --- .../InconsistentNamingIssue/DefaultRules.cs | 14 +++++++++++-- .../CodeIssues/InconsistentNamingTests.cs | 21 +++++++++++++++---- 2 files changed, 29 insertions(+), 6 deletions(-) diff --git a/ICSharpCode.NRefactory.CSharp/Refactoring/CodeIssues/InconsistentNamingIssue/DefaultRules.cs b/ICSharpCode.NRefactory.CSharp/Refactoring/CodeIssues/InconsistentNamingIssue/DefaultRules.cs index 179e03f65d..658a17e502 100644 --- a/ICSharpCode.NRefactory.CSharp/Refactoring/CodeIssues/InconsistentNamingIssue/DefaultRules.cs +++ b/ICSharpCode.NRefactory.CSharp/Refactoring/CodeIssues/InconsistentNamingIssue/DefaultRules.cs @@ -1,4 +1,4 @@ -// +// // DefaultRules.cs // // Author: @@ -73,6 +73,7 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring yield return new NamingRule(AffectedEntity.ReadonlyField) { Name = "Static Readonly Fields", + VisibilityMask = Modifiers.Public | Modifiers.Protected | Modifiers.Internal, NamingStyle = NamingStyle.PascalCase, IncludeInstanceMembers = false }; @@ -94,7 +95,16 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring Name = "Fields (Private)", NamingStyle = NamingStyle.CamelCase, AllowedPrefixes = new [] { "_", "m_" }, - VisibilityMask = Modifiers.Private + VisibilityMask = Modifiers.Private, + IncludeStaticEntities = false + }; + + yield return new NamingRule(AffectedEntity.Field) { + Name = "Static Fields (Private)", + NamingStyle = NamingStyle.CamelCase, + VisibilityMask = Modifiers.Private, + IncludeStaticEntities = true, + IncludeInstanceMembers = false }; yield return new NamingRule(AffectedEntity.ReadonlyField) { diff --git a/ICSharpCode.NRefactory.Tests/CSharp/CodeIssues/InconsistentNamingTests.cs b/ICSharpCode.NRefactory.Tests/CSharp/CodeIssues/InconsistentNamingTests.cs index 216a259998..fb7f53e71e 100644 --- a/ICSharpCode.NRefactory.Tests/CSharp/CodeIssues/InconsistentNamingTests.cs +++ b/ICSharpCode.NRefactory.Tests/CSharp/CodeIssues/InconsistentNamingTests.cs @@ -1,4 +1,4 @@ -// +// // InconsistentNamingTests.cs // // Author: @@ -27,16 +27,21 @@ using System; using NUnit.Framework; using ICSharpCode.NRefactory.CSharp.Refactoring; using ICSharpCode.NRefactory.CSharp.CodeActions; +using System.Linq; namespace ICSharpCode.NRefactory.CSharp.CodeIssues { [TestFixture] public class InconsistentNamingTests : InspectionActionTestBase { - void CheckNaming (string input, string output) + void CheckNaming (string input, string output, bool shouldBeEmpty = false) { TestRefactoringContext context; var issues = GetIssues (new InconsistentNamingIssue (), input, out context); + if (shouldBeEmpty) { + Assert.AreEqual (0, issues.Count ()); + return; + } Assert.Greater (issues.Count, 0); CheckFix (context, issues [0], output); } @@ -156,9 +161,17 @@ namespace ICSharpCode.NRefactory.CSharp.CodeIssues [Test] public void TestPrivateStaticReadOnlyFieldName () { - var input = @"class AClass { static readonly int field; }"; + var input = @"class AClass { static readonly int Field; }"; var output = @"class AClass { static readonly int Field; }"; - CheckNaming (input, output); + CheckNaming (input, output, true); + } + + [Test] + public void TestPrivateStaticReadOnlyFieldNameCase2 () + { + var input = @"class AClass { static readonly int field; }"; + var output = @"class AClass { static readonly int field; }"; + CheckNaming (input, output, true); } [Test] From bb4cafa0a51892bc88d7d594d93f3def1f9f928a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mike=20Kr=C3=BCger?= Date: Fri, 30 Mar 2012 17:16:58 +0200 Subject: [PATCH 2/2] Fixed null reference exception in control flow graph builder. --- ICSharpCode.NRefactory.CSharp/Analysis/ControlFlow.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ICSharpCode.NRefactory.CSharp/Analysis/ControlFlow.cs b/ICSharpCode.NRefactory.CSharp/Analysis/ControlFlow.cs index d2bdf7af9e..26a1d49346 100644 --- a/ICSharpCode.NRefactory.CSharp/Analysis/ControlFlow.cs +++ b/ICSharpCode.NRefactory.CSharp/Analysis/ControlFlow.cs @@ -420,7 +420,8 @@ namespace ICSharpCode.NRefactory.CSharp.Analysis falseEnd = ifElseStatement.FalseStatement.AcceptVisitor(this, falseBegin); } ControlFlowNode end = builder.CreateEndNode(ifElseStatement); - Connect(trueEnd, end); + if (trueEnd != null) + Connect(trueEnd, end); if (falseEnd != null) { Connect(falseEnd, end); } else if (cond != true) {