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:
parent
8d33b94810
commit
fc6b681d61
2 changed files with 47 additions and 0 deletions
|
@ -1,6 +1,7 @@
|
||||||
2004-04-21 Hoda Amer
|
2004-04-21 Hoda Amer
|
||||||
Fix for bug#58703 :[Content Assist] An extra [^SPC] is required after appending to a prefix
|
Fix for bug#58703 :[Content Assist] An extra [^SPC] is required after appending to a prefix
|
||||||
Fix for bug#58708 :[Content Assist] Invalid proposals on nested classes
|
Fix for bug#58708 :[Content Assist] Invalid proposals on nested classes
|
||||||
|
Fix for bug#58858 :[Content Assist] No completion when declaring a struct variable
|
||||||
|
|
||||||
2004-04-06 Chris Wiebe
|
2004-04-06 Chris Wiebe
|
||||||
initial placement of non-ui code into org.eclipse.cdt.core.browser
|
initial placement of non-ui code into org.eclipse.cdt.core.browser
|
||||||
|
|
|
@ -595,6 +595,34 @@ public class CompletionEngine implements RelevanceConstants {
|
||||||
ILookupResult result = lookup(searchNode, completionNode.getCompletionPrefix(), kinds, completionNode.getCompletionContext());
|
ILookupResult result = lookup(searchNode, completionNode.getCompletionPrefix(), kinds, completionNode.getCompletionContext());
|
||||||
addToCompletions(result);
|
addToCompletions(result);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void completionOnStructReference(IASTCompletionNode completionNode){
|
||||||
|
// 1. Get the search scope node
|
||||||
|
IASTScope searchNode = completionNode.getCompletionScope();
|
||||||
|
// only look for classes
|
||||||
|
IASTNode.LookupKind[] kinds = new IASTNode.LookupKind[1];
|
||||||
|
kinds[0] = IASTNode.LookupKind.STRUCTS;
|
||||||
|
ILookupResult result = lookup(searchNode, completionNode.getCompletionPrefix(), kinds, completionNode.getCompletionContext());
|
||||||
|
addToCompletions(result);
|
||||||
|
}
|
||||||
|
private void completionOnUnionReference(IASTCompletionNode completionNode){
|
||||||
|
// 1. Get the search scope node
|
||||||
|
IASTScope searchNode = completionNode.getCompletionScope();
|
||||||
|
// only look for classes
|
||||||
|
IASTNode.LookupKind[] kinds = new IASTNode.LookupKind[1];
|
||||||
|
kinds[0] = IASTNode.LookupKind.UNIONS;
|
||||||
|
ILookupResult result = lookup(searchNode, completionNode.getCompletionPrefix(), kinds, completionNode.getCompletionContext());
|
||||||
|
addToCompletions(result);
|
||||||
|
}
|
||||||
|
private void completionOnEnumReference(IASTCompletionNode completionNode){
|
||||||
|
// 1. Get the search scope node
|
||||||
|
IASTScope searchNode = completionNode.getCompletionScope();
|
||||||
|
// only look for classes
|
||||||
|
IASTNode.LookupKind[] kinds = new IASTNode.LookupKind[1];
|
||||||
|
kinds[0] = IASTNode.LookupKind.ENUMERATIONS;
|
||||||
|
ILookupResult result = lookup(searchNode, completionNode.getCompletionPrefix(), kinds, completionNode.getCompletionContext());
|
||||||
|
addToCompletions(result);
|
||||||
|
}
|
||||||
|
|
||||||
private void completionOnNamespaceReference(IASTCompletionNode completionNode){
|
private void completionOnNamespaceReference(IASTCompletionNode completionNode){
|
||||||
// 1. Get the search scope node
|
// 1. Get the search scope node
|
||||||
|
@ -749,6 +777,18 @@ public class CompletionEngine implements RelevanceConstants {
|
||||||
// completionOnConstructorReference
|
// completionOnConstructorReference
|
||||||
completionOnConstructorReference(completionNode);
|
completionOnConstructorReference(completionNode);
|
||||||
}
|
}
|
||||||
|
else if(kind == CompletionKind.STRUCT_REFERENCE){
|
||||||
|
// CompletionOnClassReference
|
||||||
|
completionOnStructReference(completionNode);
|
||||||
|
}
|
||||||
|
else if(kind == CompletionKind.UNION_REFERENCE){
|
||||||
|
// CompletionOnClassReference
|
||||||
|
completionOnUnionReference(completionNode);
|
||||||
|
}
|
||||||
|
else if(kind == CompletionKind.ENUM_REFERENCE){
|
||||||
|
// CompletionOnClassReference
|
||||||
|
completionOnEnumReference(completionNode);
|
||||||
|
}
|
||||||
|
|
||||||
// add keywords in all cases except for member and scoped reference cases.
|
// add keywords in all cases except for member and scoped reference cases.
|
||||||
if(kind != CompletionKind.MEMBER_REFERENCE){
|
if(kind != CompletionKind.MEMBER_REFERENCE){
|
||||||
|
@ -792,6 +832,12 @@ public class CompletionEngine implements RelevanceConstants {
|
||||||
kindStr = "PREPROCESSOR_DIRECTIVE"; //$NON-NLS-1$
|
kindStr = "PREPROCESSOR_DIRECTIVE"; //$NON-NLS-1$
|
||||||
else if(kind == IASTCompletionNode.CompletionKind.USER_SPECIFIED_NAME)
|
else if(kind == IASTCompletionNode.CompletionKind.USER_SPECIFIED_NAME)
|
||||||
kindStr = "USER_SPECIFIED_NAME"; //$NON-NLS-1$
|
kindStr = "USER_SPECIFIED_NAME"; //$NON-NLS-1$
|
||||||
|
else if(kind == IASTCompletionNode.CompletionKind.STRUCT_REFERENCE)
|
||||||
|
kindStr = "STRUCT_REFERENCE"; //$NON-NLS-1$
|
||||||
|
else if(kind == IASTCompletionNode.CompletionKind.UNION_REFERENCE)
|
||||||
|
kindStr = "UNION_REFERENCE"; //$NON-NLS-1$
|
||||||
|
else if(kind == IASTCompletionNode.CompletionKind.ENUM_REFERENCE)
|
||||||
|
kindStr = "ENUM_REFERENCE"; //$NON-NLS-1$
|
||||||
else if(kind == IASTCompletionNode.CompletionKind.NO_SUCH_KIND)
|
else if(kind == IASTCompletionNode.CompletionKind.NO_SUCH_KIND)
|
||||||
kindStr = "NO_SUCH_KIND"; //$NON-NLS-1$
|
kindStr = "NO_SUCH_KIND"; //$NON-NLS-1$
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue