Fixed bug 1561784 - AbstractOptimizationRule no longer throws ClassCastExceptions on certain postfix expressions.

git-svn-id: https://pmd.svn.sourceforge.net/svnroot/pmd/trunk@4516 51baf565-9d33-0410-a72c-fc3788e3496d
This commit is contained in:
Tom Copeland
2006-09-20 03:59:54 +00:00
parent dc68f9a8fb
commit e65de99ef0
3 changed files with 3 additions and 1 deletions

View File

@ -22,6 +22,7 @@ Fixed bug 1531152 - CloneThrowsCloneNotSupportedException now reports the proper
Fixed bug 1531236 - IdempotentOperations reports fewer false positives.
Fixed bug 1544564 - LooseCoupling rule now checks for ArrayLists
Fixed bug 1544565 - NonThreadSafeSingleton now finds if's with compound statements
Fixed bug 1561784 - AbstractOptimizationRule no longer throws ClassCastExceptions on certain postfix expressions.
Fixed a bug in AvoidProtectedFieldInFinalClass - it no longer reports false positives for protected fields in inner classes.
Fixed a bug in the C++ grammar - the tokenizer now properly recognizes macro definitions which are followed by a multiline comment.
Modified C++ tokenizer to use the JavaCC STATIC option; this results in about a 30% speedup in tokenizing.

View File

@ -82,7 +82,7 @@ public class AbstractOptimizationRule extends AbstractRule implements Rule {
if ((pe.getImage().equals("++") || pe.getImage().equals("--"))) {
SimpleNode first = (SimpleNode) pe.jjtGetChild(0);
SimpleNode second = (SimpleNode) first.jjtGetChild(0);
if (second.jjtGetNumChildren() == 0) {
if (second.jjtGetNumChildren() == 0 || !(second.jjtGetChild(0) instanceof ASTName)) {
continue;
}
ASTName name = (ASTName) second.jjtGetChild(0);

View File

@ -49,6 +49,7 @@
</subsection>
<subsection name="Contributors">
<ul>
<li>Robert Simmons - Reported bug in optimizations package along with suggestions for fix</li>
<li>Xavier Le Vourch - Patch to fix speling in CouplingBetweenObjects message, patch to improve CloneMethodMustImplementCloneable, suggestions on cleaning up casts in grammar, SimplifyBooleanAssertion, patch to fix problem with TestClassWithoutTestCases, patch to fix rule name bugs in migration rulesets</li>
<li>Brian Remedios - display cleanup of CPD GUI, code cleanup of StringUtil and various rules, cleanup of rule designer, code cleanup of net.sourceforge.pmd.ant.Formatter.java, code improvements to Eclipse plugin, created AbstractPoorMethodCall and refactored UseIndexOfChar</li>
<li>Jason Bennett - Patch to improve CyclomaticComplexity rule</li>