1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-06-06 01:06:01 +02:00
Commit graph

249 commits

Author SHA1 Message Date
John Camelon
192a8293ce org.eclipse.cdt.core
====================
Renamed IASTNode.LookupResult IASTNode.ILookupResult.  
Introduced new ParseError exception for contextual parse() methods.  
Renamed ParserFactoryException ParserFactoryError.  
Replaced ParserNotImplementedException with a variant of ParseError.
Updated IScanner & IParser to not reference OffsetLimitReachedException explicitly. 
Renamed ParserMode.CONTEXTUAL_PARSE to COMPLETION_PARSE.  
Cleaned up IMacroDescriptor and made Scanner definitions table consistent.
Added IScanner.getDefinitions() to return the entire Map of definitions to a client.
Removed most of the warnings from parser source directory.  
Removed the unused SyntaxErrorException. 
Provided partial fix for Bug 44370  IASTMacro requires more information for clients.  

org.eclipse.cdt.core.tests
==========================
Updated references to LookupResult as it was renamed to ILookupResult.  
Removed some warnings from parser tests.  
Updated Scanner & QuickParseTests to accommodate new errors and signatures.  
Added QuickParseASTTests.testBug44370().  

org.eclipse.cdt.ui
==================
Updated references to LookupResult as it was renamed to ILookupResult.  
Updated references of ParserFactoryException to ParserFactoryError.
Updated references of ParserNotImplementedException to ParseError. 
Updated references of CONTEXTUAL_PARSE to COMPLETION_PARSE.
2004-01-15 13:38:02 +00:00
John Camelon
2c18a23f89 CORE
Fixed bug 48909 - Wrong completion node after a . or an ->
	Fixed bug 49702 - Wrong completion kind sent in const/dest and code blocks
	Added new CompletionKind - STATEMENT_START to indicate the beginning of a statement line.  

TESTS
	Updated ContextualParseTest to accommodate bugfixes 48909 & 49702.  

UI
	Updated CompletionEngine to handle IASTCompletionKind.CompletionKind.STATEMENT_START
2004-01-13 17:07:02 +00:00
John Camelon
51fc347c92 Patch for Andrew Niefer.
Core:
        Added IParameterizedSymbol.setHasVariableArgs() &
hasVariableArgs()
        Modified ParserSymbolTable.resolveFunction & reduceToViable
        Modified CompleteParseASTFactory.createMethod & createFunction

Tests:
        Added CompleteParseASTTest.testBug43110_XRef
        Added ParserSymbolTableTest.testBug43110_Ellipses
        Added ParserSymbolTableTest.testBug43110_EllipsesRanking
        Added ParserSymbolTableTest.testBug43110_EllipsesRanking_2
2004-01-09 16:59:30 +00:00
John Camelon
15e4fa6b79 Patch for Andrew Niefer
Core:
        Added IDerivableContainerSymbol.lookupFunctionForFriendship.
        Modified IASTFactory.createMethod to take an ITokenDuple for the 
method name.
        Added LookupType.FORFRIENDSHIP and use it in LookupElement.
        Modified CompleteParseASTFactory.createMethod to handle friend 
functions.

Tests:
        Added CompleteParseASTTest::testBug48307_FriendFunction_1
        Added CompleteParseASTTest::testBug48307_FriendFunction_2
2004-01-08 16:57:54 +00:00
John Camelon
7a48cc3a16 Patch for Andrew Niefer
CORE

Support the content assist lookup kind LookupKind.THIS, where the lookup 
looks in the class of the this pointer.
Fix a bug where the forward declared functions/methods appeared twice in 
the content assist results .

TESTS

Added ContextualParseTest::testCompletionLookup_LookupKindTHIS
2004-01-07 02:00:22 +00:00
John Camelon
d02df84a93 CORE
Renamed IToken::tELIPSE to IToken::tELLIPSIS
	Partially fixed Bug 43110 : Parser support needed for functions with ellipses 

