sboag 00/08/06 20:01:23
Modified: java/src/org/apache/xalan/extensions MethodResolver.java
Log:
Check for zero args.
Revision Changes Path
1.7 +5 -4
xml-xalan/java/src/org/apache/xalan/extensions/MethodResolver.java
Index: MethodResolver.java
===================================================================
RCS file:
/home/cvs/xml-xalan/java/src/org/apache/xalan/extensions/MethodResolver.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- MethodResolver.java 2000/08/01 04:46:08 1.6
+++ MethodResolver.java 2000/08/07 03:01:23 1.7
@@ -138,7 +138,8 @@
// System.out.println("numberMethodParams: "+numberMethodParams);
// System.out.println("argsIn.length: "+argsIn.length);
// System.out.println("exprContext: "+exprContext);
- if(numberMethodParams == (argsIn.length+1))
+ int argsLen = (null != argsIn) ? argsIn.length : 0;
+ if(numberMethodParams == (argsLen+1))
{
Class javaClass = paramTypes[0];
if(javaClass.isAssignableFrom(org.w3c.xslt.ExpressionContext.class))
@@ -155,7 +156,7 @@
else
scoreStart = 100;
- if(argsIn.length == (numberMethodParams - paramStart))
+ if(argsLen == (numberMethodParams - paramStart))
{
// then we have our candidate.
int score = scoreMatch(paramTypes, paramStart, argsIn, scoreStart);
@@ -197,7 +198,7 @@
throws org.xml.sax.SAXException
{
// System.out.println("In convertParams");
- int nMethods = argsIn.length;
+ int nMethods = (null != argsIn) ? argsIn.length : 0;
int paramIndex = 0;
if((paramTypes.length > 0)
&&
paramTypes[0].isAssignableFrom(org.w3c.xslt.ExpressionContext.class))
@@ -371,7 +372,7 @@
public static int scoreMatch(Class[] javeParamTypes, int paramTypesStart,
Object[] xsltArgs, int score)
{
- int nParams = xsltArgs.length;
+ int nParams = (null != xsltArgs) ? xsltArgs.length : 0;
for(int i = 0, paramTypesIndex = paramTypesStart;
i < nParams;
i++, paramTypesIndex++)