mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-07-01 06:05:24 +02:00
Patch for Bogdan Gheorghe
This patch adds a layer of separation between the indexer and the parser by running the parser in its own thread. This allows the indexer to finish all jobs regardless of the individual parser outcomes. Also fixed a potential EOF bug while reading stored indexes.
This commit is contained in:
parent
da13b999cd
commit
a69ae2ccf2
3 changed files with 304 additions and 256 deletions
|
@ -1,253 +1,267 @@
|
|||
2004-02-03 Alain Magloire
|
||||
|
||||
PR 51106
|
||||
Patches from Thomas Fletcher dealing with the indexer.
|
||||
|
||||
- Remove assumed throw/catch of an exception to be a regular occurance
|
||||
and replace with explicit test and return for bounds access to the
|
||||
particular array.
|
||||
|
||||
- Consider references outside of the mapping range the same as no longer
|
||||
valid mappings (ie -1 entries) and avoid array range exceptions.
|
||||
|
||||
* index/org/eclipse/cdt/internal/core/index/impl/WordEntry.java
|
||||
* index/org/eclipse/cdt/internal/core/index/impl/FileListBlock.java
|
||||
|
||||
2004-01-26 John Camelon
|
||||
Updated clients to use new Scanner logging service.
|
||||
|
||||
2003-10-22 Bogdan Gheorghe
|
||||
|
||||
Added updateDependencies() to the IndexManager to request
|
||||
a new UpdateDependency job.
|
||||
|
||||
2003-10-01 Bogdan Gheorghe
|
||||
- Modified BlockIndexOutput.addInclude to properly flush an
|
||||
include block once it's full.
|
||||
- Flushing the CDT log after every merge
|
||||
- Logging I/O Exceptions in AddFileToIndex
|
||||
- Changed valid source file extensions in SourceIndexer to
|
||||
use CModelManager file extensions
|
||||
|
||||
2003-09-30 Bogdan Gheorghe
|
||||
Changed logging for SourceIndexer to log file in cdt.core
|
||||
|
||||
2003-09-25 Bogdan Gheorghe
|
||||
Integrated the dependency service into the indexer. Changes
|
||||
as follows:
|
||||
|
||||
org.eclipse.cdt.internal.core.index.impl:
|
||||
* IIndex - added getFileDependencies methods
|
||||
* IIndexerOutput - modified to allow dep inputs into the index
|
||||
* BlocksIndexInput - modified to allow the reading of the new index (which includes dep entries)
|
||||
* BlocksIndexOutput - added facilities to write includes to the index
|
||||
* GammaCompressedIndexBlock - modified with addIncludeEntry() and nextEntry()
|
||||
* IncludeEntry - new file
|
||||
* IncludeEntryHashedArray - new file
|
||||
* Index - Added getFileDepenendencies to query includeEntries from the index
|
||||
* IndexBlock - modified to reflect changes in GammaCompressedIndexBlock
|
||||
* IndexerOutput - added new methods from IIndexerOutput
|
||||
* IndexInput - modified to allow reading of includes from index files
|
||||
* IndexSummary - modified to save/read new format which contains include info
|
||||
* InMemoryIndex - modified InMemoryIndex to keep track of includes
|
||||
* MergeFactory - modified MergeFactory to accomodate new index file format
|
||||
* SimpleIndexInput - modified to use the new functions for includes in InMemoryIndex
|
||||
* Util - Added a quickSort for includeEntry[]
|
||||
|
||||
org.eclipse.cdt.internal.core.search.indexing:
|
||||
* AbstractIndexer - modified to getResourceFile being indexed, added bestIncludePrefix
|
||||
to find include table entries, addInclude() which accepts IASTInclusion node and adds it
|
||||
to the index
|
||||
* IIndexConstants - added includeRef constant
|
||||
* IndexManager - got rid of all dependency table references
|
||||
* SourceIndexer - modified to return resource being indexed
|
||||
* SourceIndexerRequestor - Added inclusion handling code; stack for includes
|
||||
|
||||
|
||||
2003-09-22 Bogdan Gheorghe
|
||||
|
||||
Took out the old CTags Indexer. Modified IndexAllProject to get
|
||||
the project path straight from the resource (bypassing the CModelManager).
|
||||
Commented out the enable section in IndexManager.
|
||||
|
||||
Modified
|
||||
* org.eclipse.cdt.internal.core.search.indexing.IndexAllProject
|
||||
* org.eclipse.cdt.internal.core.search.indexing.IndexManager
|
||||
|
||||
Deleted
|
||||
* org.eclipse.cdt.core.index.IndexModel
|
||||
* org.eclipse.cdt.core.index.ITagEntry
|
||||
* org.eclipse.cdt.core.index.TagFlags
|
||||
* org.eclipse.cdt.internal.core.index.CTagsCmd
|
||||
* org.eclipse.cdt.internal.core.index.CTagsEntry
|
||||
* org.eclipse.cdt.internal.core.index.CTagsFileReader
|
||||
* org.eclipse.cdt.internal.core.index.CTagsFileWriter
|
||||
* org.eclipse.cdt.internal.core.index.CTagsHeader
|
||||
* org.eclipse.cdt.internal.core.index.CTagsRunner
|
||||
* org.eclipse.cdt.internal.core.index.IndexManager
|
||||
* org.eclipse.cdt.internal.core.index.RequestList
|
||||
|
||||
2003-09-16 Andrew Niefer
|
||||
- add parameter references to index
|
||||
- modify CharOperation.match to allow escaping wildcards (bug43063)
|
||||
- modify AbstractIndexer.bestPrefix to handle wildcard escaping in name (bug43063)
|
||||
|
||||
2003-09-13 Andrew Niefer
|
||||
- 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
|
||||
|
||||
2003-09-09 Andrew Niefer
|
||||
Enumerator references
|
||||
- Added createEnumeratorFullyQualifiedName in AbstractIndexer
|
||||
- Added addEnumeratorReference in AbstractIndexer
|
||||
- implemented acceptEnumeratorReference in SourceIndexerRequestor
|
||||
|
||||
2003-09-08 Andrew Niefer
|
||||
- Modified calls to ParserFactory to specify which language to use
|
||||
|
||||
2003-09-05 Andrew Niefer
|
||||
- Modified how AbstractIndexer creates the fully qualified name for an enumerator (spec 7.2-10)
|
||||
|
||||
2003-08-26 Bogdan Gheorghe
|
||||
- Removed header file extensions from being indexed (they
|
||||
will be indexed via inclusion)
|
||||
|
||||
2003-08-20 Bogdan Gheorghe
|
||||
- Added debug tracing in AbstractIndexer
|
||||
- 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
|
||||
|
||||
2003-08-14 Bogdan Gheorghe
|
||||
- Added forward declarations to index
|
||||
|
||||
2003-08-12 Bogdan Gheorghe
|
||||
- Changed var prefix in AbstractIndexer to pass in fully
|
||||
qualified names
|
||||
|
||||
2003-08-11 Bogdan Gheorghe
|
||||
- Added macro declarations to the index
|
||||
- Added macro prefix to AbstractIndexer
|
||||
|
||||
2003-08-07 Bogdan Gheorghe
|
||||
- Added shutdown cleanup routine in IndexManager
|
||||
|
||||
2003-07-28 Andrew Niefer
|
||||
- added support for '?' wildcards in AbstractIndexer.bestPrefix
|
||||
|
||||
2003-07-25 Bogdan Gheorghe
|
||||
- Changed parser to COMPLETE mode
|
||||
- Added functionRef, methodRef, typeRef, namespaceRef, fieldRef
|
||||
|
||||
Modified:
|
||||
* index/org/eclipse/cdt/internal/core/search/indexing/AbstractIndexer.java
|
||||
* index/org/eclipse/cdt/internal/core/search/indexing/IIndexConstants.java
|
||||
* index/org/eclipse/cdt/internal/core/search/indexing/SourceIndexer.java
|
||||
* index/org/eclipse/cdt/internal/core/search/indexing/SourceIndexerRequestor.java
|
||||
|
||||
|
||||
2003-07-24 Andrew Niefer
|
||||
- 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-23 Andrew Niefer
|
||||
Modified
|
||||
*index/org/eclipse/cdt/internal/core/search/indexing/AbstractIndexer.java
|
||||
-changed so that the index prefixes contain the qualified names of the
|
||||
elements in reverse order.
|
||||
-Added functions:
|
||||
bestVariablePrefix
|
||||
bestNamespacePrefix
|
||||
bestFieldPrefix
|
||||
bestFunctionPrefix
|
||||
bestMethodPrefix
|
||||
|
||||
2003-07-21 Bogdan Gheorghe
|
||||
Added additional declarations to index: enums, enumerators, namespace,
|
||||
functions, vars, methods, fields, typedefs.
|
||||
|
||||
Fixed IndexManager to prevent individually added files from
|
||||
being added to the index if indexing is not enabled for the project
|
||||
|
||||
Modified:
|
||||
|
||||
* index/org/eclipse/cdt/internal/core/search/indexing/AbstractIndexer.java
|
||||
* index/org/eclipse/cdt/internal/core/search/indexing/IIndexConstants.java
|
||||
* index/org/eclipse/cdt/internal/core/search/indexing/IndexManager.java
|
||||
* index/org/eclipse/cdt/internal/core/search/indexing/SourceIndexerRequestor.java
|
||||
|
||||
2003-07-10 Bogdan Gheorghe
|
||||
Added bestTypeDeclarationPrefix to AbstractIndexer to allow the
|
||||
search engine to create a query string for the index.
|
||||
Changed encoding in AbstractIndexer to encode fully qualified names.
|
||||
|
||||
* index/org/eclipse/cdt/internal/core/search/indexing/AbstractIndexer.java
|
||||
|
||||
2003-07-03 Bogdan Gheorghe
|
||||
Updated copyright notices.
|
||||
|
||||
2003-06-25 Bogdan Gheorghe
|
||||
Added new Indexer framework:
|
||||
|
||||
* index/org/eclipse/cdt/internal/core/index/IDocument.java
|
||||
* index/org/eclipse/cdt/internal/core/index/IEntryResult.java
|
||||
* index/org/eclipse/cdt/internal/core/index/IIndex.java
|
||||
* index/org/eclipse/cdt/internal/core/index/IIndexer.java
|
||||
* index/org/eclipse/cdt/internal/core/index/IIndexerOutput.java
|
||||
* index/org/eclipse/cdt/internal/core/index/IQueryResult.java
|
||||
|
||||
* index/org/eclipse/cdt/internal/core/index/impl/Block.java
|
||||
* index/org/eclipse/cdt/internal/core/index/impl/BlocksIndexInput.java
|
||||
* index/org/eclipse/cdt/internal/core/index/impl/BlocksIndexOutput.java
|
||||
* index/org/eclipse/cdt/internal/core/index/impl/CodeByteStream.java
|
||||
* index/org/eclipse/cdt/internal/core/index/impl/EntryResult.java
|
||||
* index/org/eclipse/cdt/internal/core/index/impl/Field.java
|
||||
* index/org/eclipse/cdt/internal/core/index/impl/GammaCompressedIndexBlock.java
|
||||
* index/org/eclipse/cdt/internal/core/index/impl/IFileDocument.java
|
||||
* index/org/eclipse/cdt/internal/core/index/impl/IIndexConstants.java
|
||||
* index/org/eclipse/cdt/internal/core/index/impl/Index.java
|
||||
* index/org/eclipse/cdt/internal/core/index/impl/IndexBlock.java
|
||||
* index/org/eclipse/cdt/internal/core/index/impl/IndexedFile.java
|
||||
* index/org/eclipse/cdt/internal/core/index/impl/IndexedFileHashedArray.java
|
||||
* index/org/eclipse/cdt/internal/core/index/impl/IndexerOutput.java
|
||||
* index/org/eclipse/cdt/internal/core/index/impl/IndexInput.java
|
||||
* index/org/eclipse/cdt/internal/core/index/impl/IndexOutput.java
|
||||
* index/org/eclipse/cdt/internal/core/index/impl/IndexSummary.java
|
||||
* index/org/eclipse/cdt/internal/core/index/impl/InMemoryIndex.java
|
||||
* index/org/eclipse/cdt/internal/core/index/impl/Int.java
|
||||
* index/org/eclipse/cdt/internal/core/index/impl/MergeFactory.java
|
||||
* index/org/eclipse/cdt/internal/core/index/impl/PropertyDocument.java
|
||||
* index/org/eclipse/cdt/internal/core/index/impl/SafeRandomAccessFile.java
|
||||
* index/org/eclipse/cdt/internal/core/index/impl/SimpleIndexInput.java
|
||||
* index/org/eclipse/cdt/internal/core/index/impl/Util.java
|
||||
* index/org/eclipse/cdt/internal/core/index/impl/WordEntry.java
|
||||
* index/org/eclipse/cdt/internal/core/index/impl/WordEntryHashedArray.java
|
||||
|
||||
* index/org/eclipse/cdt/internal/core/search/CharOperation.java
|
||||
* index/org/eclipse/cdt/internal/core/search/HashtableOfInt.java
|
||||
* index/org/eclipse/cdt/internal/core/search/SimpleLookupTable.java
|
||||
* index/org/eclipse/cdt/internal/core/search/Util.java
|
||||
* index/org/eclipse/cdt/internal/core/search/message.properties
|
||||
|
||||
* index/org/eclipse/cdt/internal/core/search/indexing/AbstractIndexer.java
|
||||
* index/org/eclipse/cdt/internal/core/search/indexing/AddCompilationUnitToIndex.java
|
||||
* index/org/eclipse/cdt/internal/core/search/indexing/AddFileToIndex.java
|
||||
* index/org/eclipse/cdt/internal/core/search/indexing/AddFolderToIndex.java
|
||||
* index/org/eclipse/cdt/internal/core/search/indexing/IIndexConstants.java
|
||||
* index/org/eclipse/cdt/internal/core/search/indexing/IndexAllProject.java
|
||||
* index/org/eclipse/cdt/internal/core/search/indexing/IndexManager.java
|
||||
* index/org/eclipse/cdt/internal/core/search/indexing/IndexRequest.java
|
||||
* index/org/eclipse/cdt/internal/core/search/indexing/ReadWriteMonitor.java
|
||||
* index/org/eclipse/cdt/internal/core/search/indexing/RemoveFolderFromIndex.java
|
||||
* index/org/eclipse/cdt/internal/core/search/indexing/RemoveFromIndex.java
|
||||
* index/org/eclipse/cdt/internal/core/search/indexing/SaveIndex.java
|
||||
* index/org/eclipse/cdt/internal/core/search/indexing/SourceIndexer.java
|
||||
* index/org/eclipse/cdt/internal/core/search/indexing/SourceIndexerRequestor.java
|
||||
|
||||
2004-02-09 Bogdan Gheorghe
|
||||
PR 51232
|
||||
|
||||
- Added a layer of separation between the parser and the indexer: we now
|
||||
create a worker thread to run the parser in. This allows the indexer to
|
||||
finish all scheduled jobs regardless of how the parser performs on
|
||||
individual files (i.e. indexing no longer affected by parser failures)
|
||||
|
||||
- Modified some of the stored index block reading routines to use separate
|
||||
counters, thus avoiding potential EOF exceptions.
|
||||
|
||||
* index/org/eclipse/cdt/internal/core/index/impl/BlocksIndexInput.java
|
||||
* index/org/eclipse/cdt/internal/core/index/search/indexing/SourceIndexer.java
|
||||
|
||||
2004-02-03 Alain Magloire
|
||||
|
||||
PR 51106
|
||||
Patches from Thomas Fletcher dealing with the indexer.
|
||||
|
||||
- Remove assumed throw/catch of an exception to be a regular occurance
|
||||
and replace with explicit test and return for bounds access to the
|
||||
particular array.
|
||||
|
||||
- Consider references outside of the mapping range the same as no longer
|
||||
valid mappings (ie -1 entries) and avoid array range exceptions.
|
||||
|
||||
* index/org/eclipse/cdt/internal/core/index/impl/WordEntry.java
|
||||
* index/org/eclipse/cdt/internal/core/index/impl/FileListBlock.java
|
||||
|
||||
2004-01-26 John Camelon
|
||||
Updated clients to use new Scanner logging service.
|
||||
|
||||
2003-10-22 Bogdan Gheorghe
|
||||
|
||||
Added updateDependencies() to the IndexManager to request
|
||||
a new UpdateDependency job.
|
||||
|
||||
2003-10-01 Bogdan Gheorghe
|
||||
- Modified BlockIndexOutput.addInclude to properly flush an
|
||||
include block once it's full.
|
||||
- Flushing the CDT log after every merge
|
||||
- Logging I/O Exceptions in AddFileToIndex
|
||||
- Changed valid source file extensions in SourceIndexer to
|
||||
use CModelManager file extensions
|
||||
|
||||
2003-09-30 Bogdan Gheorghe
|
||||
Changed logging for SourceIndexer to log file in cdt.core
|
||||
|
||||
2003-09-25 Bogdan Gheorghe
|
||||
Integrated the dependency service into the indexer. Changes
|
||||
as follows:
|
||||
|
||||
org.eclipse.cdt.internal.core.index.impl:
|
||||
* IIndex - added getFileDependencies methods
|
||||
* IIndexerOutput - modified to allow dep inputs into the index
|
||||
* BlocksIndexInput - modified to allow the reading of the new index (which includes dep entries)
|
||||
* BlocksIndexOutput - added facilities to write includes to the index
|
||||
* GammaCompressedIndexBlock - modified with addIncludeEntry() and nextEntry()
|
||||
* IncludeEntry - new file
|
||||
* IncludeEntryHashedArray - new file
|
||||
* Index - Added getFileDepenendencies to query includeEntries from the index
|
||||
* IndexBlock - modified to reflect changes in GammaCompressedIndexBlock
|
||||
* IndexerOutput - added new methods from IIndexerOutput
|
||||
* IndexInput - modified to allow reading of includes from index files
|
||||
* IndexSummary - modified to save/read new format which contains include info
|
||||
* InMemoryIndex - modified InMemoryIndex to keep track of includes
|
||||
* MergeFactory - modified MergeFactory to accomodate new index file format
|
||||
* SimpleIndexInput - modified to use the new functions for includes in InMemoryIndex
|
||||
* Util - Added a quickSort for includeEntry[]
|
||||
|
||||
org.eclipse.cdt.internal.core.search.indexing:
|
||||
* AbstractIndexer - modified to getResourceFile being indexed, added bestIncludePrefix
|
||||
to find include table entries, addInclude() which accepts IASTInclusion node and adds it
|
||||
to the index
|
||||
* IIndexConstants - added includeRef constant
|
||||
* IndexManager - got rid of all dependency table references
|
||||
* SourceIndexer - modified to return resource being indexed
|
||||
* SourceIndexerRequestor - Added inclusion handling code; stack for includes
|
||||
|
||||
|
||||
2003-09-22 Bogdan Gheorghe
|
||||
|
||||
Took out the old CTags Indexer. Modified IndexAllProject to get
|
||||
the project path straight from the resource (bypassing the CModelManager).
|
||||
Commented out the enable section in IndexManager.
|
||||
|
||||
Modified
|
||||
* org.eclipse.cdt.internal.core.search.indexing.IndexAllProject
|
||||
* org.eclipse.cdt.internal.core.search.indexing.IndexManager
|
||||
|
||||
Deleted
|
||||
* org.eclipse.cdt.core.index.IndexModel
|
||||
* org.eclipse.cdt.core.index.ITagEntry
|
||||
* org.eclipse.cdt.core.index.TagFlags
|
||||
* org.eclipse.cdt.internal.core.index.CTagsCmd
|
||||
* org.eclipse.cdt.internal.core.index.CTagsEntry
|
||||
* org.eclipse.cdt.internal.core.index.CTagsFileReader
|
||||
* org.eclipse.cdt.internal.core.index.CTagsFileWriter
|
||||
* org.eclipse.cdt.internal.core.index.CTagsHeader
|
||||
* org.eclipse.cdt.internal.core.index.CTagsRunner
|
||||
* org.eclipse.cdt.internal.core.index.IndexManager
|
||||
* org.eclipse.cdt.internal.core.index.RequestList
|
||||
|
||||
2003-09-16 Andrew Niefer
|
||||
- add parameter references to index
|
||||
- modify CharOperation.match to allow escaping wildcards (bug43063)
|
||||
- modify AbstractIndexer.bestPrefix to handle wildcard escaping in name (bug43063)
|
||||
|
||||
2003-09-13 Andrew Niefer
|
||||
- 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
|
||||
|
||||
2003-09-09 Andrew Niefer
|
||||
Enumerator references
|
||||
- Added createEnumeratorFullyQualifiedName in AbstractIndexer
|
||||
- Added addEnumeratorReference in AbstractIndexer
|
||||
- implemented acceptEnumeratorReference in SourceIndexerRequestor
|
||||
|
||||
2003-09-08 Andrew Niefer
|
||||
- Modified calls to ParserFactory to specify which language to use
|
||||
|
||||
2003-09-05 Andrew Niefer
|
||||
- Modified how AbstractIndexer creates the fully qualified name for an enumerator (spec 7.2-10)
|
||||
|
||||
2003-08-26 Bogdan Gheorghe
|
||||
- Removed header file extensions from being indexed (they
|
||||
will be indexed via inclusion)
|
||||
|
||||
2003-08-20 Bogdan Gheorghe
|
||||
- Added debug tracing in AbstractIndexer
|
||||
- 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
|
||||
|
||||
2003-08-14 Bogdan Gheorghe
|
||||
- Added forward declarations to index
|
||||
|
||||
2003-08-12 Bogdan Gheorghe
|
||||
- Changed var prefix in AbstractIndexer to pass in fully
|
||||
qualified names
|
||||
|
||||
2003-08-11 Bogdan Gheorghe
|
||||
- Added macro declarations to the index
|
||||
- Added macro prefix to AbstractIndexer
|
||||
|
||||
2003-08-07 Bogdan Gheorghe
|
||||
- Added shutdown cleanup routine in IndexManager
|
||||
|
||||
2003-07-28 Andrew Niefer
|
||||
- added support for '?' wildcards in AbstractIndexer.bestPrefix
|
||||
|
||||
2003-07-25 Bogdan Gheorghe
|
||||
- Changed parser to COMPLETE mode
|
||||
- Added functionRef, methodRef, typeRef, namespaceRef, fieldRef
|
||||
|
||||
Modified:
|
||||
* index/org/eclipse/cdt/internal/core/search/indexing/AbstractIndexer.java
|
||||
* index/org/eclipse/cdt/internal/core/search/indexing/IIndexConstants.java
|
||||
* index/org/eclipse/cdt/internal/core/search/indexing/SourceIndexer.java
|
||||
* index/org/eclipse/cdt/internal/core/search/indexing/SourceIndexerRequestor.java
|
||||
|
||||
|
||||
2003-07-24 Andrew Niefer
|
||||
- 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-23 Andrew Niefer
|
||||
Modified
|
||||
*index/org/eclipse/cdt/internal/core/search/indexing/AbstractIndexer.java
|
||||
-changed so that the index prefixes contain the qualified names of the
|
||||
elements in reverse order.
|
||||
-Added functions:
|
||||
bestVariablePrefix
|
||||
bestNamespacePrefix
|
||||
bestFieldPrefix
|
||||
bestFunctionPrefix
|
||||
bestMethodPrefix
|
||||
|
||||
2003-07-21 Bogdan Gheorghe
|
||||
Added additional declarations to index: enums, enumerators, namespace,
|
||||
functions, vars, methods, fields, typedefs.
|
||||
|
||||
Fixed IndexManager to prevent individually added files from
|
||||
being added to the index if indexing is not enabled for the project
|
||||
|
||||
Modified:
|
||||
|
||||
* index/org/eclipse/cdt/internal/core/search/indexing/AbstractIndexer.java
|
||||
* index/org/eclipse/cdt/internal/core/search/indexing/IIndexConstants.java
|
||||
* index/org/eclipse/cdt/internal/core/search/indexing/IndexManager.java
|
||||
* index/org/eclipse/cdt/internal/core/search/indexing/SourceIndexerRequestor.java
|
||||
|
||||
2003-07-10 Bogdan Gheorghe
|
||||
Added bestTypeDeclarationPrefix to AbstractIndexer to allow the
|
||||
search engine to create a query string for the index.
|
||||
Changed encoding in AbstractIndexer to encode fully qualified names.
|
||||
|
||||
* index/org/eclipse/cdt/internal/core/search/indexing/AbstractIndexer.java
|
||||
|
||||
2003-07-03 Bogdan Gheorghe
|
||||
Updated copyright notices.
|
||||
|
||||
2003-06-25 Bogdan Gheorghe
|
||||
Added new Indexer framework:
|
||||
|
||||
* index/org/eclipse/cdt/internal/core/index/IDocument.java
|
||||
* index/org/eclipse/cdt/internal/core/index/IEntryResult.java
|
||||
* index/org/eclipse/cdt/internal/core/index/IIndex.java
|
||||
* index/org/eclipse/cdt/internal/core/index/IIndexer.java
|
||||
* index/org/eclipse/cdt/internal/core/index/IIndexerOutput.java
|
||||
* index/org/eclipse/cdt/internal/core/index/IQueryResult.java
|
||||
|
||||
* index/org/eclipse/cdt/internal/core/index/impl/Block.java
|
||||
* index/org/eclipse/cdt/internal/core/index/impl/BlocksIndexInput.java
|
||||
* index/org/eclipse/cdt/internal/core/index/impl/BlocksIndexOutput.java
|
||||
* index/org/eclipse/cdt/internal/core/index/impl/CodeByteStream.java
|
||||
* index/org/eclipse/cdt/internal/core/index/impl/EntryResult.java
|
||||
* index/org/eclipse/cdt/internal/core/index/impl/Field.java
|
||||
* index/org/eclipse/cdt/internal/core/index/impl/GammaCompressedIndexBlock.java
|
||||
* index/org/eclipse/cdt/internal/core/index/impl/IFileDocument.java
|
||||
* index/org/eclipse/cdt/internal/core/index/impl/IIndexConstants.java
|
||||
* index/org/eclipse/cdt/internal/core/index/impl/Index.java
|
||||
* index/org/eclipse/cdt/internal/core/index/impl/IndexBlock.java
|
||||
* index/org/eclipse/cdt/internal/core/index/impl/IndexedFile.java
|
||||
* index/org/eclipse/cdt/internal/core/index/impl/IndexedFileHashedArray.java
|
||||
* index/org/eclipse/cdt/internal/core/index/impl/IndexerOutput.java
|
||||
* index/org/eclipse/cdt/internal/core/index/impl/IndexInput.java
|
||||
* index/org/eclipse/cdt/internal/core/index/impl/IndexOutput.java
|
||||
* index/org/eclipse/cdt/internal/core/index/impl/IndexSummary.java
|
||||
* index/org/eclipse/cdt/internal/core/index/impl/InMemoryIndex.java
|
||||
* index/org/eclipse/cdt/internal/core/index/impl/Int.java
|
||||
* index/org/eclipse/cdt/internal/core/index/impl/MergeFactory.java
|
||||
* index/org/eclipse/cdt/internal/core/index/impl/PropertyDocument.java
|
||||
* index/org/eclipse/cdt/internal/core/index/impl/SafeRandomAccessFile.java
|
||||
* index/org/eclipse/cdt/internal/core/index/impl/SimpleIndexInput.java
|
||||
* index/org/eclipse/cdt/internal/core/index/impl/Util.java
|
||||
* index/org/eclipse/cdt/internal/core/index/impl/WordEntry.java
|
||||
* index/org/eclipse/cdt/internal/core/index/impl/WordEntryHashedArray.java
|
||||
|
||||
* index/org/eclipse/cdt/internal/core/search/CharOperation.java
|
||||
* index/org/eclipse/cdt/internal/core/search/HashtableOfInt.java
|
||||
* index/org/eclipse/cdt/internal/core/search/SimpleLookupTable.java
|
||||
* index/org/eclipse/cdt/internal/core/search/Util.java
|
||||
* index/org/eclipse/cdt/internal/core/search/message.properties
|
||||
|
||||
* index/org/eclipse/cdt/internal/core/search/indexing/AbstractIndexer.java
|
||||
* index/org/eclipse/cdt/internal/core/search/indexing/AddCompilationUnitToIndex.java
|
||||
* index/org/eclipse/cdt/internal/core/search/indexing/AddFileToIndex.java
|
||||
* index/org/eclipse/cdt/internal/core/search/indexing/AddFolderToIndex.java
|
||||
* index/org/eclipse/cdt/internal/core/search/indexing/IIndexConstants.java
|
||||
* index/org/eclipse/cdt/internal/core/search/indexing/IndexAllProject.java
|
||||
* index/org/eclipse/cdt/internal/core/search/indexing/IndexManager.java
|
||||
* index/org/eclipse/cdt/internal/core/search/indexing/IndexRequest.java
|
||||
* index/org/eclipse/cdt/internal/core/search/indexing/ReadWriteMonitor.java
|
||||
* index/org/eclipse/cdt/internal/core/search/indexing/RemoveFolderFromIndex.java
|
||||
* index/org/eclipse/cdt/internal/core/search/indexing/RemoveFromIndex.java
|
||||
* index/org/eclipse/cdt/internal/core/search/indexing/SaveIndex.java
|
||||
* index/org/eclipse/cdt/internal/core/search/indexing/SourceIndexer.java
|
||||
* index/org/eclipse/cdt/internal/core/search/indexing/SourceIndexerRequestor.java
|
||||
|
||||
|
|
@ -30,6 +30,7 @@ public class BlocksIndexInput extends IndexInput {
|
|||
protected FileListBlock currentFileListBlock;
|
||||
protected int currentFileListBlockNum;
|
||||
protected int currentIndexBlockNum;
|
||||
protected int currentIncludeBlockNum;
|
||||
protected IndexBlock currentIndexBlock;
|
||||
protected IndexBlock currentIncludeIndexBlock;
|
||||
private RandomAccessFile raf;
|
||||
|
@ -408,7 +409,7 @@ public class BlocksIndexInput extends IndexInput {
|
|||
//if end of the current block, we load the next one.
|
||||
boolean endOfBlock= !currentIncludeIndexBlock.nextEntry(currentIncludeEntry);
|
||||
if (endOfBlock) {
|
||||
currentIncludeIndexBlock= getIndexBlock(++currentIndexBlockNum);
|
||||
currentIncludeIndexBlock= getIndexBlock(++currentIncludeBlockNum);
|
||||
currentIncludeIndexBlock.nextEntry(currentWordEntry);
|
||||
}
|
||||
}
|
||||
|
@ -418,8 +419,8 @@ public class BlocksIndexInput extends IndexInput {
|
|||
protected void setFirstInclude() throws IOException {
|
||||
includePosition= 1;
|
||||
if (getNumIncludes() > 0) {
|
||||
currentIndexBlockNum= summary.getFirstIncludeBlockNum();
|
||||
currentIncludeIndexBlock= getIndexBlock(currentIndexBlockNum);
|
||||
currentIncludeBlockNum= summary.getFirstIncludeBlockNum();
|
||||
currentIncludeIndexBlock= getIndexBlock(currentIncludeBlockNum);
|
||||
currentIncludeEntry= new IncludeEntry(0);
|
||||
currentIncludeIndexBlock.reset();
|
||||
currentIncludeIndexBlock.nextEntry(currentIncludeEntry);
|
||||
|
|
|
@ -97,7 +97,18 @@ public class SourceIndexer extends AbstractIndexer {
|
|||
{
|
||||
}
|
||||
|
||||
boolean retVal = parser.parse();
|
||||
ParserRunner p = new ParserRunner(parser);
|
||||
Thread t = new Thread(p, "CDT Indexer Parser Runner");
|
||||
t.start();
|
||||
|
||||
try{
|
||||
t.join();
|
||||
}
|
||||
catch (InterruptedException e){
|
||||
org.eclipse.cdt.internal.core.model.Util.log(null, "Parser Runner InterruptedException - file: " + resourceFile.getFullPath(), ICLogConstants.CDT);
|
||||
}
|
||||
|
||||
boolean retVal = p.getResult();
|
||||
|
||||
if (!retVal)
|
||||
org.eclipse.cdt.internal.core.model.Util.log(null, "Failed to index " + resourceFile.getFullPath(), ICLogConstants.CDT);
|
||||
|
@ -120,4 +131,26 @@ public class SourceIndexer extends AbstractIndexer {
|
|||
public IFile getResourceFile() {
|
||||
return resourceFile;
|
||||
}
|
||||
|
||||
class ParserRunner implements Runnable {
|
||||
IParser parser;
|
||||
boolean retVal;
|
||||
ParserRunner(IParser parser){
|
||||
this.parser = parser;
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
* @see java.lang.Runnable#run()
|
||||
*/
|
||||
public void run() {
|
||||
try{
|
||||
retVal=parser.parse();
|
||||
}
|
||||
catch (Exception e){
|
||||
org.eclipse.cdt.internal.core.model.Util.log(null, "Parser Runner Exception " + resourceFile.getFullPath() + " Message: " + e.getMessage(), ICLogConstants.CDT);
|
||||
}
|
||||
}
|
||||
|
||||
boolean getResult(){ return retVal;}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue