Fixed 50642 - Wrong completion kind when declaring an argument type
Updated using declarations for more accurate keywords and closure.
org.eclipse.cdt.ui.tests
Updated CompletionTest_ArgumentType_Prefix_Bug50642, renamed it to CompletionTest_ArgumentType_Prefix and moved to passed test package.
Updated CompletionTest_ArgumentType_Prefix2_Bug50642, renamed it to CompletionTest_ArgumentType_Prefix2 and moved to passed test package.
Updated CompletionTest_ArgumentType_NoPrefix_Bug50642, renamed it to CompletionTest_ArgumentType_NoPrefix and moved to passed test package.
Updated CompletionTest_ArgumentType_NoPrefix2_Bug50642, renamed it to CompletionTest_ArgumentType_NoPrefix2 and moved to passed test package.
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.
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.
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.
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()
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.
down some infrastructure. This is base on ideas/patch
from Chris Songer. The idea is to define in the IToolsProvider
the Objdump class and reuse it to implement IBinaryFile.getContents().
Next step is to come up with ObjdumpEditor, to go this route
will be more flexible.
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.
- assert project create/deletion failure with detailed messages
- use common (were possible) project create/deletion methods in CProjectHelper.
- fixed problem with dep test when generating code the file was never closed causing project deletion to fail on win32
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
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.