Core:
In completeParseASTFactory.getExpressionResultType(): Added the support
for expression type PRIMARY_THIS.
In createMethod(): changed the scope of a method definition to point to
the parent class.
Tests:
Added CompleteParseASTExpressionTest.testPrimaryThis()
Fixed Bug 39556 : 'restrict' qualifier is not supported (ANSI C99)
Fixed Bug 43126 : ISourceElementRequestor.acceptParameterReference accesses internal class
Fixed Bug 43062 : Outline is confused on operator methods containing spaces
Cleaned up some warnings in the parser.
TESTS
Moved ASTFailedTests::testBug39556() to QuickParseASTTests.
Cleaned up some warnings in parser tests.
bug42836 - Navigate/search: prepopulate template classes from Outline...
bug42902 - Search: Cannot find typedef
bug43016 - Search: Cannot find macro declarations
Core:
- add Typedefs to index as Types with suffix T (bug42902)
- added addTypedefReference to AbstractIndexer
- modified bestTypePrefix in AbstractIndexer
- added TYPEDEF_DECL, TYPEDEF_SUFFIX to IIndexConstants
- modified acceptTypedefReference in SourceIndexerRequestor
-Searching for Typedefs: (bug42902)
- modified setElementInfo in BasicSearchResultCollector
- added TYPEDEF to ICSearchConstants
- modified CSearchPattern & ClassDeclarationPattern
- implemented acceptTypedef* in MatchLocator
Core.tests
- updated testIndexContents and testIndexAll and added them back into the
IndexManagerTests suite
- modified resources/search/classDecl.cpp to include a typedef
- added testbug42902_TypeDefs to ClassDeclarationPatternTests
- updated testNamespaceReferenceInClassBaseClause in OtherPatternTests
UI
- modified performAction & determineInitValuesFrom in CSearchPage
- modified getImage in CSearchResultLabelProvider
Core:
In completeParseASTFactory.getExpressionResultType()
- Added the handling of some more expression types.
See CompleteParseASTExpressionTest for details.
Tests:
- Added lots of test cases to CompleteParseASTExpressionTest
Fixed Bug 42985 : Search: Qualified function call is treated as a declaration
Fixed Bug 40419 : parser fails on heavily templated expressions
TESTS
Created QuickParseASTTests::testBug42985().
Moved LokiFailures::testBug40419() to QuickParseASTTests.
Deleted LokiFailures as it was empty.
This is my previous patch updated with a test and resubmitted.
It fixes some NPE's in function resolution if the parameter information is
bad.
It also tries to clarify conversion sequence ranking with comments and
constants.
Core:
For bug42815
- Modified ICSearchResultCollector.createMatch to not take a parent
parameter
- modified BasicSearchResultCollector to create the parent string from the
fully qualified name of the node
- modified MatchLocator to keep track of most recent declaration for
reporting purposes
- modified MatchLocator.report to use the most recent declaration
Core.Tests:
- Created search/SearchTestSuite
- Added SearchTestSuite to AutomatedIntegrationSuite and removed the
individual search tests
- Added testReferencesInFunction to ClassDeclarationPatternTests
- Modified resources/search/classDecl.cpp
- Modified testNamespaceReferenceInClassBaseClause, testMacroPattern,
testEnumerators,
and testEnumeratorReferences in OtherPatternTests to test the Match
result strings
UI:
- bug42837 - fixed populating search dialog on function declarations
- bug42829 - prepopulated search dialog to any element declarations
- bug42815 - group together search results with same label
- modified CSearchResultLabelProvider to not display the "-" in the search
label
while sorting by name if there is no parent.
UI
- This patch changes the search context menu in the CEditor, CContentPage and CView:
Search > C/C++ Search...
File Search > Workspace
WorkingSets
- C/C++ Search pops up the search dialog with the chosen element filled out.
- File Search does a text based file search on the Workspace or a chosen WorkingSet
Core
- Added some error checking to the dependency generator.
- Removed any reference to jdt.ineternal package for property files
in TextManipulationMessages and CUIMessages
- Added a CUIMessages.properties file to org.eclipse.cdt.internal.ui
Hi All,
Details are in the change log, but this patch contains work that partially
implements incremental build. There are 2 major use cases not implemented:
full rebuild on project settings change and properly handling header file
changes. Both problems require build model work, so I will deliver that
functionality in another patch. There are also fixes for bugs 41412 and
42735.
As always, I have run the JUnit tests on Solaris (Motif) and Linux (Gtk).
Core:
- Solved the double reference problem
- solution to bugs #42822, #42823, & #42822B
Tests:
Moved three failed tests (bugs #42822, #42823, & #42822B)
from FailedCompleteParseASTExpressionTest to CompleteParseASTExpressionTest
CORE
-Added more IASTExpression.Kind handling to CompleteParseASTFactory.getExpressionResultType()
TESTS
-Seperated the Expression result type test in a new file : completeParseASTExpressionTests.
-Added more test cases for simple types.
-Added FailedCompleteParseASTExpressionTest for failed reference tests.
Updated ScannerException to be more precise and include more information.
Updated Parser to be more careful of how it handles particular Scanner errors in COMPLETE_PARSE mode.
TESTS
Updated ScannerTestCase to keep up to date wrt ScannerException updates.
- Hooked up the Indexer to the dependency tree. Everytime a header file
gets modified, the including source files get reindexed.
- Automated dependency calcuations - each time a file gets modified, its
tree gets updated.
- Added error logging via the PDE Error Log (Views->PDE Runtime->Error
Log) - the indexer reports unsuccesful index attempts and the preprocessor
reports unsuccesful inclusion resolution attempts
UI
- Changed the names on the search popup mens
Core :
Index
Enumerator references
- Added createEnumeratorFullyQualifiedName in AbstractIndexer
- Added addEnumeratorReference in AbstractIndexer
- implemented acceptEnumeratorReference in SourceIndexerRequestor
Search
pattern matching on function parameters:
- modified scanForParameters in CSearchPattern
- added getParamString in CSearchPattern
- modified matchLevel in MethodDeclarationPattern
Enumeration references
- modified acceptEnumeratorReference in MatchLocator
core.tests:
Modified resources/search/classDecl.cpp
- to include more function declarations to test parameter
matching
- to include an enumerator reference to test enumerators
Added testMethodDeclarationParameterMatching to
FunctionMethodPatternTests.java
Added testEnumeratorReferences to OtherPatternTests
Made scoping support more robust in CompleteParse mode.
Refactored ISourceElementRequestor (enter|exit)CodeBlock() to take IASTCodeScope rather than IASTScope.
Removed the now obsolete DOM.
Added enumerator references to ISourceElementRequestor.
TESTS
Added CompleteParseASTTest::testThrowStatement(), testScoping(), testEnumeratorReferences().
Removed LineNumberTest source as it is obsolete.
Core :
- Create ParserLanguage.java
- Modified ParserFactory functions to take ParserLanguage as parameter
- Modifier Parser, Scanner & ParserSymbolTable to use new ParserLanguage
class
- Update call to ParserFactory in Indexer, Search, CModelBuilder &
Dependency Tree
Core.tests:
- Updated calls to ParserFactory to specify which language to use
UI:
-CStructorCreator uses the parser, modified call to ParserFactory to
specify CPP language.
(this is the same behaviour as before)
Core :
Added references to variables with pointers in solution of bug#42453:Expression result types not computed
Tests:
Added tests to CompleteParseASTTest to test the expression result type for function calls that reference variables with pointers (bug#42453).
Continue to add support for parsing within function bodies.
Add workaround for 1.2 for inline function declaration-before-use chicken-and-egg.
TESTS
Added CompleteParseASTTest::testSimpleIfStatement(), testSimpleWhileStatement().
testSimpleSwitchStatement(), testSimpleDoStatement().
Core:
- fix patterns & indexing for Enumerators
Core.Tests:
- Added testEnumerators to OtherPatternTests.java
- Modified resources/search/classDecl.cpp to include some enumerators
UI:
- enable Selected Resources scope
- populate dialog base on selection when opened from outline view
- fix small bug that found namespaces when searching for enumerations
- tweak sorting by path to consider line number second
- Added references to variables in solution of bug#42453:Expression result types not computed
- Solution to bug#42560: Class Cast Exception during Method definition
First pass of parsing function bodies with X-Reference information.
Updated IASTFactory/ISourceElementRequestor to include IASTCodeScope
constructs, clients should keep this in mind and update their implementations.
TESTS
Updated ASTFailedTests::testBug39702() to fail more accurately.
Added testSimpleFunctionBody(), testSimpleForLoop() to CompleteParseASTTest.java.