Subject: Re: [PATCH] Require JDK1.5

From: Noel Grandin <[email-masked]>
Date: Mon, 14 May 2007 09:21:38 +0200

>> diff --git
>> a/org.spearce.jgit/src/org/spearce/jgit/lib/ObjectIdMap.java
>> b/org.spearce.jgit/src/org/spearce/jgit/lib/ObjectIdMap.java
>> index c397a0d..63796fd 100644
>> --- a/org.spearce.jgit/src/org/spearce/jgit/lib/ObjectIdMap.java
>> +++ b/org.spearce.jgit/src/org/spearce/jgit/lib/ObjectIdMap.java
>> @@ -50,9 +50,9 @@ public class ObjectIdMap implements Map {
>>
>>     public ObjectIdMap(Map sample) {
>>         try {
>> -            Method m=sample.getClass().getMethod("clone", null);
>> +            Method m=sample.getClass().getMethod("clone",
>> (Class[])null);
>>             for (int i=0; i<256; ++i) {
>> -                level0[i] = (Map)m.invoke(sample, null);
>> +                level0[i] = (Map)m.invoke(sample, (Object[])null);
>>             }
>>         } catch (IllegalAccessException e) {
>>             throw new IllegalArgumentException(e);
>
> I wonder why one would need changes like this?
>
> These casts are not needed for anything as far as I can see and your
> IDE should easily tell you what type that parameter is. No?
>
Those are varargs parameters, so when compiling under 1.5 you sometimes
have to tell the compiler the difference between passing a varargs array
and passing one parameter.

Disclaimer: http://www.peralex.com/disclaimer.html