From e50393060e2aec4fbcc58e1fa3150dba4a152140 Mon Sep 17 00:00:00 2001 From: John Camelon Date: Fri, 30 Apr 2004 14:59:53 +0000 Subject: [PATCH] Partial fix for https://bugs.eclipse.org/bugs/show_bug.cgi?id=60298 --- .../core/parser/ExpressionParser.java | 2 +- .../cdt/internal/core/parser/Parser.java | 35 ++++++++++--------- 2 files changed, 20 insertions(+), 17 deletions(-) diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ExpressionParser.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ExpressionParser.java index 269d8fab9e8..25fa12b7e4d 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ExpressionParser.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ExpressionParser.java @@ -694,7 +694,7 @@ public class ExpressionParser implements IExpressionParser, IParserData { { try { - nameDuple = name(d.getScope(), CompletionKind.USER_SPECIFIED_NAME, Key.EMPTY ); + nameDuple = name(d.getScope(), CompletionKind.SINGLE_NAME_REFERENCE, Key.EMPTY ); } catch( BacktrackException bt ) { 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 5c4f4ac0b87..736c70d89c7 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 @@ -866,7 +866,7 @@ public abstract class Parser extends ExpressionParser implements IParser IASTCompletionNode.CompletionKind kind = getCompletionKindForDeclaration(scope, null); - setCompletionValues(scope,CompletionKind.USER_SPECIFIED_NAME, Key.EMPTY ); + setCompletionValues(scope,CompletionKind.NAMESPACE_REFERENCE, Key.EMPTY ); IToken identifier = null; // optional name if (LT(1) == IToken.tIDENTIFIER) @@ -1271,7 +1271,7 @@ public abstract class Parser extends ExpressionParser implements IParser throw backtrack; } - setCompletionValues(scope,CompletionKind.USER_SPECIFIED_NAME,Key.EMPTY ); + setCompletionValues(scope,CompletionKind.SINGLE_NAME_REFERENCE,Key.EMPTY ); if (LT(1) != IToken.tSEMI) initDeclarator(sdw, SimpleDeclarationStrategy.TRY_FUNCTION, CompletionKind.VARIABLE_TYPE ); @@ -1643,30 +1643,22 @@ public abstract class Parser extends ExpressionParser implements IParser // TODO - Kludgy way to handle constructors/destructors if (flags.haveEncounteredRawType()) { - if (typeNameBegin != null) - sdw.setTypeName( - new TokenDuple(typeNameBegin, typeNameEnd)); + setTypeName(sdw, typeNameBegin, typeNameEnd); return; } if (parm && flags.haveEncounteredTypename()) { - if (typeNameBegin != null) - sdw.setTypeName( - new TokenDuple(typeNameBegin, typeNameEnd)); + setTypeName(sdw, typeNameBegin, typeNameEnd); return; } if (lookAheadForConstructorOrConversion(flags, sdw, kind)) { - if (typeNameBegin != null) - sdw.setTypeName( - new TokenDuple(typeNameBegin, typeNameEnd)); + setTypeName(sdw, typeNameBegin, typeNameEnd); return; } if (lookAheadForDeclarator(flags)) { - if (typeNameBegin != null) - sdw.setTypeName( - new TokenDuple(typeNameBegin, typeNameEnd)); + setTypeName(sdw, typeNameBegin, typeNameEnd); return; } @@ -1722,11 +1714,22 @@ public abstract class Parser extends ExpressionParser implements IParser break declSpecifiers; } } - if (typeNameBegin != null) - sdw.setTypeName(new TokenDuple(typeNameBegin, typeNameEnd)); + setTypeName(sdw, typeNameBegin, typeNameEnd); return; } /** + * @param sdw + * @param typeNameBegin + * @param typeNameEnd + */ + private void setTypeName(DeclarationWrapper sdw, IToken typeNameBegin, IToken typeNameEnd) { + if (typeNameBegin != null) + sdw.setTypeName( + new TokenDuple(typeNameBegin, typeNameEnd)); + } + + + /** * Parse an elaborated type specifier. * * @param decl Declaration which owns the elaborated type