diff --git a/core/org.eclipse.cdt.core/index/ChangeLog b/core/org.eclipse.cdt.core/index/ChangeLog index 0e8a94740fa..625bd50f091 100644 --- a/core/org.eclipse.cdt.core/index/ChangeLog +++ b/core/org.eclipse.cdt.core/index/ChangeLog @@ -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 + \ No newline at end of file diff --git a/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/impl/BlocksIndexInput.java b/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/impl/BlocksIndexInput.java index 7cebcc52297..6e39a668c13 100644 --- a/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/impl/BlocksIndexInput.java +++ b/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/impl/BlocksIndexInput.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); diff --git a/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/search/indexing/SourceIndexer.java b/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/search/indexing/SourceIndexer.java index 75cada09a3c..895a5d8fa15 100644 --- a/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/search/indexing/SourceIndexer.java +++ b/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/search/indexing/SourceIndexer.java @@ -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;} + + } }