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

271 commits

Author SHA1 Message Date
John Camelon
a581a6aa81 org.eclipse.cdt.core
Fixed Bug 50711 - Wrong completion kind in a new expression

org.eclipse.cdt.ui.tests
Updated and renamed CompletionFailedTest_NewTypeReference_NoPrefix_Bug50711 to CompletionTest_NewTypeReference_NoPrefix, moving it to the success tests directory.
Updated and renamed CompletionFailedTest_NewTypeReference_Prefix_Bug50711 to CompletionTest_NewTypeReference_Prefix, moving it to the success tests directory.
2004-01-28 22:31:24 +00:00
John Camelon
6dbe39d0d0 org.eclipse.cdt.core
Updated Scanner to add ANSI built-in defined macros for C and C++.
     Updated GCCScannerExtension to add GCC specific defined macros for C++.
     Added factory infrastructure to allow for C/C++ dialect extensions to be added and contained.
     Added IASTExpressionExtension w/implementation to allow for GCC specific leniency on evaluating expressions.

org.clipse.cdt.ui.tests
    Updated CompletionTest_SingleName_NoPrefix to include internal macro definitions.
2004-01-28 19:59:20 +00:00
Hoda Amer
8742531520 Patch For Andrew : Fix for bug#50729 : Visibility is incorrectly decided in inheritance 2004-01-28 19:23:43 +00:00
John Camelon
ebd53b2c6d org.eclipse.cdt.core
Refactored parser to allow for cleaner content assist implementation.  
	Removed IASTCompletionNode.CompletionKind.STATEMENT_START as it is redundant.  
	Fixed bug 50640 - Wrong completion kind when expecting an exception 
	Fixed bug 50471 - Wrong completion kind after the "using" keyword
	Fixed bug 50621 - Wrong completion kind in a class declaration 

org.eclipse.cdt.core.tests
	Renamed ContextualParseTest to CompletionParseTest.
	Updated COMPLETION_PARSE clients to use SINGLE_NAME_REFERENCE rather than STATEMENT_START.  

org.eclipse.cdt.ui
	Updated COMPLETION_PARSE clients to use SINGLE_NAME_REFERENCE rather than STATEMENT_START.  

org.eclipse.cdt.ui.tests
	Updated COMPLETION_PARSE clients to use SINGLE_NAME_REFERENCE rather than STATEMENT_START.  
	Renamed and updated CompletionTest_StatementStart_NoPrefix to CompletionTest_SingleName_Method_NoPrefix.
	Renamed and updated CompletionTest_StatementStart_Prefix to CompletionTest_SingleName_Method_Prefix.
	Renamed and updated CompletionFailedTest_ExceptionReference_NoPrefix_Bug50640 to CompletionTest_ExceptionReference_NoPrefix and moved to passed tests folder.
	Renamed and updated CompletionFailedTest_ExceptionReference_Prefix_Bug50640 to CompletionTest_ExceptionReference_Prefix and moved to passed tests folder.
	Renamed and updated CompletionFailedTest_NamespaceRef_NoPrefix_Bug50471 to CompletionTest_TypeRef_NoPrefix and moved to passed tests folder.
	Renamed and updated CompletionFailedTest_NamespaceRef_Prefix_Bug50471 to CompletionTest_TypeRef_Prefix and moved to passed tests folder.
	Renamed and updated CompletionFailedTest_ClassReference_Prefix_Bug50621 to CompletionTest_ClassReference_Prefix and moved to passed tests folder.
	Renamed and updated CompletionFailedTest_ClassReference_NoPrefix_Bug50621 to CompletionTest_ClassReference_NoPrefix and moved to passed tests folder.
2004-01-28 04:00:32 +00:00
Hoda Amer
069a0e8535 Content Assist Work: More JUnit tests 2004-01-27 20:55:58 +00:00
John Camelon
52351e60d8 Patch for Andrew Niefer.
Updates to handle _Bool

Core:
 - modified  CompleteParseASTFactory.getParameterTypeInfo
                 CompleteParseASTFactory.createReference 
                 CompleteParseASTFactory.usualArithmeticConversions
                 CompleteParseASTFactory.getTypeKind
                 Parser.typeId
                 TypeFilter.shouldAccept
                 TypeInfo.equals
Core.tests:
- Added CompleteParseASTTest.testCBoolAsParameter
2004-01-27 20:39:34 +00:00
John Camelon
8e6d3ded24 Patch for Andrew Niefer
This patch provides handling of the C types _Complex, _Imaginary, _Bool & 
long long int in the parser symbol table. (bug45573)

Core:
        modified ParserSymbolTable.promotion() & conversion()
        added TypeInfo.isLongLong
        modified TypeInfo.canHold()

Core.tests:
        Added ParserSymbolTableTest.testLongLong() 
        Added ParserSymbolTableTest.testComplex() 
        Added ParserSymbolTableTest.test_Bool()
