Core:
- fixed bug 43834 : Empty Parameter list and parameter list taking one
void do not match
- fix NPE if IScannerInfoProvider returns null IScannerInfo
Tests:
- added testbug43834 to ParserSymbolTableTest
Continued work on Bug 43062 : Outline is confused on operator methods containing spaces
Partial fix for Bug 43680 : Fix Parser Error Handling
TEST
Added testErrorHandling_1() to CompleteParseASTTest.java.
Fixed Bug 43644 : 6 triangle icons appearing in outline viewer when typing an error
Fixed Bug 43062 : Outline is confused on operator methods containing spaces
Fixed Bug 39531 : Problems with type conversion operators
TEST
Added QuickParseASTTests::testBug43644() & testBug43062().
Moved ASTFailedTests::testBug39531() to QuickParseASTTests.
This patch integrates the dependency calculator into
the indexer. As a result the underlying indexer file storage
format has changes. Lots of detail in the change logs of
exactly what changed...
partial fix for bug 43664 - Search cannot report matches outside of
workspace.
This enables non-ui reporting of matches outside the workspace. So
clients of search, like code assist will get external results.
We still need a resource to report a match to the search view so no
external matches in the UI.
core:
Modify Matchlocator to not try and create a link if we have no resource,
instead just use the path
core.tests:
added testNoResourceSearching() to OtherPatternTests
ui:
modify CSearchResultCollector to accept matches without resources, but not
attempt to report
them in the UI.
* src/org/eclipse/cdt/internal/ui/search/CSearchResultCollector.java
Core:
- Last part of solution to bug#42453: Expression result types not computed
Added the handling of POSTFIX_TYPENAME_IDENTIFIER
Completed bug#43221: POSTFIX_TYPENAME_IDENTIFIER not implemented
- Solution to bug#43644 : 6 triangle icons appearing in outline viewer when typing ...
Tests:
Enabled CompleteParseASTExpressionTest.testPostfixTypenameIdentifier()
UI:
Solution to bug#43646: Code Assist won't work if missing end bracket
Core:
Partial solution to bug#42453: Expression result types not computed
Added the handling of the NEW_TYPEID, CASTEXPRESSION, POSTFIX_DYNAMIC_CAST,
POSTFIX_REINTERPRET_CAST, POSTFIX_STATIC_CAST, and POSTFIX_CONST_CAST
Tests:
Added testNewTypeId(), testCastExpression(), testPostfixDynamicCast(),
testPostfixReinterpretCast(), testPostfixStaticCast(), and testPostfixConstCast()
to CompleteParseASTExpressionTest.
Partial fix for Bug 43221 : POSTFIX_TYPENAME_IDENTIFIER not implemented
TEST
Updated CompleteParseASTExpressionTest::testPostfixTypenameIdentifier() for Hoda.
Fixed Bug 43106 : Symbol Table support needed to resolve types
Fixed Bug 43375 : isExtern not returning true for extern declarations
TESTS
Added testBug43375() to CompleteParseASTTest.
Moved testConditionalExpressionWithReferencesB_Bug43106 from failed tests to passed tests.
Moved testPMDotStar() and testPMArrowStar to failed tests w/defect number 43579.
Fixed Bug 43084 : need to restructure TypeId to allow dynamic_cast<> type expression references.
Fixed Bug 39504 : sizeof-expressions are not handled properly
TESTS
Replaced ASTFailedTests::testBug39504A() with CompleteParseASTTest::testBug39504().
Moved testPostfixTypeIdExpression2() && testPostfixTypeIdTypeId2() to CompleteParseASTExpressionTest.
Restructured expression reference tests so that the order of arrival will not cause JUnit failures.
Core:
Solution to bug#43373: No reference to static member in definition (Major)
Solution to bug#43371: constructor incorrectly marked private (Normal)
Tests:
Added CompleteParseASTTest.testBug43373()
Added QuickParseASTTests.testBug43371()
UI:
Solution to bug#43143: Naming of Code Assist Menus/Tab are not consistent
changed both names to Content Assist. No tests provided.
Fixed Bug 42685, Bug 43474.
This patch:
- removes the old CTags Indexer
- removes the remaining Indexer block UI item under Project Properties
- enables the Indexer on all projects
Solution to bug#43162 : Code Assist not showing the right return value:
Saved a function return value string in the BasicSearchMatch object.
Created a new package org.eclipse.cdt.internal.core.parser.util and
added ASTUtil class with static methods to help convert an ASTFunction
return type from IASTAbstractDeclaration to String. Note that this was
previously implemented in the CModelBuilder. I just moved it to a common
library for others (BasicSearchMatch) to use.
UI:
Solutions to
bug#43162 : Code Assist not showing the right return value
Bug#43145 : foo function still showing in Code Assist even if "f" is deleted
Bug#42810 : Code Assist adding characters after pressing <enter>
Bug#42861 : Code Assist should be case insensitive.
Tests:
Solution to bug#43162 : Code Assist not showing the right return value.
Solution to Bug#42861 : Code Assist should be case insensitive.
Modified the CompletionProposalsTest to include upper and lower cases
and to include functions with different return values.
core :
- modified MatchLocator to not report local declarations when boolean is
set
- modified SearchEngine.search to take an additional parameter
"excludeLocalDeclarations"
core.tests:
- modified resources/cfiles/CompletionProposalsTestStart.cpp
- modified CompletionProposalsTest.testCompletionProposals
- updated calls to SearchEngine.search
ui:
- update calls to SearchEngine.search. CodeCompletion passes true for
excludeLocalDeclarations
- Since I forgot to do this last release, I am removing the
original managed build model schema and extension
points from the cdt core and ui projects.
Core :
- modified Symbol table interfaces to use List & Map instead of
LinkedList and HashMap
- fixed warnings in ParserSymbolTable
- fixed bug43106 - Symbol Table support needed to resolve types
- fixed bug43156 - require ability to add implicit inheritance
copy constructor
- fixed bug43159 - TypeInfo.equals() not working properly
- fixed bug43238 - Postfix_Subscript expressions confuse function
resolution
Tests:
- removed testConditionalExpression_Bug43159 from
FailedCompleteParseASTExpressionTest
and uncommented it (testConditionalExpression) in
CompleteParseASTExpressionTest
- uncommented the following tests in
CompleteParseASTExpressionTest :
testPostfixSubscript,
testPostfixSubscriptA,
testPostfixSubscriptB,
testPostfixSubscriptWithReferences
- updated ParserSymbolTableTests to use new addOperatorExpression
function
- added testDerivedReference, testAddCopyConstructor to
ParserSymbolTableTests
- fixed warning in ClassDeclarationPatternTests
Core:
In completeParseASTFactory.getExpressionResultType(): Added the support
for expression types: PM_DOTSTAR, PM_ARROWSTAR, CONDITIONALEXPRESSION
Tests:
Added more success test cases to CompleteParseASTExpressionTest
and more failure test cases to FailedCompleteParseASTExpressionTest
in testing PM_DOTSTAR, PM_ARROWSTAR, CONDITIONALEXPRESSION
core :
- add parameter references to index
- modify CharOperation.match to allow escaping wildcards
(bug43063)
- modify AbstractIndexer.bestPrefix to handle wildcard escaping in
name (bug43063)
- modify CSearchPattern to handle escaping wildcards (bug43063)
- modify enterFunctionBody and enterMethodBody to fix bug42979
- search for Parameter References
- added setThrowExceptionOnBadCharacterRead to IScanner to help
with wildcard bug43063
tests:
- modified resources/search/classDecl.cpp & include.h to include
some operators
- added testOperators_bug43063_bug42979() to
MethodDeclarationPatternTests
- added testParameterREferences to OtherPatternTests
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.
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).