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,12 +522,10 @@ 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());
if (linkage != null) { if (linkage != null) {

View file

@ -49,9 +49,9 @@ 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;
} }