TESTS
	Added CompleteParseASTTest::testBug43110() and QuickParseASTTests::testBug43110().
2004-01-06 15:26:48 +00:00
John Camelon
0ec807acad CORE
Removed warnings.  
	Moved StructuralParseCallback from model to parser directory to facilitate building the parser standalone.
2004-01-05 21:31:04 +00:00
Hoda Amer
4ce12b38ca Content Assist work: Bug fixing 2003-12-31 18:37:59 +00:00
Hoda Amer
7dc9ef21ba Content Assist work : Template Engine work 2003-12-22 21:12:56 +00:00
Hoda Amer
67ad10a37b Symbol Table work for Content Assist By Andrew 2003-12-17 20:51:39 +00:00
Hoda Amer
33f033599d Content Assist work 2003-12-17 19:21:32 +00:00
Hoda Amer
c8b4fb4ce5 Symbol Table work for Content Assist By Andrew 2003-12-16 15:18:16 +00:00
Hoda Amer
a8950694c7 Fix for [Bug 47234] new ParserMode required for a better CModel 2003-12-15 19:50:46 +00:00
John Camelon
15c39a3ed3 CORE
Added preliminary keyword support into IASTCompletionNode::getKeywords().  
	Refactored parser to put keyword string literals in one utility class.  

TESTS
	Updated testBaseCase_SimpleDeclaration() for keyword assertions.
2003-12-12 19:44:52 +00:00
John Camelon
938c206289 CORE
Added OffsetLimitReachedException and restructured Parser exceptions.  
	Continued support for code assist/selection search parser.  
	Ensured all source in parser/ have copyright notices.  

TESTS
	Expanded ContextualParseTest::testBaseCase().  
	Updated tests to deal with new signatures/exceptions.  

UI
	Updated CompletionEngine to deal with new signatures/exceptions in parser.
2003-12-12 02:03:55 +00:00
John Camelon
bce674ac9a Patch for Andrew Niefer. 2003-12-10 00:07:32 +00:00
Hoda Amer
0b91eeb637 Content Assist work 2003-12-09 19:58:34 +00:00
John Camelon
b363b30e27 CORE
Fixed Bug 47234 : new ParserMode required for a better CModel
	Updated IASTCompletionNode to include a scope as well as a context.  
	Begun parser updates to support code assist & selection search.  

TESTS
	Added ContextualParseTest.java and some test cases.
2003-12-09 16:39:15 +00:00
John Camelon
4ec086bfd1 Broke the Parser up into separate classes per ParserMode. 2003-12-05 21:17:52 +00:00
John Camelon
1a4a0704fc Removed unnecessary import. 2003-12-05 19:48:32 +00:00
John Camelon
7ff25dd4c8 CORE
Removed some warnings. 
	Fixed Bug 39678 : Scanner doesn't support concatenation of different-type string literals (GCC) 
	Refactored ScannerContext to use constructors rather than initializers.  
	Refactored IScannerContext to use enumeration-esque kinds.  
	Added code assist/selection search support to Scanner.  

TESTS
	Removed some warnings.  
	Moved testBug39678() from ASTFailedTests to QuickParseASTTests.
2003-12-04 21:28:56 +00:00
John Camelon
e43eb360d1 Patch for Andrew Niefer.
This patch changes the handling of ambiguities during prefix lookup.
It also addresses problems in the symbol table to do with qualified 
lookup.  Fixing these revealed problems caused by the 
CompleteParseASTFactory not always using the correct lookup functions.  So 
the factory has been modified to call the appropriate lookups.

The following tests have been created:
        FailedCompleteParseASTTest.testBug47926
        CompleteParseASTTest.testQualifiedLookup
        ParserSymbolTableTest.testPrefixLookup_Ambiguities
        ParserSymbolTableTest.testQualifiedUnqualifiedLookup
        FunctionMethodPatternTests.testLookupForDefinition
2003-12-03 21:48:19 +00:00
Hoda Amer
307d4a1d40 Content Assist work 2003-12-03 20:29:29 +00:00
John Camelon
21f4465862 Patch for Andrew Niefer
CompleteParseASTFactory should use the symbol table's elaboratedLookup 
instead of qualifiedLookup when it encounters an elaborated type 
specifier.

Core:
change createElaboratedTypeSpecifier to call 
IContainerSymbol.elaboratedLookup

Core.tests
add CompleteParseASTTest.testBug47624
2003-11-28 05:07:26 +00:00
John Camelon
0adb9b9d20 Patch for Andrew Niefer.
Core:
        In prefix lookup, the lookup does not stop when a symbol is found, also abiguity resolution is modified.
        Add IContainerSymbol.prefixLookup (signature subject to change)
        Add ParserSymbolTable.LookupMode, an enum with 2 values: NORMAL, PREFIX
        In prefix mode, the lookup does not stop when a symbol is found.

Tests:
        ParserSymbolTableTest.testBug46882
        ParserSymbolTableTest.testPrefixLookup_Unqualified
        ParserSymbolTableTest.testPrefixLookup_Qualified
        ParserSymbolTableTest.testPrefixLookup_Inheritance
2003-11-28 04:58:00 +00:00
Hoda Amer
32fc5c80ab New Content Assist framework 2003-11-27 19:25:49 +00:00
John Camelon
fcfd56c2af Patch for Andrew Niefer.
Refactor the symbol table by splitting the ParserSymbolTable.Declaration 
class in 4 classes and moving it to not be nested
Tests have been updated and tested on windows & Linux
2003-11-20 15:23:01 +00:00
Hoda Amer
008ec4a579 Completion Engine Work 2003-11-19 15:11:51 +00:00
Hoda Amer
4d7450e8fb Bug Fixes for the complete AST factory 2003-11-13 19:27:29 +00:00
John Camelon
df634f2e75 CORE
Fixed Bug 39554 : _Pragma directive is not supported (ANSI C99) 

TESTS
	Moved testBug39554() from ASTFailedTests to QuickParseASTTests.
2003-11-07 19:49:36 +00:00
John Camelon
39f8ff8c86 Removed one last remainder of core.model.Util in parser to unbreak 2.0 build. 2003-11-06 19:41:33 +00:00
John Camelon
13b7aeb128 CORE
Fixed Bug 44838 : exception when resolving parameter references in a constructor 
	Fixed Bug 46165 : fields referenced in constructor chains are not called back upon 
	Fixed Bug 45551 : Macro replacement in #include <file.h> directives 

TESTS
	Added CompleteParseASTTest::testBug44838().  
	Added CompleteParseASTTest::testBug46165().  
	Added ScannerTestCase::testBug45551().
2003-11-06 04:57:38 +00:00
John Camelon
97e203468e CORE
Cleaned up the ParserFactory interface to check for validity of input arguments.  
	Moved NullSourceElementRequestor and ScannerInfo to public interface as requested. 
	Restructured code so that no Eclipse/CDT source outside the parser source directory is used.
	Updated parser clients to use new ParserFactory (stand-alone parser work item).  	

UI & TESTS
	Updated parser clients to use new ParserFactory (stand-alone parser work item).
2003-11-05 23:35:28 +00:00
John Camelon
56c76eb3e7 CORE
Removed warnings from parser source tree.  
	Removed preliminary task tags support to clean up parser interfaces and implementation.   
	Added preliminary IProblem support to 

UI
	Updated parser clients to use new IProblem strategy.  

TESTS
	Updated parser clients to use new IProblem strategy.
2003-11-05 18:15:21 +00:00
John Camelon
83382d0514 Added initial code assist/parser interface. 2003-11-03 14:17:15 +00:00
John Camelon
1a068f661e Patch for Andrew Niefer
core:
Fixed Bug 44925 : Search: Elaborated type specifier
Partially Fixed Bug 44510 : C/C++ Search gives wrong results 

ui:
Fixed Bug 44337 : Disabling of "definition" not making sense in Search 
dialog
Fixed Bug 44947 : Navigate from Outline: Enumeration type not 
pre-populated
Fixed Bug 44948 : Navigate via Open Declarations: typedef decl not found
2003-11-03 14:00:24 +00:00
John Camelon
a95faa4dbe CORE
Fixed Bug 45476 : preprocessor macro "defined" not handled correctly 
	Fixed Bug 45477 : macro redefines prevent further parsing 

TESTS
	Added testBug45476() to ScannerTestCase.  
	Added testBug45477() to ScannerTestCase.
2003-10-24 21:34:15 +00:00
John Camelon
5be9f16c62 CORE
Fixed Bug 39542 : Parser fails on 'struct' parameter types 
	Fixed Bug 39549 : Designated initializers are not supported (ANSI C99) 
	Fixed Bug 39551 : Complex and imaginary numbers are not supported (ANSI C99) 

TESTS
	Moved testBug39542() from ASTFailedTests to QuickParseASTTests.
	Moved testBug39549() from ASTFailedTests to QuickParseASTTests.
	Added testCDesignatedInitializers() to CompleteParseASTTests.
	Moved testBug39551A() from ASTFailedTests to QuickParseASTTests. 
	Moved testBug39551B() from ASTFailedTests to QuickParseASTTests. 
	Added testCBool() to QuickParseASTTests.  
	Added testBug39551A(), testBug39551B() and testCBool to CompleteParseTests.
2003-10-24 17:49:22 +00:00
John Camelon
dfdfecab15 CORE
Fixed Bug 40007 : Parser reports success when it fails
	Fixed Bug 44305 : Scanner/preprocessor fails on conditionals using hexidecimal 
	Fixed Bug 41935 : parser provides wrong name on namespace aliases 
	Fixed Bug 39525 : Parser fails on expressions that take address of overloaded operators 
	Fixed Bug 45287 : Scanner does not accept character sequence literals 
	Fixed Bug 36550 : Error recovery with unterminated string is weak 
	Fixed Bug 41063 : Remove unused K&R C support from ANSI Parser 
	Fixed Bug 39528 : Function try-blocks are not supported by the parser (ANSI C++) 
	Fixed Bug 39538 : Parser fails on explicit instantiation of templated operators 
	Fixed Bug 39536 : Parser fails on templated constructors/conversion operators 
	Refactored Scanner to make it easier to debug.  

TESTS
	Moved testBug40007() from ASTFailedTests to QuickParseASTTests.  
	Added QuickParseASTTests::testBug40759().  
	Added QuickParseASTTests::testBug44633().  
	Added ScannerTestCase::testBug44305().  
	Added QuickParseASTTests::testBug41935(). 
	Moved testBug39525() from ASTFailedTests to QuickParseASTTests.  
	Added ScannerTestCase::testBug45287(). 
	Moved testBug39528() from ASTFailedTests to QuickParseASTTests.  
	Moved testBug39538() from ASTFailedTests to QuickParseASTTests.  
	Added QuickParseASTTests::testBug39536().  
	Moved testBug39536A() from ASTFailedTests to QuickParseASTTests.  
	Moved testBug39536B() from ASTFailedTests to QuickParseASTTests.
2003-10-21 23:22:40 +00:00
John Camelon
e63b06fc5f Patch for Andrew Niefer
core:
  PST changes:
  - modify lookupConstructor to copy the constructor list before resolving 
on it
  - modify checkUserDefinedConversionSequence the same way
  - modify isValidFunctionOverload to check for forward declarations

core.tests:
- added testBug43951 to CompleteParseASTTest
2003-10-01 21:15:45 +00:00
John Camelon
9b33f17d3f CORE
Fixed Bug 43987 : Search results: Declaration of class not highlighted when selected 
	Fixed Bug 43997 : Search results: selection includes preceding whitespace 
	Fixed Bug 44034 : Scanner failure on #undef
2003-10-01 20:34:58 +00:00
John Camelon
0d05a8342d Patch for Bogdan Gheorghe.
This patch fixes the indexer merge problem on large projects. 

