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.
Core:
- Changed the ASTExpression of the complete package to store the
whole ITokenDuple for the typeId instead of just the string.
- Changed the ASTExpression in both quick and complete packages and
deleted the "id" parameter.
- Added partial solution to bug #42453: Exception result types not computed.
Now they are computed for simple types only.
Tests:
Call to ASTExpression getTypeId() changed to getTypeIdString().
UI:
Solution to bug#42414 :Extraneous semi-colons in generated class methods
- set default C++ search sort order to be by path
- modified search dialog to use checkboxes instead of radio buttons
SearchFor buttons are now organized like this:
Class / Struct Function Variable
Union Method Field
Enumeration Namespace Any Element
When multiple buttons are selected, they are combined using the Or
Pattern.
fix bug in PST that causes parse failure on > 2 constructors for a given
class
Modified ParserSymbolTableTest.testConstructors to test > 2 constructors
Added support to the parser symbol table for namespace aliases.
tests:
added ParserSymbolTableTest.testNamespaceAlias()
added ParserSymbolTableTest.testUsingNamespaceAlias()
- Added resolving references in a method's qualified name in Complete parse mode.
Example (.cpp file ):
The method "A::B::C::aMethod(){};" used to be an IASTFunction, with name = "A::B::C::aMethod".
Now is an IASTMethod, with name = "aMethod", and references to class A, class B and class C.
- Added the checking for "isConstructor" and "isDestructor" for an IASTMethod in complete parse mode.
Indexer
=======
- Changed file extensions to prevent header files from being indexed (they will be indexed via inclusion)
Search
=======
- Added scope checking to MatchLocator
- Modified CSearchPattern to allow for destructor searches
- Added debug tracing statements to SearchEngine
- Added debug tracing statements to MatchLocator
UI
==
- Converted CTags based OpenOnSelectionAction to OpenDeclarationsAction. For now, we do a search on all types with the selected name.
- Hooked up OpenDeclarationsAction to search engine
General
=======
- Modified start up code to set debug trace options (which are defined from the launcher). I've added the following trace components:
- dependency
- indexer
- indexmanager
- matchlocator
- model
- search
- parser
- Added trace debug statements to CModelBuilder
- Modified Util.java to make use of IDebugLogConstants
Fixed bug39526 - Parser doesn't handle initializers correctly.
Fixed bug41520 - FullParse : Constructor Initializer is mistaken as function prototype
TESTS
Moved testBug39526() from ASTFailedTests.java to QuickParseASTTests.java.
Moved testBug41520() from FullParseFailedTests.java to CompleteParseASTTest.java
Fixed Bug 39530 - More problems with initializers.
Fixed Bug 37424 - Crash when opening big files
Refactored pointerOperators & cvQualifiers to not throw backtracks in optional case.
Added tracing support to cdt.core plugin via .options file.
TESTS
Added QuickParseASTTests::testBug39530().
Core:
-Solutions to bug#38985 & bug#38986
In IStructure:
getField(String) Implemented
getFields() Implemented
getMethod(String) Implemented
getMethods() Implemented
isAbstract() Implemented
getBaseTypes() Has been replaced by getSuperClassesNames()
getAccessControl(int) Has been replaced by getSuperClassAccess(String name)
- Added some methods to IMethodDeclaration, namely:
isFriend(), isInline(), isVirtual(), and isPureVirtual().
Core Tests:
Enabled some tests in the IStructureTests, namely:
testGetFields(), testGetField(), testGetMethods(), testGetMethod(),
testIsAbstract(), testGetBaseTypes(), and testGetAccessControl().
Indexer
- Added additional file extensions to supported indexed files
- Changed the parser instantiation to pass in retrieved build info
- Added function decl index entry based on enterFunctionBody
- Added method decl index entry based on enterMethodBody
- Added forward decl refs
- Added debug tracing to AbstractIndexer
Search
- Changed matching and reporting functions to handle nodes
of type IElaboratedTypeSpecifier
UI
- Added a search dialog pop up item to the context menu for the
CEditor and CContentOutlinePage