1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-29 19:45:01 +02:00

Follow up for 169666 (composite bindings), fix adaptBinding for static functions/variables

This commit is contained in:
Markus Schorn 2007-02-14 09:00:27 +00:00
parent d692d9d650
commit 2e3f7eca0e
3 changed files with 10 additions and 9 deletions

View file

@ -7,6 +7,7 @@
*
* Contributors:
* Andrew Ferguson (Symbian) - Initial implementation
* Markus Schorn (Wind River Systems)
*******************************************************************************/
package org.eclipse.cdt.internal.core.index.composite;
@ -57,7 +58,9 @@ public abstract class CompositeIndexBinding implements IIndexBinding {
}
public Object getAdapter(Class adapter) {
fail();
if (adapter.isInstance(rbinding)) {
return rbinding;
}
return null;
}

View file

@ -522,12 +522,10 @@ public class PDOM extends PlatformObject implements IIndexFragment, IPDOM {
}
public IIndexFragmentBinding adaptBinding(IBinding binding) throws CoreException {
if (binding instanceof PDOMBinding) {
PDOMBinding pdomBinding= (PDOMBinding) binding;
if (pdomBinding.getPDOM() == this) {
PDOMBinding pdomBinding= (PDOMBinding) binding.getAdapter(PDOMBinding.class);
if (pdomBinding != null && pdomBinding.getPDOM() == this) {
return pdomBinding;
}
}
PDOMLinkage linkage= adaptLinkage(binding.getLinkage());
if (linkage != null) {

View file

@ -49,9 +49,9 @@ public abstract class PDOMBinding extends PDOMNamedNode implements IIndexFragmen
}
public Object getAdapter(Class adapter) {
if (adapter == PDOMBinding.class)
if (adapter.isAssignableFrom(PDOMBinding.class))
return this;
else
return null;
}