- Revision
- 737
- Author
- rfscholte
- Date
- 2010-07-30 11:40:18 -0500 (Fri, 30 Jul 2010)
Log Message
Fix for QDOX-214: NPE for constructor toString()
Modified Paths
Diff
Modified: trunk/qdox/src/java/com/thoughtworks/qdox/model/JavaMethod.java (736 => 737)
--- trunk/qdox/src/java/com/thoughtworks/qdox/model/JavaMethod.java 2010-06-11 16:16:16 UTC (rev 736) +++ trunk/qdox/src/java/com/thoughtworks/qdox/model/JavaMethod.java 2010-07-30 16:40:18 UTC (rev 737) @@ -399,11 +399,18 @@ if(isNative()) { result.append("native "); } - result.append(getReturns().getValue() + " "); + if (!constructor) { + result.append(getReturns().getValue() + " "); + } if(getParentClass() != null) { - result.append(getParentClass().getFullyQualifiedName() + "."); + result.append(getParentClass().getFullyQualifiedName()); + if (!constructor) { + result.append("."); + } } - result.append(getName()); + if (!constructor) { + result.append(getName()); + } result.append("("); for(int paramIndex=0;paramIndex<getParameters().length;paramIndex++) { if(paramIndex>0) {
Modified: trunk/qdox/src/test/com/thoughtworks/qdox/model/JavaMethodTest.java (736 => 737)
--- trunk/qdox/src/test/com/thoughtworks/qdox/model/JavaMethodTest.java 2010-06-11 16:16:16 UTC (rev 736) +++ trunk/qdox/src/test/com/thoughtworks/qdox/model/JavaMethodTest.java 2010-07-30 16:40:18 UTC (rev 737) @@ -356,9 +356,17 @@ mthd.setModifiers(new String[]{"public"}); mthd.addParameter(new JavaParameter(new Type("java.lang.Object"), null)); assertEquals("public boolean java.lang.Object.equals(java.lang.Object)", mthd.toString()); - } + + public void testConstructorToString() throws Exception { + JavaClass cls = new JavaClass("a.b.Executor"); + JavaMethod constructor = new JavaMethod(null,"Executor"); + constructor.setConstructor( true ); + cls.addMethod(constructor); + assertEquals("a.b.Executor()", constructor.toString()); + } + private void assertNotEquals(Object o1, Object o2) { assertTrue(o1.toString() + " should not equals " + o2.toString(), !o1.equals(o2)); }
To unsubscribe from this list please visit:
