From e97cc0fc46d051d40171a916d0aabb0aea2c5ca6 Mon Sep 17 00:00:00 2001 From: Doug Schaefer Date: Fri, 7 Mar 2003 19:45:52 +0000 Subject: [PATCH] Patch for John Camelon: - Fixing initDeclarators for outline view --- .../cdt/internal/core/parser/Parser.java | 50 ++++++++++++------- 1 file changed, 32 insertions(+), 18 deletions(-) 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 09967371512..bb638bb24ef 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 @@ -466,6 +466,16 @@ c, quick); } } } + else if( LT(1) == Token.tLPAREN ) + { + consume(); // EAT IT! + + constantExpression(); + + if( LT(1) == Token.tRPAREN ) + consume(); + + } callback.declaratorEnd( declarator ); } @@ -511,26 +521,30 @@ c, quick); for (;;) { switch (LT(1)) { case Token.tLPAREN: - // parameterDeclarationClause - Object clause = callback.argumentsBegin(declarator); - consume(); - parameterDeclarationLoop: - for (;;) { - switch (LT(1)) { - case Token.tRPAREN: - consume(); - break parameterDeclarationLoop; - case Token.tELIPSE: - consume(); - break; - case Token.tCOMMA: - consume(); - break; - default: - parameterDeclaration( clause ); + // temporary fix for initializer/function declaration ambiguity + if( LT(2) != Token.tINTEGER ) + { + // parameterDeclarationClause + Object clause = callback.argumentsBegin(declarator); + consume(); + parameterDeclarationLoop: + for (;;) { + switch (LT(1)) { + case Token.tRPAREN: + consume(); + break parameterDeclarationLoop; + case Token.tELIPSE: + consume(); + break; + case Token.tCOMMA: + consume(); + break; + default: + parameterDeclaration( clause ); + } } + callback.argumentsEnd(clause); } - callback.argumentsEnd(clause); break; case Token.tLBRACKET: consume();