diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPClassScope.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPClassScope.java index 33fa3745224..ac731840faa 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPClassScope.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/dom/parser/cpp/CPPClassScope.java @@ -189,8 +189,12 @@ public class CPPClassScope extends CPPScope implements ICPPClassScope { /* (non-Javadoc) * @see org.eclipse.cdt.core.dom.ast.IScope#find(java.lang.String) */ - public IBinding[] find(String name) { + public IBinding[] find(String name) throws DOMException { char [] n = name.toCharArray(); + ICPPASTCompositeTypeSpecifier compType = (ICPPASTCompositeTypeSpecifier) getPhysicalNode(); + if( CharArrayUtils.equals( n, compType.getName().toCharArray() ) ){ + return (IBinding[]) ArrayUtil.addAll( IBinding.class, null, getConstructors() ); + } if( bindings.containsKey( n ) ){ Object o = bindings.get( n ); if( o instanceof IBinding[] )