1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-29 19:45:01 +02:00
Commit graph

54 commits

Author SHA1 Message Date
John Camelon
46a9e7fd6f Patch for Bogdan Gheorghe.
Here's a patch that creates and manages a CDT log file in the .metadata\.plugins\org.eclipse.cdt.core folder. This log file, for now, will contain indexer failure messages and parser failure messages - particularly inclusion failures. These messages were being logged to the PDE error log which, given the number of failures that we can expect on some files, was filling up rather quickly. I put a 5MB limit on the CDT log file after which it gets deleted and a new one gets created. The intent of this log file is to help a user figure out why something isn't being indexed properly - the usual reasons are: i) can't find an include file, ii) symbols not defined. 

Also in this patch are 2 minor UI fixes: i) dedicated to Brent - Ctrl+H now brings up the C++ Search Dialog for all C Editor supported extensions, and ii) especially for Alain - F3 will perform a Open Declarations.
2003-10-01 13:33:39 +00:00
Doug Schaefer
3b2b1c6a42 Patch for Bogdan Gheorghe:
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...
2003-09-26 17:53:45 +00:00
John Camelon
9eab565dd0 Patch for Bogdan Gheorghe
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
2003-09-23 15:17:20 +00:00
John Camelon
51a73af86d Patch for Andrew Niefer
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
2003-09-18 15:15:09 +00:00
John Camelon
61976f1b51 CORE
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.
2003-09-15 22:50:59 +00:00
John Camelon
7c1af2188d This patch is for the following bugs:
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
2003-09-15 17:31:28 +00:00
John Camelon
322dcaad49 CORE
Fixed Bug 42840 : Search: Cannot find things after double declarations 
	Fixed Bug 42798 : Selected #include <Angled> off by 1 char 
	Fixed Bug 42872 : dynamic cast not parsed properly 
	Partially fixed Bug 39504 : sizeof-expressions are not handled properly 
	Updated SourceElementRequestor callbacks to include IASTParameterReference callbacks. 

UI 
	Updated SourceElementRequestor callbacks to include IASTParameterReference callbacks. 

TESTS
	Added CompleteParseASTTest::testBug42840() & testBug42872().
	Moved testBug39504B(), testBug39505A() & testBug39505B() from failed to QuickParse tests.
2003-09-11 18:06:15 +00:00
John Camelon
8f627892aa Core
- 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
2003-09-09 17:54:02 +00:00
John Camelon
ceee55836e Patch for Andrew Niefer
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
2003-09-09 15:46:44 +00:00
John Camelon
8e62beb552 CORE & UI
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.
2003-09-08 19:17:53 +00:00
John Camelon
cecd8598a0 Patch for Andrew Niefer
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)
2003-09-08 18:11:00 +00:00
John Camelon
d1d3dec2fe Patch for Andrew Niefer
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
2003-09-05 18:31:52 +00:00
John Camelon
619b617056 CORE/UI
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.
2003-09-04 20:47:05 +00:00
Doug Schaefer
8f3b6007eb Patch for Bogdan Gheorghe:
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
2003-08-26 19:16:03 +00:00
Doug Schaefer
a80d2f71de Patch for Bogdan Gheorghe:
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
2003-08-20 20:53:50 +00:00
John Camelon
891454830b CORE
Added X-Ref/Elaborated type support w/element requestor callbacks.  

TESTS
	Added CompleteParseASTTest::testForewardDeclarationWithUsage().
2003-08-12 20:40:11 +00:00
John Camelon
8dba12bff3 Patch for Hoda Amer.
Hi, 
This patch updates code completion to use search. It also includes my previous patch which enabled the class wizard to use search as well. 

Current Code Completion has the following restrictions: 
- It will only work within the scope of a function or a method. 
-It will look for globals (variables, functions, classes, strucs, unions, enumerations, and macros). 
-In the scope of a method, it will also look for the methods and fields that belong to the owner class of this method. 
- It will NOT search the parent classes of the method in the method scope case. 
- It will NOT de-reference after a "." or an "->"
2003-08-12 20:20:13 +00:00
John Camelon
04453687f0 Patch for Bogdan Gheorghe
This patch combines the field and variable search patterns into one in order to allow qualified searches on variables.
2003-08-12 15:20:21 +00:00
John Camelon
dbc6ab4f98 Patch for Bogdan Gheorghe.
This patch adds working copy search, macro search and combines the function and method search patterns into one.
2003-08-12 14:29:07 +00:00
John Camelon
ff9ca80b0c Patch for Bogdan (Fancy Pants) Gheorghe
This patch adds macro declarations to the index.
2003-08-11 19:10:45 +00:00
John Camelon
e1a20e1a7d Patch for Bogdan Gheorghe
Put in Indexer shut down which cleans up the .metadata directory of any suspicious looking index files 
Put in CSearchScope changes (in both UI and core) to enable working set searches
2003-08-11 13:42:55 +00:00
John Camelon
57c348fffa CORE
Updated AST to better represent pointers to functions/methods.
	Implemented typedef declaration/x-ref infrastructure.  

TESTS
	Updated QuickParseASTTests for pointer to function updates.
	Updated CompleteParseASTTests for typedef work.
2003-07-30 01:31:14 +00:00
John Camelon
a3e052456b Patch for Andrew Niefer
core:
- fixed a couple of bugs to do with searching for globally qualified 
patterns
- fixed a bug to do with the '?' wildcard
- fixed a bug to do with searching for functions/methods using patterns 
specifying parameters

