Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[cdt-patch] Applied [HEAD] More Parser fixes

CORE
        Fixed Bug 39556 : 'restrict' qualifier is not supported (ANSI C99) 

        Fixed Bug 43126 : ISourceElementRequestor.acceptParameterReference 
accesses internal class
        Fixed Bug 43062 : Outline is confused on operator methods 
containing spaces 
        Cleaned up some warnings in the parser. 

TESTS
        Moved ASTFailedTests::testBug39556() to QuickParseASTTests.
        Cleaned up some warnings in parser tests. 

JohnC

Index: ChangeLog
===================================================================
RCS file: /home/tools/org.eclipse.cdt.ui/ChangeLog,v
retrieving revision 1.172
diff -u -r1.172 ChangeLog
--- ChangeLog	15 Sep 2003 17:31:28 -0000	1.172
+++ ChangeLog	15 Sep 2003 22:49:41 -0000
@@ -1,3 +1,6 @@
+2003-09-15 John Camelon
+	Fixed Bug 43126 : ISourceElementRequestor.acceptParameterReference accesses internal class
+
 2003-09-13 Andrew Niefer
 	- bug42836 - prepopulate template classes from Outline View
 	- bug43016 - Search: Cannot find macro declarations 
Index: src/org/eclipse/cdt/internal/ui/compare/SourceElementRequestorAdapter.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/compare/SourceElementRequestorAdapter.java,v
retrieving revision 1.4
diff -u -r1.4 SourceElementRequestorAdapter.java
--- src/org/eclipse/cdt/internal/ui/compare/SourceElementRequestorAdapter.java	11 Sep 2003 18:05:17 -0000	1.4
+++ src/org/eclipse/cdt/internal/ui/compare/SourceElementRequestorAdapter.java	15 Sep 2003 22:49:41 -0000
@@ -34,6 +34,7 @@
 import org.eclipse.cdt.core.parser.ast.IASTMethodReference;
 import org.eclipse.cdt.core.parser.ast.IASTNamespaceDefinition;
 import org.eclipse.cdt.core.parser.ast.IASTNamespaceReference;
+import org.eclipse.cdt.core.parser.ast.IASTParameterReference;
 import org.eclipse.cdt.core.parser.ast.IASTTemplateDeclaration;
 import org.eclipse.cdt.core.parser.ast.IASTTemplateInstantiation;
 import org.eclipse.cdt.core.parser.ast.IASTTemplateSpecialization;
@@ -43,7 +44,6 @@
 import org.eclipse.cdt.core.parser.ast.IASTUsingDirective;
 import org.eclipse.cdt.core.parser.ast.IASTVariable;
 import org.eclipse.cdt.core.parser.ast.IASTVariableReference;
-import org.eclipse.cdt.internal.core.parser.ast.complete.ASTParameterReference;
 
 /**
  *
@@ -323,7 +323,7 @@
     /* (non-Javadoc)
      * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#acceptParameterReference(org.eclipse.cdt.internal.core.parser.ast.complete.ASTParameterReference)
      */
-    public void acceptParameterReference(ASTParameterReference reference)
+    public void acceptParameterReference(IASTParameterReference reference)
     {
         // TODO Auto-generated method stub        
     }
Index: ChangeLog
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core.tests/ChangeLog,v
retrieving revision 1.97
diff -u -r1.97 ChangeLog
--- ChangeLog	15 Sep 2003 21:49:55 -0000	1.97
+++ ChangeLog	15 Sep 2003 22:49:15 -0000
@@ -1,3 +1,7 @@
+2003-09-15 John Camelon
+	Moved ASTFailedTests::testBug39556() to QuickParseASTTests.
+	Cleaned up some warnings in parser tests.  
+
 2003-09-15 Andrew Niefer
 	added testGetConditionalOperand_bug43106 to ParserSymbolTableTests
 
Index: failures/org/eclipse/cdt/core/parser/failedTests/ASTFailedTests.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core.tests/failures/org/eclipse/cdt/core/parser/failedTests/ASTFailedTests.java,v
retrieving revision 1.13
diff -u -r1.13 ASTFailedTests.java
--- failures/org/eclipse/cdt/core/parser/failedTests/ASTFailedTests.java	11 Sep 2003 18:06:15 -0000	1.13
+++ failures/org/eclipse/cdt/core/parser/failedTests/ASTFailedTests.java	15 Sep 2003 22:49:16 -0000
@@ -28,7 +28,7 @@
  */
 public class ASTFailedTests extends BaseASTTest
 {
-    private static final boolean debugging = false;
+ 
     public ASTFailedTests(String name)
     {
         super(name);
@@ -112,13 +112,6 @@
     {
         assertCodeFailsParse("_Pragma(\"foobar\")");
     }
-    public void testBug39556() throws Exception
-    {
-        IASTFunction function = (IASTFunction)parse("int *restrict ip_fn (void);").getDeclarations().next();
-        assertFalse(
-            "The expected error did not occur.",
-            function.getReturnType().getPointerOperators().hasNext() );
-    }
     
     //Here C99-specific section ends
     //Here GCC-specific section starts
@@ -304,6 +297,7 @@
     	{
 			IASTFunction f = (IASTFunction)assertSoleDeclaration("int func2 (void) __attribute__((dllexport));");
 			assertNotReached();
+			assertEquals( f.getName(), "func2");
     	} catch( ClassCastException cce )
     	{
     	}
Index: parser/org/eclipse/cdt/core/parser/tests/BaseASTTest.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/BaseASTTest.java,v
retrieving revision 1.8
diff -u -r1.8 BaseASTTest.java
--- parser/org/eclipse/cdt/core/parser/tests/BaseASTTest.java	15 Sep 2003 19:04:48 -0000	1.8
+++ parser/org/eclipse/cdt/core/parser/tests/BaseASTTest.java	15 Sep 2003 22:49:16 -0000
@@ -44,14 +44,21 @@
 	
 	protected IQuickParseCallback quickParseCallback; 
 	protected IParser parser; 
-	protected IASTCompilationUnit parse( String code, boolean quick, boolean throwExceptionOnError ) throws ParserException
+	
+	protected IASTCompilationUnit parse( String code, boolean quick, boolean throwExceptionOnError, ParserLanguage lang ) throws ParserException
 	{
 		ParserMode mode = quick ? ParserMode.QUICK_PARSE : ParserMode.COMPLETE_PARSE; 
 		quickParseCallback = ParserFactory.createQuickParseCallback(); 
-		parser = ParserFactory.createParser( ParserFactory.createScanner( new StringReader( code ), "code", new ScannerInfo(), mode, ParserLanguage.CPP, quickParseCallback), quickParseCallback, mode, ParserLanguage.CPP );
+		parser = ParserFactory.createParser( ParserFactory.createScanner( new StringReader( code ), "code", new ScannerInfo(), mode, lang, quickParseCallback), quickParseCallback, mode, lang );
 		if( ! parser.parse() && throwExceptionOnError )
 			throw new ParserException("Parse failure");
-		return quickParseCallback.getCompilationUnit(); 
+		return quickParseCallback.getCompilationUnit(); 		
+	}
+	
+	
+	protected IASTCompilationUnit parse( String code, boolean quick, boolean throwExceptionOnError ) throws ParserException
+	{
+		return parse( code, quick, throwExceptionOnError, ParserLanguage.CPP );
 	}
 	
 	protected IASTCompilationUnit parse( String code )throws ParserException
Index: parser/org/eclipse/cdt/core/parser/tests/CompleteParseBaseTest.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/CompleteParseBaseTest.java,v
retrieving revision 1.5
diff -u -r1.5 CompleteParseBaseTest.java
--- parser/org/eclipse/cdt/core/parser/tests/CompleteParseBaseTest.java	11 Sep 2003 18:06:15 -0000	1.5
+++ parser/org/eclipse/cdt/core/parser/tests/CompleteParseBaseTest.java	15 Sep 2003 22:49:16 -0000
@@ -22,8 +22,8 @@
 import org.eclipse.cdt.core.parser.IParser;
 import org.eclipse.cdt.core.parser.IProblem;
 import org.eclipse.cdt.core.parser.ISourceElementRequestor;
-import org.eclipse.cdt.core.parser.ParserLanguage;
 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.ast.IASTASMDefinition;
 import org.eclipse.cdt.core.parser.ast.IASTAbstractTypeSpecifierDeclaration;
@@ -47,6 +47,7 @@
 import org.eclipse.cdt.core.parser.ast.IASTMethodReference;
 import org.eclipse.cdt.core.parser.ast.IASTNamespaceDefinition;
 import org.eclipse.cdt.core.parser.ast.IASTNamespaceReference;
+import org.eclipse.cdt.core.parser.ast.IASTParameterReference;
 import org.eclipse.cdt.core.parser.ast.IASTScope;
 import org.eclipse.cdt.core.parser.ast.IASTTemplateDeclaration;
 import org.eclipse.cdt.core.parser.ast.IASTTemplateInstantiation;
@@ -59,7 +60,6 @@
 import org.eclipse.cdt.core.parser.ast.IASTVariableReference;
 import org.eclipse.cdt.internal.core.parser.ParserException;
 import org.eclipse.cdt.internal.core.parser.ScannerInfo;
-import org.eclipse.cdt.internal.core.parser.ast.complete.ASTParameterReference;
 
 /**
  * @author jcamelon
@@ -623,7 +623,7 @@
         /* (non-Javadoc)
          * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#acceptParameterReference(org.eclipse.cdt.internal.core.parser.ast.complete.ASTParameterReference)
          */
-        public void acceptParameterReference(ASTParameterReference reference)
+        public void acceptParameterReference(IASTParameterReference reference)
         {
             references.add( reference );
         }
Index: parser/org/eclipse/cdt/core/parser/tests/ParserSymbolTableTest.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ParserSymbolTableTest.java,v
retrieving revision 1.18
diff -u -r1.18 ParserSymbolTableTest.java
--- parser/org/eclipse/cdt/core/parser/tests/ParserSymbolTableTest.java	15 Sep 2003 21:49:55 -0000	1.18
+++ parser/org/eclipse/cdt/core/parser/tests/ParserSymbolTableTest.java	15 Sep 2003 22:49:17 -0000
@@ -245,7 +245,7 @@
 		a.addParent( b );
 		 
 		try{
-			ISymbol look = a.lookup("foo");
+			a.lookup("foo");
 			assertTrue( false );
 		} catch ( ParserSymbolTableException e) {
 			assertEquals( e.reason, ParserSymbolTableException.r_CircularInheritance );
@@ -2331,7 +2331,7 @@
 		args.add( new TypeInfo( TypeInfo.t_int, 0, null, null, new Integer(2) ) );
 		
 		try{
-			TemplateInstance a5 = a.instantiate( args );
+			a.instantiate( args );
 		} catch ( ParserSymbolTableException e ){
 			assertEquals( e.reason, ParserSymbolTableException.r_Ambiguous );
 		}
Index: parser/org/eclipse/cdt/core/parser/tests/PreprocessorTest.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/PreprocessorTest.java,v
retrieving revision 1.6
diff -u -r1.6 PreprocessorTest.java
--- parser/org/eclipse/cdt/core/parser/tests/PreprocessorTest.java	8 Sep 2003 18:10:55 -0000	1.6
+++ parser/org/eclipse/cdt/core/parser/tests/PreprocessorTest.java	15 Sep 2003 22:49:17 -0000
@@ -74,7 +74,8 @@
 	
 	public IPreprocessor setupPreprocessor( String text, List includePaths, Map defns, ISourceElementRequestor rq )
 	{
-		IPreprocessor p = ParserFactory.createPreprocessor( new StringReader( text ), "test", new ScannerInfo(), ParserMode.COMPLETE_PARSE, ParserLanguage.CPP, rq );
+		IPreprocessor p = ParserFactory.createPreprocessor( new StringReader( text ), "test", new ScannerInfo( defns, 
+				includePaths == null ? null : (String [])includePaths.toArray()), ParserMode.COMPLETE_PARSE, ParserLanguage.CPP, rq );
 		return p; 
 	}
 }
Index: parser/org/eclipse/cdt/core/parser/tests/QuickParseASTTests.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/QuickParseASTTests.java,v
retrieving revision 1.18
diff -u -r1.18 QuickParseASTTests.java
--- parser/org/eclipse/cdt/core/parser/tests/QuickParseASTTests.java	12 Sep 2003 19:11:22 -0000	1.18
+++ parser/org/eclipse/cdt/core/parser/tests/QuickParseASTTests.java	15 Sep 2003 22:49:18 -0000
@@ -14,6 +14,7 @@
 import java.io.Writer;
 import java.util.Iterator;
 
+import org.eclipse.cdt.core.parser.ParserLanguage;
 import org.eclipse.cdt.core.parser.ast.ASTAccessVisibility;
 import org.eclipse.cdt.core.parser.ast.ASTClassKind;
 import org.eclipse.cdt.core.parser.ast.ASTPointerOperator;
@@ -1119,7 +1120,7 @@
 	public void testConstructorChain() throws Exception
 	{
 		Iterator declarations = parse( "TrafficLight_Actor::TrafficLight_Actor( RTController * rtg_rts, RTActorRef * rtg_ref )	: RTActor( rtg_rts, rtg_ref ), myId( 0 ) {}" ).getDeclarations();
-		IASTDeclaration d = (IASTDeclaration)declarations.next(); // cannot properly do this test now with new callback structure in quickparse mode
+		declarations.next(); // cannot properly do this test now with new callback structure in quickparse mode
 	}
 	
 	public void testBug36237() throws Exception
@@ -1305,7 +1306,7 @@
 		Iterator pointerOps = f.getReturnType().getPointerOperators();
 		assertEquals( (ASTPointerOperator)pointerOps.next(), ASTPointerOperator.REFERENCE ); 
 		assertFalse( pointerOps.hasNext() );
-		assertEquals( f.getName(), "A::operator=");
+		assertEquals( f.getName(), "A::operator =");
 		Iterator parms = f.getParameters();
 		IASTParameterDeclaration parm = (IASTParameterDeclaration)parms.next();
 		assertEquals( parm.getName(), "" );
@@ -1551,7 +1552,7 @@
 		Writer code = new StringWriter();
 		code.write("A ( * const fPtr) (void *); \n");
 		code.write("A (* const fPtr2) ( A * ); \n");
-		Iterator declarations = parse(code.toString()).getDeclarations();
+		parse(code.toString()).getDeclarations();
 	}
 
 	// K&R Test hasn't been ported from DOMTests
@@ -1809,6 +1810,10 @@
 		} catch( IOException ioe ){}
 		parse( code.toString() );
 	}
-		
+
+	public void testBug39556() throws Exception
+	{
+		parse("int *restrict ip_fn (void);", true, true, ParserLanguage.C).getDeclarations().next();
+	}		
 		
 }
Index: parser/org/eclipse/cdt/core/parser/tests/ScannerTestCase.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core.tests/parser/org/eclipse/cdt/core/parser/tests/ScannerTestCase.java,v
retrieving revision 1.7
diff -u -r1.7 ScannerTestCase.java
--- parser/org/eclipse/cdt/core/parser/tests/ScannerTestCase.java	9 Sep 2003 18:02:18 -0000	1.7
+++ parser/org/eclipse/cdt/core/parser/tests/ScannerTestCase.java	15 Sep 2003 22:49:18 -0000
@@ -687,7 +687,7 @@
 		try
 		{
 			initializeScanner("#if ! 0\n#error Correct!\n#endif");
-			IToken t= scanner.nextToken();
+			scanner.nextToken();
 			fail(EXPECTED_FAILURE);
 		}
 		catch (ScannerException se)
