Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[cross-project-issues-dev] org.eclipse.equinox.common has added generics to API in org.eclipse.core.runtime package


Markus Keller wrote up an nice summary of what consumers should do to fix any warnings that may be caused by this change at

Here is a copy of the recommendations if you are going to compile against the latest version of org.eclipse.equinox.common:

1. In MANIFEST.MF, update your Require-Bundle:  org.eclipse.core.runtime;bundle-version="[3.11.0,4.0.0)", or org.eclipse.equinox.common;bundle-version="[3.7.0,4.0.0)", or update your Import-Package: org.eclipse.core.runtime; version="[3.5,4.0)"

2. If your bundle re-exports one of these bundles, then you also have to make sure the minor version is incremented.

3. Remove unnecessary casts (Clean Up, or Problems view > Quick Fix > Select All)

4. Update implementations of IAdaptable#getAdapter(Class<T>), unless you override another implementation of that method that still uses the old signature.

Typical change:
        public Object getAdapter(Class adapter) {
                if (ICompilationUnit.class.equals(adapter))
                        return getCompilationUnit();
                return null;

        public <T> T getAdapter(Class<T> adapter) {
                if (ICompilationUnit.class.equals(adapter))
                        return (T) getCompilationUnit();
                return null;

5. Update implementations of IAdapterFactory

Hint for 4. & 5.:
- Open Type Hierarchy on IAdaptable, etc.
- In the view menu, select a working set that contains your projects
- In the methods list of the Type Hierarchy view, select the methods, and then click the first toolbar button (Lock View and Show Members in Hierarchy)


Back to the top