diff --git a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionTest_AnonymousTypes.java b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionTest_AnonymousTypes.java index cdd9b6cd509..af70b7672a9 100644 --- a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionTest_AnonymousTypes.java +++ b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/contentassist2/CompletionTest_AnonymousTypes.java @@ -27,7 +27,7 @@ public class CompletionTest_AnonymousTypes extends CompletionProposalsBaseTest{ public CompletionTest_AnonymousTypes(String name) { super(name); // see https://bugs.eclipse.org/bugs/show_bug.cgi?id=174809 - setExpectFailure(174809); + // setExpectFailure(174809); } public static Test suite() { diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/contentassist/DOMCompletionProposalComputer.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/contentassist/DOMCompletionProposalComputer.java index 8d2d4ed21ce..73aa44c341d 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/contentassist/DOMCompletionProposalComputer.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/contentassist/DOMCompletionProposalComputer.java @@ -7,6 +7,7 @@ * * Contributors: * QNX - Initial API and implementation + * Markus Schorn (Wind River Systems) *******************************************************************************/ package org.eclipse.cdt.internal.ui.text.contentassist; @@ -196,17 +197,24 @@ public class DOMCompletionProposalComputer extends ParsingBasedProposalComputer protected void handleBinding(IBinding binding, CContentAssistInvocationContext cContext, IASTCompletionContext astContext, List proposals) { - if (binding instanceof ICPPClassType) { - handleClass((ICPPClassType) binding, cContext, proposals); - } else if (binding instanceof IFunction) { - handleFunction((IFunction)binding, cContext, proposals); - } else if (binding instanceof IVariable) { - handleVariable((IVariable) binding, cContext, proposals); - } else if (!cContext.isContextInformationStyle()) { - proposals.add(createProposal(binding.getName(), binding.getName(), getImage(binding), cContext)); + if (!isAnonymousBinding(binding)) { + if (binding instanceof ICPPClassType) { + handleClass((ICPPClassType) binding, cContext, proposals); + } else if (binding instanceof IFunction) { + handleFunction((IFunction)binding, cContext, proposals); + } else if (binding instanceof IVariable) { + handleVariable((IVariable) binding, cContext, proposals); + } else if (!cContext.isContextInformationStyle()) { + proposals.add(createProposal(binding.getName(), binding.getName(), getImage(binding), cContext)); + } } } + private boolean isAnonymousBinding(IBinding binding) { + char[] name= binding.getNameCharArray(); + return name.length == 0 || name[0] == '{'; + } + private void handleClass(ICPPClassType classType, CContentAssistInvocationContext context, List proposals) { if (context.isContextInformationStyle()) { try {