From b2392975412e9b069a11843c02b3c0a3e5b6a12f Mon Sep 17 00:00:00 2001 From: Alena Laskavaia Date: Sat, 20 Mar 2010 14:19:43 +0000 Subject: [PATCH] [306563 ] - fixed false positives --- .../org.eclipse.cdt.codan.checkers/plugin.xml | 5 ++- .../checkers/StatementHasNoEffectChecker.java | 21 +++++++-- .../StatementHasNoEffectCheckerTest.java | 43 +++++++++++++++++-- 3 files changed, 60 insertions(+), 9 deletions(-) diff --git a/codan/org.eclipse.cdt.codan.checkers/plugin.xml b/codan/org.eclipse.cdt.codan.checkers/plugin.xml index f2a7a7f1129..e1fb9cd63c0 100644 --- a/codan/org.eclipse.cdt.codan.checkers/plugin.xml +++ b/codan/org.eclipse.cdt.codan.checkers/plugin.xml @@ -25,8 +25,9 @@ category="org.eclipse.cdt.codan.core.categories.ProgrammingProblems" defaultSeverity="Warning" id="org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem" - name="Statement has no effect"> - + name="Statement has no effect" + messagePattern="Statement has no effect" + /> */ - public void test1() { + public void testUnaryExpression() { load("test1.c"); runOnFile(); checkErrorLine(3); @@ -40,7 +40,7 @@ public class StatementHasNoEffectCheckerTest extends CheckerTestCase { } */ - public void test2() { + public void testBinaryExpression() { load("test2.c"); runOnFile(); checkErrorLine(4); @@ -55,9 +55,46 @@ public class StatementHasNoEffectCheckerTest extends CheckerTestCase { } */ - public void test3() { + public void testNormalAssignment() { load("test3.c"); runOnFile(); checkNoErrors(); } + /*- + + main() { + int a,b; + + (a=b); // no errors here + a+=b; + a<<=b; + a-=b; + a++; + b--; + --a; + ++b; + a%=2; + a>>=2; + } + + */ + public void testFalsePositives() { + load("test4.c"); + runOnFile(); + checkNoErrors(); + } + + /*- + + main() { + int a; + a; // error here on line 3 + } + + */ + public void testIdExpression() { + load("test5.c"); + runOnFile(); + checkErrorLine(3); + } }