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