Details
Description
In line 116 of the getMethod method of Introspector.java, a NullPointerException
can be thrown at this line:
msg = msg + params[i].getClass().getName();
The scenario was that an overloaded method in a tool class in my context was
being called with a null parameter (i.e., params[i] was null). That resulted in
an AmbiguousException correctly being thrown, but the error message being built
in this method was never being shown because a NullPointerException occurred
first. Looking at the code, you would expect to see something like this:
Introspection Error : Ambiguous method invocation someOverloadedMethod( null)
for class class com.blah.blah.MyTool
Instead I was seeing this:
ASTMethod.execute() : exception from introspection : java.lang.NullPointerException
Easy fix should be:
if (params[i] == null)
msg = msg + "null";
else
msg = msg + params[i].getClass().getName();