[jboss-svn-commits] JBL Code SVN: r29568 - labs/jbosstm/workspace/adinn/byteman/trunk/src/org/jboss/byteman/rule/expression.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Fri Oct 9 05:02:06 EDT 2009
Author: adinn
Date: 2009-10-09 05:02:05 -0400 (Fri, 09 Oct 2009)
New Revision: 29568
Modified:
labs/jbosstm/workspace/adinn/byteman/trunk/src/org/jboss/byteman/rule/expression/ThrowExpression.java
Log:
avoided NPE in ThrowExpression.typecheck when a class for the thrown type is not found -- fixes BYTEMAN-44
Modified: labs/jbosstm/workspace/adinn/byteman/trunk/src/org/jboss/byteman/rule/expression/ThrowExpression.java
===================================================================
--- labs/jbosstm/workspace/adinn/byteman/trunk/src/org/jboss/byteman/rule/expression/ThrowExpression.java 2009-10-08 22:05:18 UTC (rev 29567)
+++ labs/jbosstm/workspace/adinn/byteman/trunk/src/org/jboss/byteman/rule/expression/ThrowExpression.java 2009-10-09 09:02:05 UTC (rev 29568)
@@ -101,7 +101,7 @@
type = Type.dereference(typeGroup.create(typeName));
- if (type.isUndefined()) {
+ if (type == null || type.isUndefined()) {
throw new TypeException("ThrowExpression.typeCheck : unknown exception type " + typeName + getPos());
}
@@ -153,11 +153,11 @@
}
if (candidates.isEmpty()) {
- throw new TypeException("ThrowExpression.typeCheck : invalid method for target class " + typeName + getPos());
+ throw new TypeException("ThrowExpression.typeCheck : invalid constructor for target class " + typeName + getPos());
}
if (candidates.size() > 1) {
- throw new TypeException("ThrowExpression.typeCheck : ambiguous method signature for target class " + typeName + getPos());
+ throw new TypeException("ThrowExpression.typeCheck : ambiguous constructor signature for target class " + typeName + getPos());
}
constructor = candidates.get(0);
@@ -340,7 +340,7 @@
}
public void writeTo(StringWriter stringWriter) {
- stringWriter.write("throw " + type.getName() + "(");
+ stringWriter.write("throw " + (type != null ? type.getName() : typeName) + "(");
for (Expression argument : arguments) {
argument.writeTo(stringWriter);
}
More information about the jboss-svn-commits
mailing list