1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-29 19:45:01 +02:00

Content Assist fixes

This commit is contained in:
Hoda Amer 2004-04-23 15:32:46 +00:00
parent 5b20ba9b22
commit 8ee1c65946
4 changed files with 22 additions and 11 deletions

View file

@ -1,3 +1,7 @@
2004-04-23 Hoda Amer
Fix for bug#59631 : Macros do not appear in the completion list when no prefix is provided
Fix for bug#59686 : [Content Assist] Class references are not completing
2004-04-22 Sean Evoy
This is the first part of the patch supplied by Leo at Intel
to add error parsers to a managed build project, and to manipulate

View file

@ -10,6 +10,7 @@
***********************************************************************/
package org.eclipse.cdt.internal.corext.refactoring.rename;
import java.io.StringReader;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@ -31,6 +32,15 @@ import org.eclipse.cdt.core.model.ISourceReference;
import org.eclipse.cdt.core.model.IStructure;
import org.eclipse.cdt.core.model.ITranslationUnit;
import org.eclipse.cdt.core.model.IVariable;
import org.eclipse.cdt.core.parser.IQuickParseCallback;
import org.eclipse.cdt.core.parser.IScanner;
import org.eclipse.cdt.core.parser.IToken;
import org.eclipse.cdt.core.parser.NullLogService;
import org.eclipse.cdt.core.parser.ParserFactory;
import org.eclipse.cdt.core.parser.ParserLanguage;
import org.eclipse.cdt.core.parser.ParserMode;
import org.eclipse.cdt.core.parser.ScannerException;
import org.eclipse.cdt.core.parser.ScannerInfo;
import org.eclipse.cdt.core.search.BasicSearchMatch;
import org.eclipse.cdt.core.search.ICSearchConstants;
import org.eclipse.cdt.core.search.ICSearchScope;
@ -178,6 +188,7 @@ public class RenameElementProcessor extends RenameProcessor implements IReferenc
}
Assert.isNotNull(newName, "new name"); //$NON-NLS-1$
RefactoringStatus result= null;
if (fCElement instanceof IStructure){
result= Checks.checkClassName(newName);
@ -553,5 +564,4 @@ public class RenameElementProcessor extends RenameProcessor implements IReferenc
return true;
}
}
}

View file

@ -331,10 +331,6 @@ public class CCompletionProcessor implements IContentAssistProcessor {
int pos = offset -1;
if(pos >= 0){
try{
//While we aren't on a space, then go back and look for :: or a ->
while ((pos >= 0) && (document.getChar(pos) == ' ')) {
pos--;
}
if ((document.getChar(pos) == ':') && (document.getChar(pos -1) != ':')) {
// ignore this request
return null;

View file

@ -543,18 +543,15 @@ public class CompletionEngine implements RelevanceConstants {
// 1. Get the search scope node
// the search node is the code scope inwhich completion is requested
IASTScope searchNode = completionNode.getCompletionScope();
String prefix = completionNode.getCompletionPrefix();
// here we have to look for any names that could be referenced within this scope
// 1. lookup all
ILookupResult result = null;
if (completionNode.getCompletionPrefix().length() > 0){
IASTNode.LookupKind[] kinds = new IASTNode.LookupKind[1];
kinds[0] = IASTNode.LookupKind.ALL;
String prefix = completionNode.getCompletionPrefix();
result = lookup(searchNode, prefix, kinds, completionNode.getCompletionContext());
addToCompletions(result);
List macros = lookupMacros(completionNode.getCompletionPrefix());
addMacrosToCompletions(prefix, macros.iterator());
}
else // prefix is empty
{
@ -583,7 +580,11 @@ public class CompletionEngine implements RelevanceConstants {
result = lookup(searchNode, completionNode.getCompletionPrefix(), kinds, completionNode.getCompletionContext());
addToCompletions(result);
}
}
}
List macros = lookupMacros(completionNode.getCompletionPrefix());
addMacrosToCompletions(prefix, macros.iterator());
}
private void completionOnClassReference(IASTCompletionNode completionNode){
@ -707,7 +708,7 @@ public class CompletionEngine implements RelevanceConstants {
log ("Offset = " + completionOffset); //$NON-NLS-1$
logNode("Scope = " , completionNode.getCompletionScope()); //$NON-NLS-1$
logNode("Context = " , completionNode.getCompletionContext()); //$NON-NLS-1$
logKind("Kind = ", completionNode.getCompletionKind()); //$NON-NLS-1$
logKind("Kind = " , completionNode.getCompletionKind()); //$NON-NLS-1$
log ("Prefix = " + completionNode.getCompletionPrefix()); //$NON-NLS-1$
if (completionNode.getCompletionScope() == null){