#1409 NullPointerException in InsufficientStringBufferRule
This commit is contained in:
@ -305,7 +305,9 @@ public class InsufficientStringBufferDeclarationRule extends AbstractJavaRule {
|
|||||||
int size = 0;
|
int size = 0;
|
||||||
if (parent != null) {
|
if (parent != null) {
|
||||||
final Node initializer = parent.getFirstChildOfType(ASTVariableInitializer.class);
|
final Node initializer = parent.getFirstChildOfType(ASTVariableInitializer.class);
|
||||||
|
if (initializer != null) {
|
||||||
final Node primExp = initializer.getFirstDescendantOfType(ASTPrimaryExpression.class);
|
final Node primExp = initializer.getFirstDescendantOfType(ASTPrimaryExpression.class);
|
||||||
|
if (primExp != null) {
|
||||||
for (int i = 0; i < primExp.jjtGetNumChildren(); i++) {
|
for (int i = 0; i < primExp.jjtGetNumChildren(); i++) {
|
||||||
final Node sn = primExp.jjtGetChild(i);
|
final Node sn = primExp.jjtGetChild(i);
|
||||||
if (!(sn instanceof ASTPrimarySuffix) || sn.getImage() != null) {
|
if (!(sn instanceof ASTPrimarySuffix) || sn.getImage() != null) {
|
||||||
@ -314,6 +316,8 @@ public class InsufficientStringBufferDeclarationRule extends AbstractJavaRule {
|
|||||||
size += processNode(sn);
|
size += processNode(sn);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
return size;
|
return size;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1023,6 +1023,19 @@ public class StringBuilderWithMessageRetrieval {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
]]></code>
|
||||||
|
</test-code>
|
||||||
|
|
||||||
|
<test-code>
|
||||||
|
<description>#1409 NullPointerException in InsufficientStringBufferRule</description>
|
||||||
|
<expected-problems>0</expected-problems>
|
||||||
|
<code><![CDATA[
|
||||||
|
public class NullPointer {
|
||||||
|
public void run(String[] strings) {
|
||||||
|
StringBuilder builder;
|
||||||
|
builder = new StringBuilder();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]]></code>
|
]]></code>
|
||||||
</test-code>
|
</test-code>
|
||||||
|
@ -18,6 +18,8 @@
|
|||||||
|
|
||||||
* java-controversial/DefaultPackage:
|
* java-controversial/DefaultPackage:
|
||||||
[#1410](https://sourceforge.net/p/pmd/bugs/1410/): DefaultPackage triggers on field annotated with @VisibleForTesting
|
[#1410](https://sourceforge.net/p/pmd/bugs/1410/): DefaultPackage triggers on field annotated with @VisibleForTesting
|
||||||
|
* java-strings/InsufficientStringBufferDeclaration:
|
||||||
|
[#1409](https://sourceforge.net/p/pmd/bugs/1409/): NullPointerException in InsufficientStringBufferRule
|
||||||
|
|
||||||
**API Changes:**
|
**API Changes:**
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user