1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-29 19:45:01 +02:00

Added function definitions for CTags Parser

Refactored IIndexerOutput to take definitons for functions/methods
This commit is contained in:
Bogdan Gheorghe 2005-05-03 04:41:58 +00:00
parent bdb7bbaf87
commit 8488a0d863
4 changed files with 12 additions and 4 deletions

View file

@ -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);

View file

@ -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);
}

View file

@ -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);
}

View file

@ -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)){