Index: index/org/eclipse/cdt/internal/core/search/indexing/SourceIndexerRequestor.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/search/indexing/SourceIndexerRequestor.java,v
retrieving revision 1.17
diff -u -r1.17 SourceIndexerRequestor.java
--- index/org/eclipse/cdt/internal/core/search/indexing/SourceIndexerRequestor.java	15 Sep 2003 17:31:22 -0000	1.17
+++ index/org/eclipse/cdt/internal/core/search/indexing/SourceIndexerRequestor.java	15 Sep 2003 22:48:52 -0000
@@ -39,6 +39,7 @@
 import org.eclipse.cdt.core.parser.ast.IASTMethodReference;
 import org.eclipse.cdt.core.parser.ast.IASTNamespaceDefinition;
 import org.eclipse.cdt.core.parser.ast.IASTNamespaceReference;
+import org.eclipse.cdt.core.parser.ast.IASTParameterReference;
 import org.eclipse.cdt.core.parser.ast.IASTTemplateDeclaration;
 import org.eclipse.cdt.core.parser.ast.IASTTemplateInstantiation;
 import org.eclipse.cdt.core.parser.ast.IASTTemplateSpecialization;
@@ -50,7 +51,6 @@
 import org.eclipse.cdt.core.parser.ast.IASTVariable;
 import org.eclipse.cdt.core.parser.ast.IASTVariableReference;
 import org.eclipse.cdt.internal.core.index.IDocument;
-import org.eclipse.cdt.internal.core.parser.ast.complete.ASTParameterReference;
 
 /**
  * @author bgheorgh
@@ -448,7 +448,7 @@
     /* (non-Javadoc)
      * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#acceptParameterReference(org.eclipse.cdt.internal.core.parser.ast.complete.ASTParameterReference)
      */