Automation Test Suite run on Windows + Linux.
2003-10-01 19:43:06 +00:00
John Camelon
c3b63fb508 Patch for Andrew Niefer
Bug 43450 - Path strings containing backslashes need quoting by hand
The user needs to input strings in whatever manner necessary for their 
build tools to work.  If that means quoting them, then quote them.

However, if the user does quote them, then the scanner needs to handle 
that when looking for include files:

core:
-modify Scanner.handleInclusion

core.tests:
- added testBug43450 to ManagedBuildTests.java
- added a user include to plugin.xml
2003-10-01 17:10:20 +00:00
John Camelon
46a9e7fd6f Patch for Bogdan Gheorghe.
Here's a patch that creates and manages a CDT log file in the .metadata\.plugins\org.eclipse.cdt.core folder. This log file, for now, will contain indexer failure messages and parser failure messages - particularly inclusion failures. These messages were being logged to the PDE error log which, given the number of failures that we can expect on some files, was filling up rather quickly. I put a 5MB limit on the CDT log file after which it gets deleted and a new one gets created. The intent of this log file is to help a user figure out why something isn't being indexed properly - the usual reasons are: i) can't find an include file, ii) symbols not defined. 

Also in this patch are 2 minor UI fixes: i) dedicated to Brent - Ctrl+H now brings up the C++ Search Dialog for all C Editor supported extensions, and ii) especially for Alain - F3 will perform a Open Declarations.
2003-10-01 13:33:39 +00:00
John Camelon
007714a394 CORE
Fixed Bug 43503 : Search:f_SD_01 cannot be found in ManyClasses20 Project 
	Fixed Bug 43680 : Fix Parser Error Handling 

TESTS
	Updated CompleteParseASTTest::testBug42872()
	Moved FailedCompleteParseASTTest::testBug43503() to CompleteParseASTTest::testBug43503A().
2003-09-30 20:42:24 +00:00
John Camelon
1a408fd237 Patch for Hoda Amer
Core: 
        -Solution to [Bug 43053] require reference cleanup for expressions 
        Added purgeReferences() at the end of ASTExpression::acceptElement()
2003-09-30 19:44:22 +00:00
John Camelon
e3e3ba0e9e Patch for Andrew Niefer
Core:
PST changes for bug 43503 - parser needs to know the different between 
ambiguous functions
        and no functions when no parameter information is provided
        - throw r_UnableToResolveFunction if we have more than 1 function 
and no parameter info was given
        - handle this case in addUsingDeclaration.
        * note that r_UnableToResolveFunction doesn't necessarily mean 
ambiguous if we had enough information

Core.Tests:
added testBug43503_AmbiguousUsing() and 
testBug43503_UnableToResolveFunction() to ParserSymbolTableTest
2003-09-30 18:03:20 +00:00
John Camelon
16c24c6cc9 Patch for Hoda Amer
Core: 
        Solution to bug#43679 : Exceptions in indexer 
Tests: 
        -Added testBug43679_A() & testBug43679_B() to CompleteParseASTTest 
        -Renamed FailedCompleteParseASTExpressionTest to FailedCompleteParseASTTest 
        -Added FailedCompleteParseASTTest::testBug43503()
2003-09-30 13:51:56 +00:00
John Camelon
746563ed2b Patch for Andrew Niefer
Core:
- fixed bug 43834 : Empty Parameter list and parameter list taking one 
void do not match
- fix NPE if IScannerInfoProvider returns null IScannerInfo

Tests:
- added testbug43834 to ParserSymbolTableTest
2003-09-29 19:49:19 +00:00
John Camelon
e95da4dade CORE
Continued work on Bug 43062 : Outline is confused on operator methods containing spaces 
	Partial fix for   Bug 43680 : Fix Parser Error Handling 

TEST
	Added testErrorHandling_1() to CompleteParseASTTest.java.
2003-09-29 19:22:09 +00:00