[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[cdt-patch] Indexer clean up patch
|
This patch:
- changes the indexer to use whatever
source/header extensions are defined in CModelManager
- updated the search shortcut so that
Ctrl + H will bring up the C/C++ search in a source/header extension file
- flushes the CDT log file after each
index merge (ie. each time the indexer completes an index)
As always, Automation Suite on Windows
and Linux..
- Bogdan
Index: ChangeLog
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/ChangeLog,v
retrieving revision 1.158
diff -u -r1.158 ChangeLog
--- ChangeLog 1 Oct 2003 19:43:06 -0000 1.158
+++ ChangeLog 1 Oct 2003 22:03:14 -0000
@@ -1,7 +1,10 @@
2003-10-01 Bogdan Gheorghe
-
+
+ Changed DeltaProcessor.updateDependencies to use the CModelManager
+ header file definitions
+
Modified CDTLogWriter: increased max log file size to 10MB; got rid of
- the stack dumps/
+ the stack dumps; added flush to CDTLogWriter
* src/org/eclipse/cdt/internal/core/CDTLogWriter.java
Index: index/ChangeLog
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/index/ChangeLog,v
retrieving revision 1.23
diff -u -r1.23 ChangeLog
--- index/ChangeLog 1 Oct 2003 19:43:06 -0000 1.23
+++ index/ChangeLog 1 Oct 2003 22:03:15 -0000
@@ -1,6 +1,10 @@
2003-10-01 Bogdan Gheorghe
- Modified BlockIndexOutput.addInclude to properly flush an
+ - 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
Index: index/org/eclipse/cdt/internal/core/index/impl/Index.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/impl/Index.java,v
retrieving revision 1.3
diff -u -r1.3 Index.java
--- index/org/eclipse/cdt/internal/core/index/impl/Index.java 26 Sep 2003 17:53:31 -0000 1.3
+++ index/org/eclipse/cdt/internal/core/index/impl/Index.java 1 Oct 2003 22:03:15 -0000
@@ -17,6 +17,7 @@
import java.util.List;
import java.util.Map;
+import org.eclipse.cdt.core.CCorePlugin;
import org.eclipse.cdt.internal.core.index.IDocument;
import org.eclipse.cdt.internal.core.index.IEntryResult;
import org.eclipse.cdt.internal.core.index.IIndex;
@@ -272,6 +273,8 @@
addsIndex.init();
addsIndexInput= new SimpleIndexInput(addsIndex);
state= MERGED;
+ //flush the CDT log
+ CCorePlugin.getDefault().cdtLog.flushLog();
}
}
/**
Index: index/org/eclipse/cdt/internal/core/search/indexing/AddFileToIndex.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/search/indexing/AddFileToIndex.java,v
retrieving revision 1.4
diff -u -r1.4 AddFileToIndex.java
--- index/org/eclipse/cdt/internal/core/search/indexing/AddFileToIndex.java 9 Sep 2003 17:53:51 -0000 1.4
+++ index/org/eclipse/cdt/internal/core/search/indexing/AddFileToIndex.java 1 Oct 2003 22:03:16 -0000
@@ -12,6 +12,7 @@
import java.io.IOException;
+import org.eclipse.cdt.core.ICLogConstants;
import org.eclipse.cdt.internal.core.index.IIndex;
import org.eclipse.cdt.internal.core.search.processing.JobManager;
import org.eclipse.core.resources.IFile;
@@ -37,6 +38,7 @@
monitor.enterWrite(); // ask permission to write
if (!indexDocument(index)) return false;
} catch (IOException e) {
+ org.eclipse.cdt.internal.core.model.Util.log(null, "Index I/O Exception: " + e.getMessage() + " on File: " + resource.getName(), ICLogConstants.CDT);
if (IndexManager.VERBOSE) {
JobManager.verbose("-> failed to index " + this.resource + " because of the following exception:"); //$NON-NLS-1$ //$NON-NLS-2$
e.printStackTrace();
Index: index/org/eclipse/cdt/internal/core/search/indexing/SourceIndexer.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/search/indexing/SourceIndexer.java,v
retrieving revision 1.12
diff -u -r1.12 SourceIndexer.java
--- index/org/eclipse/cdt/internal/core/search/indexing/SourceIndexer.java 1 Oct 2003 13:33:33 -0000 1.12
+++ index/org/eclipse/cdt/internal/core/search/indexing/SourceIndexer.java 1 Oct 2003 22:03:16 -0000
@@ -28,6 +28,7 @@
import org.eclipse.cdt.core.parser.ParserFactory;
import org.eclipse.cdt.core.parser.ParserMode;
import org.eclipse.cdt.internal.core.index.IDocument;
+import org.eclipse.cdt.internal.core.model.CModelManager;
import org.eclipse.cdt.internal.core.parser.ScannerInfo;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IProject;
@@ -47,7 +48,8 @@
//TODO: Indexer, add additional file types
//Header files: "h" , "hh", "hpp"
- public static final String[] FILE_TYPES= new String[] {"cpp","c", "cc", "cxx"}; //$NON-NLS-1$
+ //Use the CModelManager defined file types
+ //public static final String[] FILE_TYPES= new String[] {"cpp","c", "cc", "cxx"}; //$NON-NLS-1$
//protected DefaultProblemFactory problemFactory= new DefaultProblemFactory(Locale.getDefault());
IFile resourceFile;
@@ -59,7 +61,7 @@
* Returns the file types the <code>IIndexer</code> handles.
*/
public String[] getFileTypes(){
- return FILE_TYPES;
+ return CModelManager.sourceExtensions;
}
protected void indexFile(IDocument document) throws IOException {
@@ -86,23 +88,17 @@
ParserFactory.createScanner( new StringReader( document.getStringContent() ), resourceFile.getLocation().toOSString(), scanInfo, ParserMode.COMPLETE_PARSE, language, requestor ),
requestor, ParserMode.COMPLETE_PARSE, language );
- try{
- boolean retVal = parser.parse();
-
+ boolean retVal = parser.parse();
+
+ if (!retVal)
+ org.eclipse.cdt.internal.core.model.Util.log(null, "Failed to index " + resourceFile.getFullPath(), ICLogConstants.CDT);
+
+ if (AbstractIndexer.VERBOSE){
if (!retVal)
- org.eclipse.cdt.internal.core.model.Util.log(null, "Failed to index " + resourceFile.getFullPath(), ICLogConstants.CDT);
-
- if (AbstractIndexer.VERBOSE){
- if (!retVal)
- AbstractIndexer.verbose("PARSE FAILED " + resourceFile.getName().toString());
- else
- AbstractIndexer.verbose("PARSE SUCCEEDED " + resourceFile.getName().toString());
- }
- }
- catch( Exception e ){
- System.out.println( "Parse Exception in SourceIndexer" );
- e.printStackTrace();
- }
+ AbstractIndexer.verbose("PARSE FAILED " + resourceFile.getName().toString());
+ else
+ AbstractIndexer.verbose("PARSE SUCCEEDED " + resourceFile.getName().toString());
+ }
}
/**
* Sets the document types the <code>IIndexer</code> handles.
Index: model/org/eclipse/cdt/internal/core/model/DeltaProcessor.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/DeltaProcessor.java,v
retrieving revision 1.16
diff -u -r1.16 DeltaProcessor.java
--- model/org/eclipse/cdt/internal/core/model/DeltaProcessor.java 26 Sep 2003 17:53:31 -0000 1.16
+++ model/org/eclipse/cdt/internal/core/model/DeltaProcessor.java 1 Oct 2003 22:03:16 -0000
@@ -511,9 +511,7 @@
String fileExtension = resource.getFileExtension();
if ((fileExtension != null) &&
- (fileExtension.equals("h") ||
- fileExtension.equals("hh") ||
- fileExtension.equals("hpp")))
+ (isValidHeader(fileExtension)))
{
PathCollector pathCollector = new PathCollector();
//SubProgressMonitor subMonitor = (progressMonitor == null ) ? null : new SubProgressMonitor( progressMonitor, 5 );
@@ -544,4 +542,13 @@
}
}
}
+
+ private boolean isValidHeader(String fileExtension) {
+ String[] supportedTypes = CModelManager.headerExtensions;
+ for (int i = 0; i < supportedTypes.length; ++i) {
+ if (supportedTypes[i].equals(fileExtension))
+ return true;
+ }
+ return false;
+ }
}
Index: src/org/eclipse/cdt/internal/core/CDTLogWriter.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.core/src/org/eclipse/cdt/internal/core/CDTLogWriter.java,v
retrieving revision 1.2
diff -u -r1.2 CDTLogWriter.java
--- src/org/eclipse/cdt/internal/core/CDTLogWriter.java 1 Oct 2003 19:43:06 -0000 1.2
+++ src/org/eclipse/cdt/internal/core/CDTLogWriter.java 1 Oct 2003 22:03:18 -0000
@@ -206,5 +206,11 @@
protected void writeSpace() throws IOException {
write(" ");//$NON-NLS-1$
}
+
+ public synchronized void flushLog(){
+ try {
+ log.flush();
+ } catch (IOException e) {}
+ }
}
Index: plugin.xml
===================================================================
RCS file: /home/tools/org.eclipse.cdt.ui/plugin.xml,v
retrieving revision 1.52
diff -u -r1.52 plugin.xml
--- plugin.xml 1 Oct 2003 20:21:54 -0000 1.52
+++ plugin.xml 1 Oct 2003 22:03:42 -0000
@@ -407,7 +407,7 @@
showScopeSection="true"
label="%CSearchPage.label"
icon="icons/full/obj16/csearch_obj.gif"
- extensions="c:90,cpp:90, cxx:90, cc:90, h:90, hh:90, hpp:90"
+ extensions="c:90,cpp:90, cxx:90, cc:90,C:90, h:90, hh:90, hpp:90, H:90"
class="org.eclipse.cdt.internal.ui.search.CSearchPage"
sizeHint="460, 160"
id="org.eclipse.cdt.ui.CSearchPage">