From ff9ca80b0c264fc707c9f239619af2b5c067388f Mon Sep 17 00:00:00 2001 From: John Camelon Date: Mon, 11 Aug 2003 19:10:45 +0000 Subject: [PATCH] Patch for Bogdan (Fancy Pants) Gheorghe This patch adds macro declarations to the index. --- core/org.eclipse.cdt.core.tests/ChangeLog | 3 ++ .../core/indexer/tests/IndexManagerTests.java | 52 ++++++++++++++++--- .../resources/indexer/extramail.cpp | 4 ++ core/org.eclipse.cdt.core/index/ChangeLog | 3 ++ .../core/search/indexing/AbstractIndexer.java | 7 +++ .../core/search/indexing/IIndexConstants.java | 3 ++ .../indexing/SourceIndexerRequestor.java | 2 +- 7 files changed, 67 insertions(+), 7 deletions(-) diff --git a/core/org.eclipse.cdt.core.tests/ChangeLog b/core/org.eclipse.cdt.core.tests/ChangeLog index 09484b458fe..09d3e35a628 100644 --- a/core/org.eclipse.cdt.core.tests/ChangeLog +++ b/core/org.eclipse.cdt.core.tests/ChangeLog @@ -1,3 +1,6 @@ +2003-08-11 Bogdan Gheorghe + - Added testMacros to IndexManagerTests + 2003-08-05 Andrew Niefer - refactoring Parser Symbol Table function names - added ParserSymbolTableTest.testConstructors() diff --git a/core/org.eclipse.cdt.core.tests/indexer/org/eclipse/cdt/core/indexer/tests/IndexManagerTests.java b/core/org.eclipse.cdt.core.tests/indexer/org/eclipse/cdt/core/indexer/tests/IndexManagerTests.java index 2f268bc4dd7..c6e884d4e1a 100644 --- a/core/org.eclipse.cdt.core.tests/indexer/org/eclipse/cdt/core/indexer/tests/IndexManagerTests.java +++ b/core/org.eclipse.cdt.core.tests/indexer/org/eclipse/cdt/core/indexer/tests/IndexManagerTests.java @@ -15,6 +15,7 @@ import java.io.FileInputStream; import java.io.FileWriter; import java.io.IOException; import java.util.ArrayList; +import java.util.Arrays; import java.util.Iterator; import junit.framework.Test; @@ -88,7 +89,14 @@ public class IndexManagerTests extends TestCase { public static Test suite() { TestSuite suite = new TestSuite(); + + suite.addTest(new IndexManagerTests("testAddNewFileToIndex")); + suite.addTest(new IndexManagerTests("testRemoveProjectFromIndex")); + suite.addTest(new IndexManagerTests("testRefs")); + suite.addTest(new IndexManagerTests("testMacros")); + suite.addTest(new IndexManagerTests("testDependencyTree")); suite.addTest(new IndexManagerTests("testIndexShutdown")); + return suite; //return new TestSuite(IndexManagerTests.class); } @@ -167,13 +175,12 @@ public class IndexManagerTests extends TestCase { if (eresults.length != entryResultModel.length) fail("Entry Result length different from model"); - - + for (int i=0; i #include +#define PRINT(a,b) cout<<(a)<<(b) +#define CASE break;case +#define MAX(a,b) (((a)>(b))?(a):(b)) + typedef int int32; static void doSomething(); diff --git a/core/org.eclipse.cdt.core/index/ChangeLog b/core/org.eclipse.cdt.core/index/ChangeLog index 247f8ea7652..47695c9f6c2 100644 --- a/core/org.eclipse.cdt.core/index/ChangeLog +++ b/core/org.eclipse.cdt.core/index/ChangeLog @@ -1,3 +1,6 @@ +2003-08-11 Bogdan Gheorghe + - Added macro declarations to the index + 2003-08-07 Bogdan Gheorghe - Added shutdown cleanup routine in IndexManager diff --git a/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/search/indexing/AbstractIndexer.java b/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/search/indexing/AbstractIndexer.java index 3fa14df90fb..dfbc81d0177 100644 --- a/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/search/indexing/AbstractIndexer.java +++ b/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/search/indexing/AbstractIndexer.java @@ -20,6 +20,7 @@ import org.eclipse.cdt.core.parser.ast.IASTEnumerationSpecifier; import org.eclipse.cdt.core.parser.ast.IASTEnumerator; import org.eclipse.cdt.core.parser.ast.IASTField; import org.eclipse.cdt.core.parser.ast.IASTFunction; +import org.eclipse.cdt.core.parser.ast.IASTMacro; import org.eclipse.cdt.core.parser.ast.IASTMethod; import org.eclipse.cdt.core.parser.ast.IASTNamespaceDefinition; import org.eclipse.cdt.core.parser.ast.IASTTypedefDeclaration; @@ -78,6 +79,12 @@ public abstract class AbstractIndexer implements IIndexer, IIndexConstants, ICSe } } + public void addMacro(IASTMacro macro) { + String[] macroName = new String[1]; + macroName[0] = macro.getName(); + this.output.addRef(encodeEntry(macroName,MACRO_DECL,MACRO_DECL_LENGTH)); + } + public void addEnumerationReference(IASTEnumerationSpecifier enumeration) { this.output.addRef(encodeTypeEntry(enumeration.getFullyQualifiedName(), ENUM, ICSearchConstants.REFERENCES)); } diff --git a/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/search/indexing/IIndexConstants.java b/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/search/indexing/IIndexConstants.java index 21a9a3b14bb..bf6a95857ad 100644 --- a/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/search/indexing/IIndexConstants.java +++ b/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/search/indexing/IIndexConstants.java @@ -59,6 +59,9 @@ public interface IIndexConstants { char[] TYPEDEF_DECL = "typedefDecl/".toCharArray(); //$NON-NLS-1$ int TYPEDEF_DECL_LENGTH = 12; + + char[] MACRO_DECL = "macroDecl/".toCharArray(); + int MACRO_DECL_LENGTH = 10; //a Var REF will be treated as a typeREF //char[] VAR_REF= "varRef/".toCharArray(); //$NON-NLS-1$ diff --git a/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/search/indexing/SourceIndexerRequestor.java b/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/search/indexing/SourceIndexerRequestor.java index 16b526840a7..e8bef7775b7 100644 --- a/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/search/indexing/SourceIndexerRequestor.java +++ b/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/search/indexing/SourceIndexerRequestor.java @@ -80,7 +80,7 @@ public class SourceIndexerRequestor implements ISourceElementRequestor, IIndexCo */ public void acceptMacro(IASTMacro macro) { // TODO Auto-generated method stub - //System.out.println("acceptMacro"); + indexer.addMacro(macro); } /* (non-Javadoc)