diff --git a/ICSharpCode.NRefactory.CSharp/Refactoring/CodeIssues/ConstantConditionIssue.cs b/ICSharpCode.NRefactory.CSharp/Refactoring/CodeIssues/ConstantConditionIssue.cs index a2bf1ee794..776c6eb931 100644 --- a/ICSharpCode.NRefactory.CSharp/Refactoring/CodeIssues/ConstantConditionIssue.cs +++ b/ICSharpCode.NRefactory.CSharp/Refactoring/CodeIssues/ConstantConditionIssue.cs @@ -88,7 +88,7 @@ namespace ICSharpCode.NRefactory.CSharp.Refactoring return; var resolveResult = ctx.Resolve (condition); - if (!(resolveResult.ConstantValue is bool)) + if (!(resolveResult.IsCompileTimeConstant && resolveResult.ConstantValue is bool)) return; var value = (bool)resolveResult.ConstantValue; diff --git a/ICSharpCode.NRefactory.Tests/CSharp/CodeIssues/ConstantConditionIssueTests.cs b/ICSharpCode.NRefactory.Tests/CSharp/CodeIssues/ConstantConditionIssueTests.cs index 39e83fac99..9578343015 100644 --- a/ICSharpCode.NRefactory.Tests/CSharp/CodeIssues/ConstantConditionIssueTests.cs +++ b/ICSharpCode.NRefactory.Tests/CSharp/CodeIssues/ConstantConditionIssueTests.cs @@ -172,10 +172,11 @@ class TestClass var input = @" class TestClass { - void TestMethod () + void TestMethod (int x = true) { while (true) ; if (false) ; + if (x) ; } }"; Test (input, 0);