2004-01-27 02:36:30 +00:00
John Camelon
b5d5e34e25 Added traceLogs into Scanner. Fixed Bug 46402 : expression evaluation error on branch not taken. Added beginning of IScannerExtension and GCCScannerExtension support for gcc specific aspects. Added separate Scanner log category for tracing and updated clients to use it. 2004-01-27 01:23:29 +00:00
Hoda Amer
d4ca6eb809 Content Assist Work: More JUnit tests 2004-01-26 21:17:39 +00:00
John Camelon
7c3ab2617b Updated Scanner for content assist in preprocessor directives. 2004-01-23 21:04:23 +00:00
John Camelon
e35bc93925 Added token, scanner and problem subpackages to org.eclipse.cdt.internal.core.parser. Updated tests to accommodate. 2004-01-22 20:15:31 +00:00
John Camelon
34754f2099 org.eclipse.cdt.core
Fixed bug 50344 - Wrong completion in Class scope if before the first declaration.

org.eclipse.cdt.ui.tests
	Updated CompletionFailedTest_FieldType_NoPrefix_Bug50344 and moved from failed tests.
2004-01-22 18:51:18 +00:00
Hoda Amer
3f0448c576 Content Assist Work : small problem in CompleteParseASTFactory solved. 2004-01-22 16:08:35 +00:00
John Camelon
d228fe824a Added traceLog() call into Scanner.handleProblem() and updated ParserFactory.createPreprocessor()'s error handling. 2004-01-21 03:01:14 +00:00
John Camelon
ee9dc1d5a5 org.eclipse.cdt.core
Parser:  Cleaned up Scanner for unused fields, inefficient String manipulations and redundant parameters.
2004-01-20 21:50:20 +00:00
John Camelon
a38f5c4f0d org.eclipse.cdt.core
Parser updates: Added IToken.getLineNumber() to facilitate adding line numbers to AST. Added line number support into IASTOffsetableElement.  Updated all implementations to use this.  Updated Parser and IASTFactory to populate IASTOffsetableElement with the values retrieved from IToken.  Removed IScanner.getLineNumberForOffset().  
Model updates: Updated CModelBuilder to access line number information from IASTOffsetableElement.

org.eclipse.cdt.core.tests
Updated ParserSymbolTableTest to accommodate new constructors for COMPLETE_PARSE ASTNodes (line # info).  Updated CModelElementsTest to enable testing for line numbers. Removed CModelElementsFailedTests.testBug36379() as it is redundant due to CModelElementTests.testCModelElements() is complete. Removed CModelElementsFailedTests from AutomatedIntegrationSuite as it is empty.
2004-01-20 02:21:30 +00:00
Hoda Amer
69cb22837f Content Assist Work : Added lookups for Macros with Function style 2004-01-19 19:42:34 +00:00
John Camelon
9cac774800 Patch for Andrew Niefer
This patch implements an iterator on all the contents of IContainerSymbol. 
This is a first step to an iterator on the IAST nodes.  

Core:
        Created IExtensibleSymbol, which is a new base class for the symbol interfaces
        Created IUsingDirectiveSymbol and UsingDirectiveSymbol
        Modified ASTUsingDirective to use IUsingDirectiveSymbol
        Modified CompleteParseASTFactory.createUsingDirective
        Added IContainerSymbol.getContentsIterator()
        Implemented getContentsIterator in ContainerSymbol

Core.tests:
        Modified CompleteParseASTTest.testUsingClauses
        Added ParserSymbolTableTest.testIterator_1 & testIterator_2
2004-01-17 00:18:24 +00:00
Hoda Amer
bcdd0ab7c3 Content Assist Work: More JUnit tests 2004-01-16 20:19:05 +00:00
John Camelon
9960da3ec4 org.eclipse.cdt.core
====================
Changed IASTNode.LookupException to IASTNode.LookupError.
Updated IASTElaboratedTypeSpecifier to remove redundant extends relationships.

org.eclipse.cdt.ui
==================
IASTNode.LookupException references changed to IASTNode.LookupError.
2004-01-16 05:09:09 +00:00
John Camelon
57d668240a Patch for Andrew Niefer.
For normal lookups in the symbol table, a HashMap is faster than the tree 
map, but for prefix lookups the TreeMap is faster.  So we are now using 
the HashMap for normal parses, and we use the TreeMap in the parse mode 
used by content assist.

Note that with these changes the results returned by the IASTNode.lookup 
function used by content assist are now in predictable order:  they are 
first sorted in the order of the scopes visited during the lookup and then 
they are sorted alphabetically

Core:
Modified symbol table constructor to take a ParseMode as a parameter.
Modified symbol table to use a TreeMap instead of HashMap when ParseMode is COMPLETION_PARSE.
Modified ASTNode.lookup to throw ASTNotImplementedException if called when ParseMode is not CONTEXTUAL_PARSE.

Core.tests:
Moved testBug48307_FriendFunction_1 & testBug48307_FriendFunction_2 to ContextualParseTest.
Updated ContextualParseTest now that the order of prefix lookup results is predictable.

UI:
Updated CompletionEngine to catch ASTNotImplementedException from IASTNode.lookup.
2004-01-15 23:06:58 +00:00
Hoda Amer
1196d4a5ff Content Assist Work : Moved logging and testing to the UI side of CDT 2004-01-15 18:06:14 +00:00
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