diff --git a/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/CompletionParseTest.java b/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/CompletionParseTest.java index 92295a6d3ca..6bd7806b071 100644 --- a/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/CompletionParseTest.java +++ b/core/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/CompletionParseTest.java @@ -1037,4 +1037,16 @@ public class CompletionParseTest extends CompletionParseBaseTest { assertEquals( node.getCompletionKind(), CompletionKind.SINGLE_NAME_REFERENCE ); } + + public void testBug62344() throws Exception + { + Writer writer = new StringWriter(); + writer.write( " namespace Foo{ class bar{}; } "); + writer.write( " void main() { "); + writer.write( " Foo::bar * foobar = new Foo::SP "); + + String code = writer.toString(); + IASTCompletionNode node = parse( code, code.indexOf( "SP" ) ); + assertEquals( node.getCompletionKind(), CompletionKind.NEW_TYPE_REFERENCE ); + } } diff --git a/core/org.eclipse.cdt.ui/ChangeLog b/core/org.eclipse.cdt.ui/ChangeLog index 8a08e3f2225..409b4a26b05 100644 --- a/core/org.eclipse.cdt.ui/ChangeLog +++ b/core/org.eclipse.cdt.ui/ChangeLog @@ -1,3 +1,8 @@ +2004-05-14 Andrew Niefer + fix bug 62344, change completionOnTypeReference to lookup with empty prefix if + we have a context. + * src/org/eclipse/cdt/internal/ui/text/contentassist/CompletionEngine.java + 2004-05-13 Alain Magloire Fix for PR 62064 diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/contentassist/CompletionEngine.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/contentassist/CompletionEngine.java index 77935ee9de5..c42fce3cf4e 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/contentassist/CompletionEngine.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/contentassist/CompletionEngine.java @@ -528,8 +528,10 @@ public class CompletionEngine implements RelevanceConstants { // completing on a type // 1. Get the search scope node IASTScope searchNode = completionNode.getCompletionScope(); - // if the prefix is not empty - if(completionNode.getCompletionPrefix().length() > 0 ) { + // if the prefix is not empty, or we have a context + if(completionNode.getCompletionPrefix().length() > 0 || + completionNode.getCompletionContext() != null ) + { // 2. Lookup all types that could be used here ILookupResult result; IASTNode.LookupKind[] kinds = new IASTNode.LookupKind[4];