1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-24 01:15:29 +02:00

Handle namespaces when looking up parents when adapting bindings.

This commit is contained in:
Doug Schaefer 2006-05-09 01:44:17 +00:00
parent 2f7bbba436
commit 811ff311aa

View file

@ -19,6 +19,7 @@ import org.eclipse.cdt.core.dom.ast.IASTName;
import org.eclipse.cdt.core.dom.ast.IASTNamedTypeSpecifier;
import org.eclipse.cdt.core.dom.ast.IASTNode;
import org.eclipse.cdt.core.dom.ast.IBinding;
import org.eclipse.cdt.core.dom.ast.IParameter;
import org.eclipse.cdt.core.dom.ast.IProblemBinding;
import org.eclipse.cdt.core.dom.ast.IScope;
import org.eclipse.cdt.core.dom.ast.cpp.ICPPASTNamespaceAlias;
@ -112,6 +113,10 @@ public class PDOMCPPLinkage extends PDOMLinkage {
// Can't tell what it is
return null;
if (binding instanceof IParameter)
// Skip parameters (TODO and others I'm sure)
return null;
PDOMBinding pdomBinding = adaptBinding(binding);
if (pdomBinding == null) {
PDOMNode parent = getParent(binding);
@ -203,6 +208,10 @@ public class PDOMCPPLinkage extends PDOMLinkage {
PDOMMember[] members = owner.findMembers(binding.getNameCharArray());
if (members.length > 0)
return members[0];
} else if (parent instanceof PDOMCPPNamespace) {
FindBinding visitor = new FindBinding(pdom, binding.getNameCharArray(), getBindingType(binding));
((PDOMCPPNamespace)parent).getIndex().accept(visitor);
return visitor.pdomBinding;
}
return null;
}