highlighting are updated.
- Added support for hex floating point literals.
- Fixed stack overflow problem with string literals concatenation.
- Fixed problem with token pasting in macros.
- This solves PR 39523, 39550, 39552.
- adds namespaces, enums, typedefs, functions,
methods, fields and vars to the index.
- also fixes a problem with the Search label provider
which caused it to not display properly under some
conditions.
Fleshed out basic declarations for FullParse AST.
Fixed Bug 40554 - Fields coming back as Vars
Fixed Bug 40555 - Methods come back as Functions
TESTS
Created CompleteParseASTTest and added it to ParserTestSuite.
Added ISourceElementCallbackDelegate interface for AST constructs to allow the Parser to delegate callback's to the nodes themselves.
Got rid of ParserMode.STRUCTURAL_PARSE for the time being.
Removed org.eclipse.cdt.internal.core.parser.ast.full.
Created org.eclipse.cdt.internal.core.parser.ast.complete.
Updated ParserFactory.createScanner() to force the user to provide a callback and a ParserMode.
Introduced ASTSemanticException for COMPLETE_PARSE mode.
Fleshed out preliminary IASTReference interfaces and added callbacks to ISourceElementRequestor.
Removed acceptElaboratedTypeSpecifier() from ISourceElementRequestor.
TESTS
Updated ParserSymbolTableTests to remove dependencies on parser.ast.full classes.
Updated Parser test suites for updates to ParserFactory.
Removed DeclaratorDuple as it was obsolete.
Fixed offsets in quickParse's IASTTypedefDeclaration implementation.
Fixed Bug 40436 - Fully Qualified Names Needed (for Indexer/Search features)
TESTS
Wrote new tests in QuickParseASTQualifiedNameTest.java and added it to ParserTestSuite's suite.
Removed IParserCallback.
Partially converted DOM to ISourceElementRequestor (requires refactoring of CModelBuilder & StuctureComparator modules in near future).
Completely finished ISourceElementRequestor/IASTFactory work for QuickParse mode.
Added pointer to methods/functions into AST callback structure.
Restructured AST class hierarchy.
Removed the old IParserCallback return Objects from every Parser method.
TESTS
Rewrote the entire DOMTests suite to now be AST tests.
Removed DOMTests, BaseDOMTest, DOMFailedTests after methods were migrated to QuickParseASTTests & ASTFailedTests.
Made sure every parser failed test had a defect number associated with it.
Patch for C++ Search to support searching for class declarations
Interface changes:
- modified search Interfaces :
- ICSearchConstants - changed SearchFor instantiations to more
closely match what we can search for.
- ICSearchPattern - added getLimitTo()
- ICSearchResultCollector - added createMatch(), which should
return an object implementing the new IMatch interface, these store the
any data needed to keep found matches.
These interfaces are still new and its too early for anyone other than
search and the indexer to be using them.
- added search interface IMatch.
Changes to core.search had to do with keeping track of the current scope
during the search, as well as other modifications for matching class
declarations, and the start of the patterns for matching other things.
Changes to ui.search had to do with creating IMatch objects to store the
information needed by the label provider to display icons and sort the
results.
Added support for long long and wide char literals.
Fix for PR 39349 : Scanner fails on long long literals.
Fix for PR 39544 : Scanner fails on wide char literals.
cdtproject file.
- Used to store the data that had been put in the
cdtbuild file for Standard Make projects.
- Cleaned up some of the exception handling in the
StandardBuildManager.
Filled out IASTMethod & IASTFunction & added implementations.
Updated IScanner, clients & implementations to use IScannerInfo.
Finished SimpleDeclaration porting to new architecture, only thing left is templates.
TESTS
Updated IScanner, clients & implementations to use IScannerInfo.
The change logs contain an overview of what has been done to implement a new interface between a build model (any build model)
and clients of the model that need to extract include search paths and defined symbols. For the most part, I have tried to leave the
old build system as unchanged as possible. For example, project properties like the make search path, and whether or not to continue
on build failures are still stored as persistent properties on the project through the CNature (ugh). The new information I have added
is managed by a new build manager on a per-project basis and is associated with a project as a session property. The information is
persisted in the 'cdtbuild' file introduced by the new managed build system.
cdt.core:
- Modified ICSearchConstants to use classes (SearchFor & LimitTo) instead of int for constants
- Modified MatchLocator to actually invoke the parser to do the search
cdt.core.tests:
- Added new source Folder search
- Added search/ClassDeclarationPatternTests::testMatchSimpleDeclaration
- Added search/ClassDeclarationPatternTests::testMatchNamespaceNestedDeclaration
- Added new resource folder search & containing file classDecl.cpp
- Added new failures package ord.eclipse.cdt.core.search.failedTests
- Added new failing test PatternsFailedTests::testBug39652
* Note that both the ClassDeclarationPatternTests and PatternsFailedTests must be run as Plugin Tests *
cdt.ui:
- Updated Search classes to reflect changes to ICSearchConstants.
Further restructuring of Parser for ISourceElementRequestor.
Added interfaces/implementation for Simple Declarations.
Cleaned up DOM's representation of Constructor chains.
TESTS
Added DOMTests::testAssignmentExpression()
Added PreprocessorConditionalTest to ParserTestSuite.