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

View file

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

View file

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