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.
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.
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.
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.
Updated IASTClassSpecifier for qualified name query.
Began structuring expressions and declarators in Parser for ISourceElementRequestor.
Updated other packages to use new interfaces.
Updated automatedtests/torture test to use new line number information.
implemented support for pointers to class members;
added handling of declarations for nested scopes (like A::B::C);
fixed handling of parameter lists for typedefs for functions;
some errorhandling in CModelBuilder;
Fix Bug 38380 "Include" class public methods fails JUnit tests
Updated CModel, DOM, Scanner and current Parser callback to set the information appropriately.
TESTS
Moved testBug23478A() & testBug23478B() from failed tests to TranslationUnitTests.java.
Removed TranslationUnitFailedTests.java as it was empty.
I also had to apply Alain's partial fix to the Parser_SymbolTable branch to get this working.
core: Structural changes to ParserSymbolTable:
- moved TypeInfo & Declaration inside ParserSymbolTable
- removed the stack & push/pop/peek
- moved nonstatic add/lookup fuctions from the table to Declaration
- began undo framework: added AddDeclarationCommand
tests:
Rewrote ParserSymbolTableTest to reflect structural changes to the symbol table.