tests:
- new search tests:
                ClassDeclarationPatternTests.testClassReferenceInFieldType
                ClassDeclarationPatternTests.testClassReferences
 ClassDeclarationPatternTests.testEnumerationReferenceVisibleByInheritance
                ClassDeclarationPatternTests.testGloballyQualifiedItem
 ClassDeclarationPatternTests.testTypeReferenceVisibleByUsingDirective
                FunctionMethodPatternTests.testMethodDeclaration
                FunctionMethodPatternTests.testMethodDeclarationWithParams
                OtherPatternTests.testFieldDeclaration
                OtherPatternTests.testNamespaceDeclaration
                OtherPatternTests.testNamespaceReferenceInClassBaseClause
                OtherPatternTests.testNamespaceReferenceInUsingDirective
                OtherPatternTests.testVariableDeclaration
2003-07-29 12:40:17 +00:00
John Camelon
7c5787894d Last minute demo fixes for Search/Indexer/COMPLETE_PARSE. 2003-07-25 16:45:49 +00:00
John Camelon
ee5dac3bd9 Patch for Bogdan Gheorghe.
This patch adds type refs, function refs, method refs,  fireld refs and namespace refs to the index and changes the parser mode to complete parse.
2003-07-25 15:21:57 +00:00
John Camelon
e312c1724b Patch for Andrew Niefer
This patch is for the search.  No new things can be searched yet, but this 
brings more things closer to being able to be searched.

        - Implemented decodeIndexEntry & matchIndexEntry for all patterns
        - changed MatchLocator to use a COMPLETE_PARSE.
        - added TYPE_ALL, FUNCTION_ALL, METHOD_ALL, NAMESPACE_ALL, 
FIELD_ALL constants to IIndexConstants
        - modified AbstractIndexer prefix functions to properly handle 
searching for all occurences
2003-07-24 21:43:47 +00:00
Doug Schaefer
7a408c3e1d Patch for Andrew Niefer:
Core:
- modifications to the Indexer to better support qualified names
- functions to create Index entry prefixes for the different Search 
Patterns
- all of the search patterns are now being created and all do at least 
some matching
- all of the parser callbacks for declarations, definitions, and 
references are now being handled, though the patterns and indexer both 
need some work here

Core.tests:
- new BaseSearchTest which creates a project and uses the indexer
- new test class FunctionMethodPatternTests to test aspects of the 
Function & Method patterns
- new test class OtherPatternTests to test the other (Namespace, Field & 
variable) patterns
- new tests to test index prefixes for the patterns

UI:
- handle more varied search results and display more icons
2003-07-24 14:20:16 +00:00
Doug Schaefer
d8ee61be38 Patch for Bogdan Gheorghe:
- 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.
2003-07-21 21:14:10 +00:00
John Camelon
8aa2e6f9b9 CORE & UI
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.
2003-07-18 16:39:26 +00:00
John Camelon
b43dece8ee CORE & UI
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.
2003-07-17 20:15:18 +00:00
Doug Schaefer
bcf023a6c8 Patch for Bogdan Gheorghe:
- support for class specifier search
- a new C/C++ search menu item.
2003-07-11 22:12:35 +00:00
John Camelon
d71d9270d8 CORE
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.
2003-07-09 00:47:49 +00:00
John Camelon
91794dcff9 Further restructuring. 2003-07-07 13:46:16 +00:00
Alain Magloire
077238bae2 Changes form Bogdan to add support for adding individual
source file to the indexer.  Also when removing projects
to remove the files in the indexer working tasks.
2003-07-04 03:02:07 +00:00
Doug Schaefer
afbe575516 Patch for Bogdan Gheorghe:
- The initial framework for the new indexer.
- Added a checkbox to the Indexer tab on the
C/C++ Projects settings dialog to turn on the
indexing on a per project basis.
2003-06-27 14:31:34 +00:00
Alain Magloire
7f0682ff8d remove unused methods. 2003-04-10 01:12:42 +00:00
Alain Magloire
febb3908e9 add startup() and shtudown() methods. 2003-04-10 01:12:24 +00:00
Alain Magloire
d750e21df8 ICElement.getResource() no longer throw an exception. 2003-03-27 19:32:04 +00:00
Alain Magloire
69a5d7386b ICResource was deleted. 2003-03-27 16:04:36 +00:00
Alain Magloire
36d2f67998 Type should be Thread.interrupt() not Thread.interrupted(). 2003-01-29 15:02:43 +00:00
Alain Magloire
3752b22c4e Fix the parsing. 2002-12-06 19:51:24 +00:00
Alain Magloire
4d8caa5769 do not do any quick start. here. 2002-11-12 22:17:06 +00:00
Alain Magloire
0f475ccc84 Check if it was already enabled. 2002-11-12 22:16:00 +00:00
Alain Magloire
fbea286a2e new method removeItem(Object key) 2002-11-12 20:52:39 +00:00
Alain Magloire
10cc1418e2 New method removeContainer() and clearRequestList. 2002-11-12 20:52:17 +00:00
Alain Magloire
a28d92aa29 new method removeResource(). 2002-11-12 19:01:50 +00:00
Alain Magloire
89f6cf14cf Check if the project is enable first. 2002-11-12 18:52:31 +00:00
Alain Magloire
4e3f536f36 setEnabled() adn isEnabled() new methods. 2002-11-12 18:52:09 +00:00
David Inglis
dad0f57455 many fixes see ChangeLog 2002-11-06 20:57:04 +00:00
Alain Magloire
66b60c7ba4 SetDaemon to true. 2002-10-28 14:43:27 +00:00