Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [cdt-dev] Generics and APIs

Hello Jason,

I might have missed something here since it's been a while
Since I've been digesting cdt-dev... But in what respect
Do you think that "Genericizing" a method return value is
An API change?

On
http://wiki.eclipse.org/Evolving_Java-based_APIs_2#Turning_non-generic_t
ypes_and_methods_into_generic_ones
I can read "As long as the erasure looks like the corresponding 
declaration prior to generification, the change is binary compatible 
with existing code."

So your change is definitely binary compatible. 

It's not source compatbile, of course, because a (theoretical)
Client that uses a Map<Foo,Bar> and was able to assign your
Returned Map to his Map<Foo,Bar> can no longer do this now.
But that would likely have been an error anyways...

Cheers,
--
Martin Oberhuber, Senior Member of Technical Staff, Wind River
Target Management Project Lead, DSDP PMC Member
http://www.eclipse.org/dsdp/tm
 
 

> -----Original Message-----
> From: cdt-dev-bounces@xxxxxxxxxxx 
> [mailto:cdt-dev-bounces@xxxxxxxxxxx] On Behalf Of Jason Montojo
> Sent: Donnerstag, 10. April 2008 21:39
> To: cdt-dev@xxxxxxxxxxx
> Subject: [cdt-dev] Generics and APIs
> 
> 
> Hi everyone,
> 
> I've been fixing compiler warnings about generics in the 
> language mapping
> classes.  This involved having to change a number of method 
> signatures to
> account for parameterized collections. For example, I changed this in
> LanguageManager:
> 
> Old:
> public Map getContentTypeIdToLanguageDescriptionsMap(){ ... }
> 
> New:
> public Map<String, ILanguageDescriptor[]>
> getContentTypeIdToLanguageDescriptionsMap(){ ... }
> 
> Such a change wouldn't break existing clients and it makes 
> the API much
> easier to work with.  Regardless, it is still an API change.
> 
> Should I go ahead and make the changes to the signatures?  Or should I
> leave them as-is?  I know we're already past the API freeze 
> so I'd like to
> know how the community feels about this.
> 
> Thanks,
> Jason Montojo
> IBM CDT Team
> IBM Toronto Lab
> 905-413-5228
> jmontojo@xxxxxxxxxx
> 
> _______________________________________________
> cdt-dev mailing list
> cdt-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/cdt-dev
> 


Back to the top