From 8488a0d8632adbeba0b08cb48fba5d700c778cd6 Mon Sep 17 00:00:00 2001 From: Bogdan Gheorghe Date: Tue, 3 May 2005 04:41:58 +0000 Subject: [PATCH] Added function definitions for CTags Parser Refactored IIndexerOutput to take definitons for functions/methods --- .../eclipse/cdt/internal/core/index/IIndexerOutput.java | 2 ++ .../cdt/internal/core/index/cindexstorage/Index.java | 3 +-- .../internal/core/index/cindexstorage/IndexerOutput.java | 8 ++++++++ .../core/index/ctagsindexer/CTagsConsoleParser.java | 3 +-- 4 files changed, 12 insertions(+), 4 deletions(-) diff --git a/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/IIndexerOutput.java b/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/IIndexerOutput.java index b79e38671d4..fdbd9fcda34 100644 --- a/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/IIndexerOutput.java +++ b/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/IIndexerOutput.java @@ -29,9 +29,11 @@ public interface IIndexerOutput { public void addFieldRef(int indexedFileNumber, char [][] name, int offset, int offsetLength, int offsetType); public void addMethodDecl(int indexedFileNumber, char [][] name, /*char[][] parameterTypes,*/ int offset, int offsetLength, int offsetType); + public void addMethodDefn(int indexedFileNumber, char [][] name, /*char[][] parameterTypes,*/int offset, int offsetLength, int offsetType); public void addMethodRef(int indexedFileNumber, char [][] name, /*char[][] parameterTypes,*/ int offset, int offsetLength, int offsetType); public void addFunctionDecl(int indexedFileNumber, char [][] name, /*char[][] parameterTypes,*/int offset, int offsetLength, int offsetType); + public void addFunctionDefn(int indexedFileNumber, char [][] name, /*char[][] parameterTypes,*/int offset, int offsetLength, int offsetType); public void addFunctionRef(int indexedFileNumber, char [][] name, /*char[][] parameterTypes,*/int offset, int offsetLength, int offsetType); public void addNamespaceDecl(int indexedFileNumber, char [][] name, int offset, int offsetLength, int offsetType); diff --git a/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/cindexstorage/Index.java b/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/cindexstorage/Index.java index 56377123ab8..3fcb8901a06 100644 --- a/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/cindexstorage/Index.java +++ b/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/cindexstorage/Index.java @@ -561,8 +561,7 @@ public class Index implements IIndex, ICIndexStorageConstants, ICSearchConstants } else if( limitTo == DECLARATIONS ){ prefix = encodeEntry(IIndex.FUNCTION, ANY, DECLARATION); } else if ( limitTo == DEFINITIONS ){ - //TODO prefix = FUNCTION_DEF; - return encodeEntry(IIndex.FUNCTION, ANY, ANY); + return encodeEntry(IIndex.FUNCTION, ANY, DEFINITION); } else { return encodeEntry(IIndex.FUNCTION, ANY, ANY); } diff --git a/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/cindexstorage/IndexerOutput.java b/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/cindexstorage/IndexerOutput.java index 21df1a34c3b..21010393bfb 100644 --- a/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/cindexstorage/IndexerOutput.java +++ b/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/cindexstorage/IndexerOutput.java @@ -113,6 +113,10 @@ public class IndexerOutput implements ICIndexStorageConstants, IIndexerOutput { addRef(indexedFileNumber, name, IIndex.METHOD, IIndex.DECLARATION, offset,offsetLength, offsetType); } + public void addMethodDefn(int indexedFileNumber, char[][] name, /*char[][] parameterTypes,*/ int offset, int offsetLength, int offsetType) { + addRef(indexedFileNumber, name, IIndex.METHOD, IIndex.DEFINITION, offset,offsetLength, offsetType); + } + public void addMethodRef(int indexedFileNumber, char[][] name, /*char[][] parameterTypes,*/int offset, int offsetLength, int offsetType) { addRef(indexedFileNumber, name, IIndex.METHOD, IIndex.REFERENCE, offset,offsetLength, offsetType); } @@ -121,6 +125,10 @@ public class IndexerOutput implements ICIndexStorageConstants, IIndexerOutput { addRef(indexedFileNumber, name, IIndex.FUNCTION, IIndex.DECLARATION, offset,offsetLength, offsetType); } + public void addFunctionDefn(int indexedFileNumber, char[][] name, /*char[][] parameterTypes,*/ int offset, int offsetLength, int offsetType) { + addRef(indexedFileNumber, name, IIndex.FUNCTION, IIndex.DEFINITION, offset,offsetLength, offsetType); + } + public void addFunctionRef(int indexedFileNumber, char[][] name, /*char[][] parameterTypes,*/int offset, int offsetLength, int offsetType) { addRef(indexedFileNumber, name, IIndex.FUNCTION, IIndex.REFERENCE, offset,offsetLength, offsetType); } diff --git a/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/ctagsindexer/CTagsConsoleParser.java b/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/ctagsindexer/CTagsConsoleParser.java index 5a9d1adbb73..61bfc3b5d2b 100644 --- a/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/ctagsindexer/CTagsConsoleParser.java +++ b/core/org.eclipse.cdt.core/index/org/eclipse/cdt/internal/core/index/ctagsindexer/CTagsConsoleParser.java @@ -89,7 +89,7 @@ public class CTagsConsoleParser implements IConsoleParser { } else if (kind.equals(ENUMERATOR)){ indexer.getOutput().addEnumtorDecl(getFileNumber(), fullName, lineNumber, 1, IIndex.LINE); } else if (kind.equals(FUNCTION)){ - indexer.getOutput().addFunctionDecl(getFileNumber(), fullName, lineNumber, 1, IIndex.LINE); + indexer.getOutput().addFunctionDefn(getFileNumber(), fullName, lineNumber, 1, IIndex.LINE); } else if (kind.equals(ENUM)){ indexer.getOutput().addEnumDecl(getFileNumber(), fullName, lineNumber, 1, IIndex.LINE); } else if (kind.equals(MEMBER)){ @@ -98,7 +98,6 @@ public class CTagsConsoleParser implements IConsoleParser { indexer.getOutput().addNamespaceDecl(getFileNumber(), fullName, lineNumber, 1, IIndex.LINE); } else if (kind.equals(PROTOTYPE)){ indexer.getOutput().addFunctionDecl(getFileNumber(), fullName, lineNumber, 1, IIndex.LINE); - //type = ICSearchConstants.DEFINITIONS; } else if (kind.equals(STRUCT)){ indexer.getOutput().addStructDecl(getFileNumber(), fullName, lineNumber, 1, IIndex.LINE); } else if (kind.equals(TYPEDEF)){