From 8fda490dee74966147c0057a26bb4865d31738ab Mon Sep 17 00:00:00 2001 From: John Camelon Date: Tue, 30 Mar 2004 12:47:04 +0000 Subject: [PATCH] Partial fix for Bug 56614 - Content Assist] Global variables do not appear in a global completion list --- core/org.eclipse.cdt.core/parser/ChangeLog-parser | 3 +++ .../org/eclipse/cdt/internal/core/parser/Parser.java | 11 ++++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/core/org.eclipse.cdt.core/parser/ChangeLog-parser b/core/org.eclipse.cdt.core/parser/ChangeLog-parser index ae7c7468e46..c4a27947c00 100644 --- a/core/org.eclipse.cdt.core/parser/ChangeLog-parser +++ b/core/org.eclipse.cdt.core/parser/ChangeLog-parser @@ -1,3 +1,6 @@ +2004-03-30 John Camelon + Partial fix for Bug 56614 - Content Assist] Global variables do not appear in a global completion list + 2004-03-29 Andrew Niefer fixed bug 56620 - Outline view stops on error on last line of block (errorHandling() goes to far) diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/Parser.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/Parser.java index f027042304f..acb06e57a79 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/Parser.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/Parser.java @@ -1746,11 +1746,14 @@ public abstract class Parser extends ExpressionParser implements IParser { // handle initializer final IASTScope scope = d.getDeclarationWrapper().getScope(); + setCompletionValues(scope,CompletionKind.NO_SUCH_KIND,Key.EMPTY); if (LT(1) == IToken.tASSIGN) { consume(IToken.tASSIGN); + setCompletionValues(scope,CompletionKind.SINGLE_NAME_REFERENCE,Key.EMPTY); IASTInitializerClause clause = initializerClause(scope); d.setInitializerClause(clause); + setCompletionValues(scope,CompletionKind.NO_SUCH_KIND,Key.EMPTY); } else if (LT(1) == IToken.tLPAREN ) { @@ -1759,8 +1762,10 @@ public abstract class Parser extends ExpressionParser implements IParser try { consume(IToken.tLPAREN); // EAT IT! + setCompletionValues(scope,CompletionKind.SINGLE_NAME_REFERENCE,Key.EMPTY); IASTExpression astExpression = null; astExpression = expression(scope); + setCompletionValues(scope,CompletionKind.NO_SUCH_KIND,Key.EMPTY); consume(IToken.tRPAREN); d.setConstructorExpression(astExpression); } catch( BacktrackException bt ) @@ -1773,10 +1778,14 @@ public abstract class Parser extends ExpressionParser implements IParser protected void optionalCInitializer( Declarator d ) throws EndOfFileException, BacktrackException { + final IASTScope scope = d.getDeclarationWrapper().getScope(); + setCompletionValues(scope,CompletionKind.NO_SUCH_KIND,Key.EMPTY); if( LT(1) == IToken.tASSIGN ) { consume( IToken.tASSIGN ); - d.setInitializerClause( cInitializerClause(d.getDeclarationWrapper().getScope(), EMPTY_LIST ) ); + setCompletionValues(scope,CompletionKind.SINGLE_NAME_REFERENCE,Key.EMPTY); + d.setInitializerClause( cInitializerClause(scope, EMPTY_LIST ) ); + setCompletionValues(scope,CompletionKind.NO_SUCH_KIND,Key.EMPTY); } } /**