Refactored Parser.java to allow inline small functions and tightened the signatures for statement().
Refactored Scanner.java to allow for data to be encapsulated to allow for IScannerExtension to act upon it.
Partially fixed Bug 47628 - signed char is parsed as char (affects the outline view)
org.eclipse.cdt.core.tests
Added testBug47682() to QuickParseASTTests.java.
Core:
- fix class cast exception in the symbol table while traversing the
inheritance of a class.
- filter the results of the prefix lookup for content assist so that those
symbol without attached AST nodes aren removed so that the iterator does
not later return a null.
Tests:
- added CompletionParseTests.testBug51260
Added support for inline method x-references.
Fixed Bug 44340 - Inline functions fail to resolve references
Fixed Bug 51243 - Content Assist in an empty document causes a NPE
org.eclipse.cdt.core.tests
Moved testErrorHandling_1() from failed tests to CompleteParseASTTest.
Moved testBug44340() from failed tests to CompleteParseASTTest.
PR 51221
Reformat Patch from Bogdan base on Thomas Fletcher original patch
In a nutshell, it moves the search operation into a runnable which
can be passed to a progress dialog.
PR 51221
Reformat Patch from Bogdan base on Thomas Fletcher original patch
In a nutshell, it moves the search operation into a runnable which
can be passed to a progress dialog.
* src/org/eclipse/cdt/internal/ui/editor/OpenDeclarationsAction.java
Added CompletionKind.UNREACHABLE_CODE to IASTCompletionNode.
Updated Scanner to handle unreachable code scenarios in content assist.
Added Directives class to centralize preprocessor directive strings.
Added keyword completion for preprocessor lines that start with #.
Partial fix for Bug 47752 - Outline does not recognize functions with full body try/catch blocks
org.eclipse.cdt.core.tests
Added QuickParseASTTest::testBug47752.
Fixed Bug 50487 - Wrong completion kind and prefix after "#ifdef"
org.eclipse.cdt.ui.tests
Updated CompletionFailedTest_MacroRef_NoPrefix_Bug50487, renamed it to CompletionTest_MacroRef_NoPrefix and moved to passed test package.
Updated CompletionFailedTest_MacroRef_Prefix_Bug50487, renamed it to Y and moved to passed test package.
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()