-    public void acceptParameterReference(ASTParameterReference reference)
+    public void acceptParameterReference(IASTParameterReference reference)
     {
         // TODO Auto-generated method stub
         
Index: model/org/eclipse/cdt/internal/core/model/CModelBuilder.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/CModelBuilder.java,v
retrieving revision 1.16
diff -u -r1.16 CModelBuilder.java
--- model/org/eclipse/cdt/internal/core/model/CModelBuilder.java	8 Sep 2003 18:10:48 -0000	1.16
+++ model/org/eclipse/cdt/internal/core/model/CModelBuilder.java	15 Sep 2003 22:48:52 -0000
@@ -573,7 +573,7 @@
 		parent.addChild( element ); 	
 
 		// hook up the offsets
-		element.setIdPos( functionDeclaration.getNameOffset(), name.length() );
+		element.setIdPos( functionDeclaration.getNameOffset(), functionDeclaration.getNameEndOffset() - functionDeclaration.getNameOffset() );
 		if(!isTemplate){
 			// set the element position		
 			element.setPos(functionDeclaration.getStartingOffset(), functionDeclaration.getEndingOffset() - functionDeclaration.getStartingOffset());	
Index: parser/ChangeLog
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/parser/ChangeLog,v
retrieving revision 1.127
diff -u -r1.127 ChangeLog
--- parser/ChangeLog	15 Sep 2003 21:50:00 -0000	1.127
+++ parser/ChangeLog	15 Sep 2003 22:48:53 -0000
@@ -1,3 +1,9 @@
+2003-09-15 John Camelon
+	Fixed Bug 39556 : 'restrict' qualifier is not supported (ANSI C99) 
+	Fixed Bug 43126 : ISourceElementRequestor.acceptParameterReference accesses internal class
+	Fixed Bug 43062 : Outline is confused on operator methods containing spaces 
+	Cleaned up some warnings in the parser. 
+
 2003-09-15 Andrew Niefer
 	bug43106 - added getConditionalOperand to ParserSymbolTable
 
Index: parser/org/eclipse/cdt/core/parser/ISourceElementRequestor.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/parser/ISourceElementRequestor.java,v
retrieving revision 1.13
diff -u -r1.13 ISourceElementRequestor.java
--- parser/org/eclipse/cdt/core/parser/ISourceElementRequestor.java	11 Sep 2003 18:05:53 -0000	1.13
+++ parser/org/eclipse/cdt/core/parser/ISourceElementRequestor.java	15 Sep 2003 22:48:53 -0000
@@ -31,6 +31,7 @@
 import org.eclipse.cdt.core.parser.ast.IASTMethodReference;
 import org.eclipse.cdt.core.parser.ast.IASTNamespaceDefinition;
 import org.eclipse.cdt.core.parser.ast.IASTNamespaceReference;
+import org.eclipse.cdt.core.parser.ast.IASTParameterReference;
 import org.eclipse.cdt.core.parser.ast.IASTTemplateDeclaration;
 import org.eclipse.cdt.core.parser.ast.IASTTemplateInstantiation;
 import org.eclipse.cdt.core.parser.ast.IASTTemplateSpecialization;
@@ -40,7 +41,6 @@
 import org.eclipse.cdt.core.parser.ast.IASTUsingDirective;
 import org.eclipse.cdt.core.parser.ast.IASTVariable;
 import org.eclipse.cdt.core.parser.ast.IASTVariableReference;
-import org.eclipse.cdt.internal.core.parser.ast.complete.ASTParameterReference;
 
 /**
  * @author jcamelon
@@ -91,7 +91,7 @@
 	public void acceptFieldReference( IASTFieldReference reference );
 	public void acceptMethodReference( IASTMethodReference reference );
 	public void acceptEnumeratorReference( IASTEnumeratorReference reference );
-	public void acceptParameterReference(ASTParameterReference reference);
+	public void acceptParameterReference(IASTParameterReference reference);
 	
 	public void exitTemplateDeclaration( IASTTemplateDeclaration declaration );
 	public void exitTemplateSpecialization( IASTTemplateSpecialization specialization );
Index: parser/org/eclipse/cdt/core/parser/ast/ASTPointerOperator.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/parser/ast/ASTPointerOperator.java,v
retrieving revision 1.2
diff -u -r1.2 ASTPointerOperator.java
--- parser/org/eclipse/cdt/core/parser/ast/ASTPointerOperator.java	17 Jul 2003 20:15:13 -0000	1.2
+++ parser/org/eclipse/cdt/core/parser/ast/ASTPointerOperator.java	15 Sep 2003 22:48:53 -0000
@@ -18,11 +18,11 @@
  */
 public class ASTPointerOperator extends Enum 
 {
-	public static final ASTPointerOperator REFERENCE 	 			 	= new ASTPointerOperator( 0 ); 
+    public static final ASTPointerOperator REFERENCE 	 			 	= new ASTPointerOperator( 0 ); 
 	public static final ASTPointerOperator POINTER 		 			 	= new ASTPointerOperator( 1 );
 	public static final ASTPointerOperator CONST_POINTER 			 	= new ASTPointerOperator( 2 );
 	public static final ASTPointerOperator VOLATILE_POINTER 		 	= new ASTPointerOperator( 3 );
-
+	public static final ASTPointerOperator RESTRICT_POINTER             = new ASTPointerOperator( 4 );
 
     /**
      * @param enumValue
Index: parser/org/eclipse/cdt/core/parser/ast/IASTFactory.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/parser/ast/IASTFactory.java,v
retrieving revision 1.31
diff -u -r1.31 IASTFactory.java
--- parser/org/eclipse/cdt/core/parser/ast/IASTFactory.java	12 Sep 2003 18:36:36 -0000	1.31
+++ parser/org/eclipse/cdt/core/parser/ast/IASTFactory.java	15 Sep 2003 22:48:53 -0000
@@ -133,6 +133,7 @@
     public IASTFunction createFunction(
         IASTScope scope,
         String name,
+        int nameEndOffset,
         List parameters,
         IASTAbstractDeclaration returnType,
         IASTExceptionSpecification exception,
@@ -141,13 +142,12 @@
         boolean isStatic,
         int startOffset,
         int nameOffset,
-        IASTTemplate ownerTemplate,
+		IASTTemplate ownerTemplate,
 		boolean isConst,
 		boolean isVolatile,
 		boolean isVirtual,
 		boolean isExplicit,
-		boolean isPureVirtual,
-		ASTAccessVisibility visibility, List constructorChain, boolean isDefinition ) throws ASTSemanticException;
+		boolean isPureVirtual, ASTAccessVisibility visibility, List constructorChain, boolean isDefinition ) throws ASTSemanticException;
     public IASTAbstractDeclaration createAbstractDeclaration(
         boolean isConst,
         boolean isVolatile,
@@ -156,6 +156,7 @@
     public IASTMethod createMethod(
         IASTScope scope,
         String name,
+        int nameEndOffset,
         List parameters,
         IASTAbstractDeclaration returnType,
         IASTExceptionSpecification exception,
@@ -169,8 +170,7 @@
         boolean isVolatile,
         boolean isVirtual,
         boolean isExplicit,
-        boolean isPureVirtual,
-        ASTAccessVisibility visibility, List constructorChain, boolean isDefinition) throws ASTSemanticException;
+        boolean isPureVirtual, ASTAccessVisibility visibility, List constructorChain, boolean isDefinition) throws ASTSemanticException;
         
 	public IASTVariable createVariable(IASTScope scope, String name, boolean isAuto, IASTInitializerClause initializerClause, IASTExpression bitfieldExpression, 
 		   IASTAbstractDeclaration abstractDeclaration, boolean isMutable, boolean isExtern, boolean isRegister, boolean isStatic, int startingOffset, int nameOffset, IASTExpression constructorExpression ) throws ASTSemanticException;
Index: parser/org/eclipse/cdt/core/parser/ast/IASTFunction.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/parser/org/eclipse/cdt/core/parser/ast/IASTFunction.java,v
retrieving revision 1.8
diff -u -r1.8 IASTFunction.java
--- parser/org/eclipse/cdt/core/parser/ast/IASTFunction.java	15 Sep 2003 19:04:43 -0000	1.8
+++ parser/org/eclipse/cdt/core/parser/ast/IASTFunction.java	15 Sep 2003 22:48:53 -0000
@@ -35,4 +35,5 @@
 	
 	public boolean previouslyDeclared();
 
+	public int getNameEndOffset(); // necessary for operator new, etc. which are > 1 token
 }
Index: parser/org/eclipse/cdt/internal/core/parser/ContextStack.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ContextStack.java,v
retrieving revision 1.14
diff -u -r1.14 ContextStack.java
--- parser/org/eclipse/cdt/internal/core/parser/ContextStack.java	9 Sep 2003 18:02:40 -0000	1.14
+++ parser/org/eclipse/cdt/internal/core/parser/ContextStack.java	15 Sep 2003 22:48:53 -0000
@@ -14,7 +14,6 @@
 import java.io.IOException;
 import java.io.Reader;
 import java.util.HashSet;
-import java.util.Iterator;
 import java.util.LinkedList;
 import java.util.Set;
 import java.util.Stack;
@@ -118,7 +117,6 @@
 		int size = undoStack.size();
 		if( size > 0 )
 		{
-			Iterator iter = undoStack.iterator();
 			for( int i = size; i > 0; i-- )
 			{
 				push( (IScannerContext) undoStack.removeFirst(), requestor );
Index: parser/org/eclipse/cdt/internal/core/parser/DeclarationWrapper.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/DeclarationWrapper.java,v
retrieving revision 1.18
diff -u -r1.18 DeclarationWrapper.java
--- parser/org/eclipse/cdt/internal/core/parser/DeclarationWrapper.java	12 Sep 2003 18:36:36 -0000	1.18
+++ parser/org/eclipse/cdt/internal/core/parser/DeclarationWrapper.java	15 Sep 2003 22:48:53 -0000
@@ -38,6 +38,7 @@
  */
 public class DeclarationWrapper implements IDeclaratorOwner
 { 
+    private boolean restrict;
     private int endOffset;
     private ITokenDuple name;
     private Type simpleType =
@@ -418,6 +419,7 @@
             .createMethod(
                 scope,
                 nested ? declarator.getOwnedDeclarator().getName() : declarator.getName(),
+				declarator.getNameEndOffset(),
                 createParameterList(declarator.getParameters()),
                 astFactory.createAbstractDeclaration(
                     constt,
@@ -432,12 +434,11 @@
                 declarator.getNameStartOffset(),
                 templateDeclaration,
                 declarator.isConst(),
-                declarator.isVolatile(),
-		        virtual,
+		        declarator.isVolatile(),
+	            virtual,
 	            explicit,
-	            declarator.isPureVirtual(),
-	            ((IASTClassSpecifier)scope).getCurrentVisibilityMode(), declarator.getConstructorMemberInitializers(), 
-	            declarator.hasFunctionBody());
+	            declarator.isPureVirtual(), ((IASTClassSpecifier)scope).getCurrentVisibilityMode(), 
+	            declarator.getConstructorMemberInitializers(), declarator.hasFunctionBody());
     }
     /**
      * @param declarator
@@ -448,6 +449,7 @@
         return astFactory.createFunction(
             scope,
 			nested ? declarator.getOwnedDeclarator().getName() : declarator.getName(),
+            declarator.getNameEndOffset(),
             createParameterList(declarator.getParameters()),
             astFactory.createAbstractDeclaration(
                 constt,
@@ -460,15 +462,14 @@
             staticc,
             startingOffset,
             declarator.getNameStartOffset(),
-            templateDeclaration,
+		templateDeclaration,
 		declarator.isConst(),
 		declarator.isVolatile(),
 		virtual,
 		explicit,
 		declarator.isPureVirtual(),
-		ASTAccessVisibility.PUBLIC,
-		declarator.getConstructorMemberInitializers(), 
-		declarator.hasFunctionBody() );
+		ASTAccessVisibility.PUBLIC, 
+		declarator.getConstructorMemberInitializers(), declarator.hasFunctionBody() );
     }
     /**
      * @param declarator
@@ -663,6 +664,22 @@
     public int getEndOffset()
     {
         return endOffset;
+    }
+    /**
+     * @param b
+     */
+    public void setRestrict(boolean b)
+    {
+        restrict = b;
+    }
+    
+
+    /**
+     * @return
+     */
+    public boolean isRestrict()
+    {
+        return restrict;
     }
 
 }
Index: parser/org/eclipse/cdt/internal/core/parser/NullSourceElementRequestor.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/NullSourceElementRequestor.java,v
retrieving revision 1.13
diff -u -r1.13 NullSourceElementRequestor.java
--- parser/org/eclipse/cdt/internal/core/parser/NullSourceElementRequestor.java	11 Sep 2003 18:05:55 -0000	1.13
+++ parser/org/eclipse/cdt/internal/core/parser/NullSourceElementRequestor.java	15 Sep 2003 22:48:53 -0000
@@ -23,6 +23,7 @@
 import org.eclipse.cdt.core.parser.ast.IASTMethodReference;
 import org.eclipse.cdt.core.parser.ast.IASTNamespaceDefinition;
 import org.eclipse.cdt.core.parser.ast.IASTNamespaceReference;
+import org.eclipse.cdt.core.parser.ast.IASTParameterReference;
 import org.eclipse.cdt.core.parser.ast.IASTTemplateDeclaration;
 import org.eclipse.cdt.core.parser.ast.IASTTemplateInstantiation;
 import org.eclipse.cdt.core.parser.ast.IASTTemplateSpecialization;
@@ -32,7 +33,6 @@
 import org.eclipse.cdt.core.parser.ast.IASTUsingDirective;
 import org.eclipse.cdt.core.parser.ast.IASTVariable;
 import org.eclipse.cdt.core.parser.ast.IASTVariableReference;
-import org.eclipse.cdt.internal.core.parser.ast.complete.ASTParameterReference;
 
 
 public class NullSourceElementRequestor implements ISourceElementRequestor 
@@ -438,7 +438,7 @@
     /* (non-Javadoc)
      * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#acceptParameterReference(org.eclipse.cdt.internal.core.parser.ast.complete.ASTParameterReference)
      */
-    public void acceptParameterReference(ASTParameterReference reference)
+    public void acceptParameterReference(IASTParameterReference reference)
     {
         // TODO Auto-generated method stub
         
Index: parser/org/eclipse/cdt/internal/core/parser/Parser.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/Parser.java,v
retrieving revision 1.110
diff -u -r1.110 Parser.java
--- parser/org/eclipse/cdt/internal/core/parser/Parser.java	15 Sep 2003 19:04:43 -0000	1.110
+++ parser/org/eclipse/cdt/internal/core/parser/Parser.java	15 Sep 2003 22:48:56 -0000
@@ -43,7 +43,6 @@
 import org.eclipse.cdt.core.parser.ast.IASTFactory;
 import org.eclipse.cdt.core.parser.ast.IASTInitializerClause;
 import org.eclipse.cdt.core.parser.ast.IASTLinkageSpecification;
-import org.eclipse.cdt.core.parser.ast.IASTNamespaceAlias;
 import org.eclipse.cdt.core.parser.ast.IASTNamespaceDefinition;
 import org.eclipse.cdt.core.parser.ast.IASTOffsetableElement;
 import org.eclipse.cdt.core.parser.ast.IASTScope;
@@ -60,6 +59,7 @@
 import org.eclipse.cdt.core.parser.ast.IASTExpression.Kind;
 import org.eclipse.cdt.internal.core.model.IDebugLogConstants;
 import org.eclipse.cdt.internal.core.model.Util;
+
 /**
  * This is our first implementation of the IParser interface, serving as a parser for
  * ANSI C and C++.
@@ -70,7 +70,6 @@
  */
 public class Parser implements IParser
 {
-    private ClassNameType access;
     private static int DEFAULT_OFFSET = -1;
     // sentinel initial value for offsets 
     private int firstErrorOffset = DEFAULT_OFFSET;
@@ -552,7 +551,7 @@
             }
             else if (LT(1) == IToken.t_template)
             {
-                IToken kind = consume(IToken.t_template);
+                consume(IToken.t_template);
                 consume(IToken.tLT);
 
                 List subResult = templateParameterList(scope);
@@ -803,12 +802,10 @@
 				throw backtrack;
 
         	ITokenDuple duple = name();
-        	        	
-        	IASTNamespaceAlias alias = null; 
         	
         	try
             {
-                alias = astFactory.createNamespaceAlias( 
+                astFactory.createNamespaceAlias( 
                 	scope, identifier.toString(), duple, first.getOffset(), 
                 	identifier.getOffset(), duple.getLastToken().getEndOffset() );
             }
@@ -881,14 +878,11 @@
             }
         }
 
-
-        boolean done = false;
         boolean hasFunctionBody = false;
         switch (LT(1))
         {
             case IToken.tSEMI :
                 consume(IToken.tSEMI);
-                done = true;
                 break;
             case IToken.tCOLON :
                 if (forKR)
@@ -1752,6 +1746,15 @@
             	result = consume( IToken.t_volatile ); 
 				if( declarator != null ) declarator.addPtrOp(ASTPointerOperator.VOLATILE_POINTER);
                 break;
+            case IToken.t_restrict : 
+            	if( language == ParserLanguage.C )
+            	{
+            		result = consume( IToken.t_restrict );
+					if( declarator != null ) declarator.addPtrOp(ASTPointerOperator.RESTRICT_POINTER);
+					break;
+            	}
+            	else 
+            		throw backtrack;
             default :
                 
         }
@@ -1805,7 +1808,6 @@
     {
         if (LT(1) == IToken.tLBRACE)
         {
-            //TODO - parse this for real
             consume(IToken.tLBRACE);
             if (LT(1) == (IToken.tRBRACE))
             {
@@ -1835,8 +1837,6 @@
         // assignmentExpression || { initializerList , } || { }
         try
         {
-  
-            IToken marked = mark();
             IASTExpression assignmentExpression =
                 assignmentExpression(scope);
    
@@ -1847,7 +1847,7 @@
         }
         catch (Backtrack b)
         {
-			// who cares
+			// do nothing
         }
         throw backtrack;
     }
@@ -2859,7 +2859,7 @@
         IASTExpression assignmentExpression = assignmentExpression(scope);
         while (LT(1) == IToken.tCOMMA)
         {
-            IToken t = consume();
+            consume();
             IASTExpression secondExpression = assignmentExpression(scope);
             try
             {
@@ -2960,7 +2960,7 @@
         IASTExpression.Kind kind, IASTExpression lhs )
         throws EndOfFile, Backtrack
     {
-        IToken t = consume();
+        consume();
         IASTExpression assignmentExpression = assignmentExpression(scope);
  
         try
@@ -3058,7 +3058,7 @@
         IASTExpression firstExpression = logicalAndExpression(scope);
         while (LT(1) == IToken.tOR)
         {
-            IToken t = consume();
+            consume();
             IASTExpression secondExpression = logicalAndExpression(scope);
 
             try
@@ -3091,7 +3091,7 @@
         IASTExpression firstExpression = inclusiveOrExpression( scope );
         while (LT(1) == IToken.tAND)
         {
-            IToken t = consume();
+            consume();
             IASTExpression secondExpression = inclusiveOrExpression( scope );
             try
             {
@@ -3123,7 +3123,7 @@
         IASTExpression firstExpression = exclusiveOrExpression(scope);
         while (LT(1) == IToken.tBITOR)
         {
-            IToken t = consume();
+            consume();
             IASTExpression secondExpression = exclusiveOrExpression(scope);
   
             try
@@ -3156,7 +3156,7 @@
         IASTExpression firstExpression = andExpression( scope );
         while (LT(1) == IToken.tXOR)
         {
-            IToken t = consume();
+            consume();
             IASTExpression secondExpression = andExpression( scope );
 
             try
@@ -3188,7 +3188,7 @@
         IASTExpression firstExpression = equalityExpression(scope);
         while (LT(1) == IToken.tAMPER)
         {
-            IToken t = consume();
+            consume();
             IASTExpression secondExpression = equalityExpression(scope);
  
             try
@@ -3843,8 +3843,7 @@
 		}
     }
     protected IASTExpression unaryOperatorCastExpression( IASTScope scope,
-        IASTExpression.Kind kind,
-        IToken consumed)
+        IASTExpression.Kind kind)
         throws Backtrack
     {
         IASTExpression castExpression = castExpression(scope);
@@ -3875,37 +3874,37 @@
         switch (LT(1))
         {
             case IToken.tSTAR :
+            	consume();
                 return unaryOperatorCastExpression(scope,
-                    IASTExpression.Kind.UNARY_STAR_CASTEXPRESSION,
-                    consume());
+                    IASTExpression.Kind.UNARY_STAR_CASTEXPRESSION);
             case IToken.tAMPER :
+				consume();
                 return unaryOperatorCastExpression(scope,
-                    IASTExpression.Kind.UNARY_AMPSND_CASTEXPRESSION,
-                    consume());
+                    IASTExpression.Kind.UNARY_AMPSND_CASTEXPRESSION);
             case IToken.tPLUS :
+				consume();
                 return unaryOperatorCastExpression(scope,
-                    IASTExpression.Kind.UNARY_PLUS_CASTEXPRESSION,
-                    consume());
+                    IASTExpression.Kind.UNARY_PLUS_CASTEXPRESSION);
             case IToken.tMINUS :
+				consume();        
                 return unaryOperatorCastExpression(scope,
-                    IASTExpression.Kind.UNARY_MINUS_CASTEXPRESSION,
-                    consume());
+                    IASTExpression.Kind.UNARY_MINUS_CASTEXPRESSION);
             case IToken.tNOT :
+            	consume();
                 return unaryOperatorCastExpression(scope,
-                    IASTExpression.Kind.UNARY_NOT_CASTEXPRESSION,
-                    consume());
+                    IASTExpression.Kind.UNARY_NOT_CASTEXPRESSION);
             case IToken.tCOMPL :
+            	consume();
                 return unaryOperatorCastExpression(scope,
-                    IASTExpression.Kind.UNARY_TILDE_CASTEXPRESSION,
-                    consume());
+                    IASTExpression.Kind.UNARY_TILDE_CASTEXPRESSION);
             case IToken.tINCR :
+            	consume();
                 return unaryOperatorCastExpression(scope,
-                    IASTExpression.Kind.UNARY_INCREMENT,
-                    consume());
+                    IASTExpression.Kind.UNARY_INCREMENT);
             case IToken.tDECR :
+            	consume();
                 return unaryOperatorCastExpression(scope,
-                    IASTExpression.Kind.UNARY_DECREMENT,
-                    consume());
+                    IASTExpression.Kind.UNARY_DECREMENT);
             case IToken.t_sizeof :
                 consume(IToken.t_sizeof);
                 IToken mark = LA(1);
Index: parser/org/eclipse/cdt/internal/core/parser/ParserException.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ParserException.java,v
retrieving revision 1.3
diff -u -r1.3 ParserException.java
--- parser/org/eclipse/cdt/internal/core/parser/ParserException.java	13 Jun 2003 20:03:15 -0000	1.3
+++ parser/org/eclipse/cdt/internal/core/parser/ParserException.java	15 Sep 2003 22:48:56 -0000
@@ -10,13 +10,9 @@
  ******************************************************************************/
 package org.eclipse.cdt.internal.core.parser;
 
-import org.eclipse.cdt.core.parser.IToken;
 
 public class ParserException extends Exception {
 
-	public ParserException(IToken t) {
-	}
-	
 	public ParserException( String msg ) 
 	{
 		super( msg ); 
Index: parser/org/eclipse/cdt/internal/core/parser/Scanner.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/Scanner.java,v
retrieving revision 1.53
diff -u -r1.53 Scanner.java
--- parser/org/eclipse/cdt/internal/core/parser/Scanner.java	11 Sep 2003 18:05:55 -0000	1.53
+++ parser/org/eclipse/cdt/internal/core/parser/Scanner.java	15 Sep 2003 22:48:56 -0000
@@ -356,8 +356,7 @@
 	private static final String START = "<initial reader>";
 	private static final String EXPRESSION = "<expression>";
 	private static final String PASTING = "<pasting>";
-	private static final String BAD_PP =
-		"Invalid preprocessor directive encountered at offset ";
+
 	private static final String DEFINED = "defined";
 	private static final String POUND_DEFINE = "#define ";
 
@@ -623,8 +622,7 @@
 
 		while (c != NOCHAR) {
 			if ( ! passOnToClient ) {
-				
-				int state = 0; 
+			
 				
 				while (c != NOCHAR && c != '#' ) 
 				{
@@ -1565,8 +1563,6 @@
                  
                 // string
                 StringBuffer buff = new StringBuffer(); 
-                int beforePrevious = NOCHAR;
-                int previous = c;
                 c = getChar(true);
 
                 for( ; ; )
@@ -1574,8 +1570,6 @@
                     if ( c =='"' ) break;
                     if( c == NOCHAR) break;  
                     buff.append((char) c);
-                    beforePrevious = previous;
-                    previous = c;
                     c = getChar(true);
                 }
 
@@ -2279,7 +2273,6 @@
 				for (int i = 0; i < numberOfTokens; ++i) {
 					t = (Token) tokens.get(i);
 					if (t.type == IToken.tIDENTIFIER) {
-						String identifierName = t.image;
 
 						// is this identifier in the parameterNames
 						// list? 
Index: parser/org/eclipse/cdt/internal/core/parser/TokenDuple.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/TokenDuple.java,v
retrieving revision 1.10
diff -u -r1.10 TokenDuple.java
--- parser/org/eclipse/cdt/internal/core/parser/TokenDuple.java	14 Aug 2003 19:49:44 -0000	1.10
+++ parser/org/eclipse/cdt/internal/core/parser/TokenDuple.java	15 Sep 2003 22:48:57 -0000
@@ -88,6 +88,8 @@
 		for( ; ; )
 		{
 			buff.append( iter.getImage() );
+			if( iter.getType() == IToken.t_operator )
+				buff.append( ' ');
 			if( iter == lastToken ) break;
 			iter = iter.getNext();
 		}
Index: parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTFunction.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTFunction.java,v
retrieving revision 1.6
diff -u -r1.6 ASTFunction.java
--- parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTFunction.java	15 Sep 2003 19:04:43 -0000	1.6
+++ parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTFunction.java	15 Sep 2003 22:48:57 -0000
@@ -40,7 +40,8 @@
     private NamedOffsets offsets = new NamedOffsets(); 
 	private final ASTQualifiedNamedElement qualifiedName;
 	private final List parameters;
-	protected final ASTReferenceStore references;    
+	protected final ASTReferenceStore references;
+	private final int nameEndOffset;  
 	
     /**
      * @param symbol
@@ -52,11 +53,11 @@
      * @param ownerTemplate
      * @param references
      */
-    public ASTFunction(IParameterizedSymbol symbol, List parameters, IASTAbstractDeclaration returnType, IASTExceptionSpecification exception, int startOffset, int nameOffset, IASTTemplate ownerTemplate, List references, boolean previouslyDeclared )
+    public ASTFunction(IParameterizedSymbol symbol, int nameEndOffset, List parameters, IASTAbstractDeclaration returnType, IASTExceptionSpecification exception, int startOffset, int nameOffset, IASTTemplate ownerTemplate, List references, boolean previouslyDeclared )
     {
     	super( symbol );
     	this.parameters = parameters;
-    	
+    	this.nameEndOffset = nameEndOffset;
     	this.returnType = returnType; 
     	this.exception = exception; 
     	setStartingOffset(startOffset);
@@ -260,5 +261,15 @@
     public boolean previouslyDeclared()
     {
         return previouslyDeclared;
+    }
+
+
+    /* (non-Javadoc)
+     * @see org.eclipse.cdt.core.parser.ast.IASTFunction#getNameEndOffset()
+     */
+    public int getNameEndOffset()
+    {
+        // TODO Auto-generated method stub
+        return 0;
     }
 }
Index: parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTMethod.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTMethod.java,v
retrieving revision 1.6
diff -u -r1.6 ASTMethod.java
--- parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTMethod.java	15 Sep 2003 19:04:43 -0000	1.6
+++ parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTMethod.java	15 Sep 2003 22:48:57 -0000
@@ -45,11 +45,12 @@
      * @param ownerTemplate
      * @param references
      */
-    public ASTMethod(IParameterizedSymbol symbol, List parameters, IASTAbstractDeclaration returnType, IASTExceptionSpecification exception, int startOffset, int nameOffset, IASTTemplate ownerTemplate, List references, boolean previouslyDeclared, 
+    public ASTMethod(IParameterizedSymbol symbol, int nameEndOffset, List parameters, IASTAbstractDeclaration returnType, IASTExceptionSpecification exception, int startOffset, int nameOffset, IASTTemplate ownerTemplate, List references, boolean previouslyDeclared, 
 	boolean isConstructor, boolean isDestructor, boolean isPureVirtual, ASTAccessVisibility visibility, List constructorChain )
     {
         super(
             symbol,
+            nameEndOffset,
             parameters,
             returnType,
             exception,
Index: parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTParameterDeclaration.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTParameterDeclaration.java,v
retrieving revision 1.4
diff -u -r1.4 ASTParameterDeclaration.java
--- parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTParameterDeclaration.java	12 Sep 2003 18:36:36 -0000	1.4
+++ parser/org/eclipse/cdt/internal/core/parser/ast/complete/ASTParameterDeclaration.java	15 Sep 2003 22:48:57 -0000
@@ -161,6 +161,7 @@
     {
         offsets.setEndingOffset(o);
     }
+    
     /* (non-Javadoc)
      * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getStartingOffset()
      */
@@ -168,16 +169,13 @@
     {
         return offsets.getStartingOffset();
     }
+    
     /* (non-Javadoc)
      * @see org.eclipse.cdt.core.parser.ast.IASTOffsetableElement#getEndingOffset()
      */
     public int getEndingOffset()
     {
         return offsets.getEndingOffset();
-    }
-
-
-    
-    
+    }    
     
 }
Index: parser/org/eclipse/cdt/internal/core/parser/ast/complete/CompleteParseASTFactory.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/complete/CompleteParseASTFactory.java,v
retrieving revision 1.38
diff -u -r1.38 CompleteParseASTFactory.java
--- parser/org/eclipse/cdt/internal/core/parser/ast/complete/CompleteParseASTFactory.java	15 Sep 2003 19:04:43 -0000	1.38
+++ parser/org/eclipse/cdt/internal/core/parser/ast/complete/CompleteParseASTFactory.java	15 Sep 2003 22:48:58 -0000
@@ -1270,6 +1270,7 @@
 	public IASTFunction createFunction(
 	    IASTScope scope,
 	    String name,
+	    int nameEndOffset,
 	    List parameters,
 	    IASTAbstractDeclaration returnType,
 	    IASTExceptionSpecification exception,
@@ -1278,14 +1279,13 @@
 	    boolean isStatic,
 	    int startOffset,
 	    int nameOffset,
-	    IASTTemplate ownerTemplate,
+		IASTTemplate ownerTemplate,
 		boolean isConst,
 		boolean isVolatile,
 		boolean isVirtual,
 		boolean isExplicit,
-		boolean isPureVirtual,
-		ASTAccessVisibility visibility, 
-		List constructorChain, boolean isFunctionDefinition ) throws ASTSemanticException
+		boolean isPureVirtual, 
+		ASTAccessVisibility visibility, List constructorChain, boolean isFunctionDefinition ) throws ASTSemanticException
 	{
 		List references = new ArrayList();
 		IContainerSymbol ownerScope = scopeToSymbol( scope );		
@@ -1341,7 +1341,7 @@
 					ASTMethodReference reference = (ASTMethodReference) functionReferences.iterator().next();
 					visibility = ((IASTMethod)reference.getReferencedElement()).getVisiblity();		
 				}
-				return createMethod(scope, functionName, parameters, returnType,
+				return createMethod(scope, functionName, nameEndOffset, parameters, returnType,
 				exception, isInline, isFriend, isStatic, startOffset, offset,
 				ownerTemplate, isConst, isVolatile, isVirtual, isExplicit, isPureVirtual,
 				visibility, constructorChain,parentName, references, isFunctionDefinition);
@@ -1387,7 +1387,7 @@
 		{
 			throw new ASTSemanticException();   
 		}
-		ASTFunction function = new ASTFunction( symbol, parameters, returnType, exception, startOffset, nameOffset, ownerTemplate, references, previouslyDeclared );        
+		ASTFunction function = new ASTFunction( symbol, nameEndOffset, parameters, returnType, exception, startOffset, nameOffset, ownerTemplate, references, previouslyDeclared );        
 	    try
 	    {
 	        attachSymbolExtension(symbol, function);
@@ -1580,6 +1580,7 @@
 	public IASTMethod createMethod(
 		IASTScope scope,
 		String name,
+		int nameEndOffset,
 		List parameters,
 		IASTAbstractDeclaration returnType,
 		IASTExceptionSpecification exception,
@@ -1593,11 +1594,10 @@
 		boolean isVolatile,
 		boolean isVirtual,
 		boolean isExplicit,
-		boolean isPureVirtual,
-		ASTAccessVisibility visibility, 
-		List constructorChain, boolean isFunctionDefinition ) throws ASTSemanticException
+		boolean isPureVirtual, 
+		ASTAccessVisibility visibility, List constructorChain, boolean isFunctionDefinition ) throws ASTSemanticException
 	{
-		return createMethod(scope, name, parameters, returnType,
+		return createMethod(scope, name, nameEndOffset, parameters, returnType,
 		exception, isInline, isFriend, isStatic, startOffset, nameOffset,
 		ownerTemplate, isConst, isVolatile, isVirtual, isExplicit, isPureVirtual,
 		visibility, constructorChain,scopeToSymbol(scope).getName(), null, isFunctionDefinition );
@@ -1606,6 +1606,7 @@
     public IASTMethod createMethod(
         IASTScope scope,
         String name,
+        int nameEndOffset, 
         List parameters,
         IASTAbstractDeclaration returnType,
         IASTExceptionSpecification exception,
@@ -1669,7 +1670,7 @@
 		boolean previouslyDeclared = false; 
 		//TODO : Hoda - if symbol was previously declared in PST, then set this to true
   
-        ASTMethod method = new ASTMethod( symbol, parameters, returnType, exception, startOffset, nameOffset, ownerTemplate, references, previouslyDeclared, isConstructor, isDestructor, isPureVirtual, visibility, constructorChain );
+        ASTMethod method = new ASTMethod( symbol, nameEndOffset, parameters, returnType, exception, startOffset, nameOffset, ownerTemplate, references, previouslyDeclared, isConstructor, isDestructor, isPureVirtual, visibility, constructorChain );
         try
         {
             attachSymbolExtension( symbol, method );
Index: parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTFunction.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTFunction.java,v
retrieving revision 1.10
diff -u -r1.10 ASTFunction.java
--- parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTFunction.java	15 Sep 2003 19:04:43 -0000	1.10
+++ parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTFunction.java	15 Sep 2003 22:48:58 -0000
@@ -34,7 +34,7 @@
 	/**
      * @param scope
      */
-    public ASTFunction(IASTScope scope, String name, List parameters, IASTAbstractDeclaration returnType, IASTExceptionSpecification exception, 
+    public ASTFunction(IASTScope scope, String name, int nameEndOffset, List parameters, IASTAbstractDeclaration returnType, IASTExceptionSpecification exception, 
     			boolean isInline, boolean isFriend, boolean isStatic, int startOffset, int nameOffset, IASTTemplate ownerTemplate )
     {
         super(ownerTemplate != null ? null : scope  );
@@ -51,8 +51,10 @@
         offsets.setStartingOffset( startOffset );
         offsets.setNameOffset( nameOffset );
         qualifiedName = new ASTQualifiedNamedElement( scope, name );
+        this.nameEndOffset = nameEndOffset;
     }
     
+    private final int nameEndOffset;
     private boolean hasFunctionBody = false;
     private final IASTQualifiedNameElement qualifiedName; 
     private final IASTTemplate ownerTemplateDeclaration;
@@ -225,5 +227,12 @@
     {
         // TODO Auto-generated method stub
         return false;
+    }
+    /* (non-Javadoc)
+     * @see org.eclipse.cdt.core.parser.ast.IASTFunction#getNameEndOffset()
+     */
+    public int getNameEndOffset()
+    {
+        return nameEndOffset;
     }
 }
Index: parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTMethod.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTMethod.java,v
retrieving revision 1.5
diff -u -r1.5 ASTMethod.java
--- parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTMethod.java	13 Aug 2003 23:54:05 -0000	1.5
+++ parser/org/eclipse/cdt/internal/core/parser/ast/quick/ASTMethod.java	15 Sep 2003 22:48:58 -0000
@@ -54,6 +54,7 @@
     public ASTMethod(
         IASTScope scope,
         String name,
+        int nameEndOffset,
         List parameters,
         IASTAbstractDeclaration returnType,
         IASTExceptionSpecification exception,
@@ -74,6 +75,7 @@
         super(
             scope,
             name,
+            nameEndOffset, 
             parameters,
             returnType,
             exception,
Index: parser/org/eclipse/cdt/internal/core/parser/ast/quick/QuickParseASTFactory.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/ast/quick/QuickParseASTFactory.java,v
retrieving revision 1.33
diff -u -r1.33 QuickParseASTFactory.java
--- parser/org/eclipse/cdt/internal/core/parser/ast/quick/QuickParseASTFactory.java	12 Sep 2003 18:36:36 -0000	1.33
+++ parser/org/eclipse/cdt/internal/core/parser/ast/quick/QuickParseASTFactory.java	15 Sep 2003 22:48:58 -0000
@@ -188,17 +188,17 @@
     /* (non-Javadoc)
      * @see org.eclipse.cdt.core.parser.ast.IASTFactory#createFunction(org.eclipse.cdt.core.parser.ast.IASTScope, java.lang.String, java.util.List, org.eclipse.cdt.core.parser.ast.IASTAbstractDeclaration, org.eclipse.cdt.core.parser.ast.IASTExceptionSpecification, boolean, boolean, boolean, int, int, org.eclipse.cdt.core.parser.ast.IASTTemplateDeclaration)
      */
-    public IASTFunction createFunction(IASTScope scope, String name, List parameters, IASTAbstractDeclaration returnType, IASTExceptionSpecification exception, boolean isInline, boolean isFriend, boolean isStatic, int startOffset, int nameOffset, IASTTemplate ownerTemplate, boolean isConst, boolean isVolatile, boolean isVirtual, boolean isExplicit, boolean isPureVirtual, ASTAccessVisibility visibility, List constructorChain, boolean isFunctionDefinition )
+    public IASTFunction createFunction(IASTScope scope, String name, int nameEndOffset, List parameters, IASTAbstractDeclaration returnType, IASTExceptionSpecification exception, boolean isInline, boolean isFriend, boolean isStatic, int startOffset, int nameOffset, IASTTemplate ownerTemplate, boolean isConst, boolean isVolatile, boolean isVirtual, boolean isExplicit, boolean isPureVirtual, ASTAccessVisibility visibility, List constructorChain, boolean isFunctionDefinition )
     {
-        return new ASTFunction(scope, name, parameters, returnType, exception, isInline, isFriend, isStatic, startOffset, nameOffset, ownerTemplate );
+        return new ASTFunction(scope, name, nameEndOffset, parameters, returnType, exception, isInline, isFriend, isStatic, startOffset, nameOffset, ownerTemplate );
     }
 
     /* (non-Javadoc)
      * @see org.eclipse.cdt.core.parser.ast.IASTFactory#createMethod(org.eclipse.cdt.core.parser.ast.IASTScope, java.lang.String, java.util.List, org.eclipse.cdt.core.parser.ast.IASTAbstractDeclaration, org.eclipse.cdt.core.parser.ast.IASTExceptionSpecification, boolean, boolean, boolean, int, int, org.eclipse.cdt.core.parser.ast.IASTTemplateDeclaration, boolean, boolean, boolean, boolean, boolean, boolean, boolean, org.eclipse.cdt.core.parser.ast.ASTAccessVisibility)
      */
-	public IASTMethod createMethod(IASTScope scope, String name, List parameters, IASTAbstractDeclaration returnType, IASTExceptionSpecification exception, boolean isInline, boolean isFriend, boolean isStatic, int startOffset, int nameOffset, IASTTemplate ownerTemplate, boolean isConst, boolean isVolatile, boolean isVirtual, boolean isExplicit, boolean isPureVirtual, ASTAccessVisibility visibility, List constructorChain, boolean isFunctionDefinition )
+	public IASTMethod createMethod(IASTScope scope, String name, int nameEndOffset, List parameters, IASTAbstractDeclaration returnType, IASTExceptionSpecification exception, boolean isInline, boolean isFriend, boolean isStatic, int startOffset, int nameOffset, IASTTemplate ownerTemplate, boolean isConst, boolean isVolatile, boolean isVirtual, boolean isExplicit, boolean isPureVirtual, ASTAccessVisibility visibility, List constructorChain, boolean isFunctionDefinition )
 	{
-        return new ASTMethod(scope, name, parameters, returnType, exception, isInline, isFriend, isStatic, startOffset, nameOffset, ownerTemplate, isConst, isVolatile, false, false, isVirtual, isExplicit, isPureVirtual, visibility, constructorChain);
+        return new ASTMethod(scope, name, nameEndOffset, parameters, returnType, exception, isInline, isFriend, isStatic, startOffset, nameOffset, ownerTemplate, isConst, isVolatile, false, false, isVirtual, isExplicit, isPureVirtual, visibility, constructorChain);
     }
 
     /* (non-Javadoc)
Index: search/org/eclipse/cdt/internal/core/search/matching/MatchLocator.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/search/org/eclipse/cdt/internal/core/search/matching/MatchLocator.java,v
retrieving revision 1.28
diff -u -r1.28 MatchLocator.java
--- search/org/eclipse/cdt/internal/core/search/matching/MatchLocator.java	15 Sep 2003 17:31:22 -0000	1.28
+++ search/org/eclipse/cdt/internal/core/search/matching/MatchLocator.java	15 Sep 2003 22:48:59 -0000
@@ -32,8 +32,8 @@
 import org.eclipse.cdt.core.parser.IScannerInfoProvider;
 import org.eclipse.cdt.core.parser.ISourceElementCallbackDelegate;
 import org.eclipse.cdt.core.parser.ISourceElementRequestor;
-import org.eclipse.cdt.core.parser.ParserLanguage;
 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.ast.IASTASMDefinition;
 import org.eclipse.cdt.core.parser.ast.IASTAbstractTypeSpecifierDeclaration;
@@ -58,6 +58,7 @@
 import org.eclipse.cdt.core.parser.ast.IASTNamespaceDefinition;
 import org.eclipse.cdt.core.parser.ast.IASTNamespaceReference;
 import org.eclipse.cdt.core.parser.ast.IASTOffsetableNamedElement;
+import org.eclipse.cdt.core.parser.ast.IASTParameterReference;
 import org.eclipse.cdt.core.parser.ast.IASTReference;
 import org.eclipse.cdt.core.parser.ast.IASTScope;
 import org.eclipse.cdt.core.parser.ast.IASTTemplateDeclaration;
@@ -76,7 +77,6 @@
 import org.eclipse.cdt.core.search.IMatch;
 import org.eclipse.cdt.internal.core.model.IWorkingCopy;
 import org.eclipse.cdt.internal.core.parser.ScannerInfo;
-import org.eclipse.cdt.internal.core.parser.ast.complete.ASTParameterReference;
 import org.eclipse.core.resources.IFile;
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.resources.IResource;
@@ -513,7 +513,7 @@
     /* (non-Javadoc)
      * @see org.eclipse.cdt.core.parser.ISourceElementRequestor#acceptParameterReference(org.eclipse.cdt.internal.core.parser.ast.complete.ASTParameterReference)
      */
-    public void acceptParameterReference(ASTParameterReference reference)
+    public void acceptParameterReference(IASTParameterReference reference)
     {
         // TODO Auto-generated method stub
         

Back to the top