[
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