commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Eickvonder (JIRA)" <j...@apache.org>
Subject [jira] [Created] (LANG-1310) MethodUtils.invokeMethod throws ArrayStoreException
Date Wed, 01 Feb 2017 13:36:51 GMT
Eickvonder created LANG-1310:
--------------------------------

             Summary: MethodUtils.invokeMethod throws ArrayStoreException
                 Key: LANG-1310
                 URL: https://issues.apache.org/jira/browse/LANG-1310
             Project: Commons Lang
          Issue Type: Bug
          Components: lang.reflect.*
    Affects Versions: 3.5
            Reporter: Eickvonder


Since release 3.5 and due to the changes of LANG-1115 an ArrayStoreException occurs on MethodUtils.invokeMethod
if using varargs arguments and smaller types than the method defines (e.g. int vs long).

{code}
  @Test
  public void testMethodUtilsInvokeMethodVarArgs () throws Exception {
    MyObject object = new MyObject ();
    MethodUtils.invokeMethod (object, "doSomething", 1);
  }

  public static class MyObject {
    public void doSomething (long... args) {
      System.out.println ("doSomething");
    }
  }
{code}

throws 

{code}
java.lang.ArrayStoreException
	at java.lang.System.arraycopy(Native Method)
	at org.apache.commons.lang3.reflect.MethodUtils.getVarArgs(MethodUtils.java:497)
	at org.apache.commons.lang3.reflect.MethodUtils.toVarArgs(MethodUtils.java:463)
	at org.apache.commons.lang3.reflect.MethodUtils.invokeMethod(MethodUtils.java:234)
	at org.apache.commons.lang3.reflect.MethodUtils.invokeMethod(MethodUtils.java:270)
	at org.apache.commons.lang3.reflect.MethodUtils.invokeMethod(MethodUtils.java:147)
{code}

In 3.4. a NoSuchMethodException had been thrown, but in 3.5 the code now finds the matching
method but fails then with above exception.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Mime
View raw message