]> source.dussan.org Git - poi.git/commitdiff
Swapped ArrayIndexOutOfBoundsException for plain array length check in AbstractFuncti...
authorJosh Micich <josh@apache.org>
Sat, 3 May 2008 20:13:56 +0000 (20:13 +0000)
committerJosh Micich <josh@apache.org>
Sat, 3 May 2008 20:13:56 +0000 (20:13 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@653125 13f79535-47bb-0310-9956-ffa450edef68

src/java/org/apache/poi/hssf/record/formula/AbstractFunctionPtg.java

index 82d85ccebbb16c86131ea67f7f057a86534a0cfa..48d7d4cc5b40aa78845c25e040c617fb2148f913 100644 (file)
@@ -147,10 +147,12 @@ public abstract class AbstractFunctionPtg extends OperationPtg {
     }
 
     public byte getParameterClass(int index) {
-        try {
-            return paramClass[index];
-        } catch (ArrayIndexOutOfBoundsException aioobe) {
+        if (index >= paramClass.length) {
+            // For var-arg (and other?) functions, the metadata does not list all the parameter
+            // operand classes.  In these cases, all extra parameters are assumed to have the 
+            // same operand class as the last one specified.
             return paramClass[paramClass.length - 1];
         }
+        return paramClass[index];
     }
 }