Ah, but, screwing around with the meanings of method signatures would
make some serious backwards incompatibility issues.

Fortunately class files have version info so you could do some trick
whereby new class files do set a difference, but if an old class file
code wants to acess a new class file with this thing going - I don't
see how that would work.

On Jan 15, 10:10 pm, "Peter Becker" <[email protected]> wrote:
> On Fri, Jan 16, 2009 at 3:17 AM, Tom Hawtin <[email protected]> 
> wrote:
>
> > On Jan 14, 3:28 pm, Reinier Zwitserloot <[email protected]> wrote:
>
> >> com.package.ContainingClass.foobar(Ljava/util/List;V)
> >> com.package.ContainingClass.foobar(Ljava/util/List;I)
>
> >> which is not okay - being only different in return type is not
> >> allowed. This isn't a big concern and is not generally covered by what
> >> is meant with 'we should reify generics', but its important to know
> >> that this can pretty much never be fixed without serious overhauling
> >> of the JVM.
>
> > Adding generic type information to method calls and using that
> > together with the generic type information already present on methods
> > in the class file doesn't seem a great stretch to me. The question is
> > what sort of bangs-per-buck are you getting. The bucks are small, bit
> > the bangs are barely a fizzle, IMO. But I think thats a general
> > problem with reification.
>
> You could make the same point for any overloading. If you can
> distinguish between
>
>   singleParameterMethod(A param);
> and
>   singleParameterMethod(B param);
>
> why not distinguish
>
>   listParameterMethod(List<A> param);
> and
>   listParameterMethod(List<B> param);
>
> ?
>
> The conceptual difference seems very similar. Even more extreme if you
> include arrays -- but I'd rather ignore those.
>
> >> what can actually be recovered by the JVM at runtime is this:
>
> >> List<String> foo = new ArrayList();
>
> > It gets more paradoxical with the like of Collections.emptySet
>
> The problem exists only if you look at a mutable version, otherwise
> the empty set can be seen as being of any type. Once you require
> mutability it is only fair to request the specification of a type
> parameter.
>
>   Peter
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "The 
Java Posse" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/javaposse?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to