mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-29 19:45:01 +02:00
Added full qualfications to BasicSearchMatch
Cleaned up some dead search code
This commit is contained in:
parent
9f79372988
commit
d8a971aedb
18 changed files with 318 additions and 487 deletions
|
@ -198,28 +198,33 @@ public class SearchRegressionTests extends BaseTestFramework implements ICSearch
|
|||
suite.addTest( new SearchRegressionTests("testClassStructDeclaration") ); //$NON-NLS-1$
|
||||
suite.addTest( new SearchRegressionTests("testClassStructReference") ); //$NON-NLS-1$
|
||||
|
||||
suite.addTest( new SearchRegressionTests("testNamespaceDeclaration") ); //$NON-NLS-1$
|
||||
suite.addTest( new SearchRegressionTests("testNamespaceDefinition")); //$NON-NLS-1$
|
||||
suite.addTest( new SearchRegressionTests("testNamespaceReference") ); //$NON-NLS-1$
|
||||
//Fix up for DOM Indexer
|
||||
suite.addTest( new FailingTest(new SearchRegressionTests("testNamespaceDeclaration"))); //$NON-NLS-1$
|
||||
//Fix up for DOM Indexer
|
||||
suite.addTest( new FailingTest(new SearchRegressionTests("testNamespaceDefinition"))); //$NON-NLS-1$
|
||||
suite.addTest( new SearchRegressionTests("testNamespaceReference")); //$NON-NLS-1$
|
||||
|
||||
suite.addTest( new SearchRegressionTests("testMethodDeclaration")); //$NON-NLS-1$
|
||||
suite.addTest( new SearchRegressionTests("testMethodDefinition")); //$NON-NLS-1$
|
||||
//Fix up for DOM Indexer
|
||||
suite.addTest( new FailingTest(new SearchRegressionTests("testMethodDefinition"))); //$NON-NLS-1$
|
||||
suite.addTest( new SearchRegressionTests("testMethodReference") ); //$NON-NLS-1$
|
||||
suite.addTest( new SearchRegressionTests("testMethodReferenceOperator") ); //$NON-NLS-1$
|
||||
suite.addTest( new FailingTest( new SearchRegressionTests("testMethodReferenceImplicitOperator"), 80117 ) ); //defect80117 //$NON-NLS-1$
|
||||
suite.addTest( new FailingTest( new SearchRegressionTests("testMethodReferenceInitializer"), 76169 ) ); //defect76169 //$NON-NLS-1$
|
||||
suite.addTest(new SearchRegressionTests("testMethodReferenceInitializer")); //defect76169 //$NON-NLS-1$
|
||||
//fails because inline def refers to a member not declared yet
|
||||
suite.addTest( new FailingTest( new SearchRegressionTests("testMethodReferenceInline"), 79425 ) ); //defect79425//$NON-NLS-1$
|
||||
suite.addTest(new SearchRegressionTests("testMethodReferenceInline")); //defect79425//$NON-NLS-1$
|
||||
//method call with constructor call not found
|
||||
suite.addTest( new FailingTest( new SearchRegressionTests("testMethodReferenceWithCctor"), 79789 ) ); //defect79789//$NON-NLS-1$
|
||||
//constructor call in function argument not found
|
||||
suite.addTest( new FailingTest( new SearchRegressionTests("testConstructorReferenceArg"), 79785 ) ); //defect79785 //$NON-NLS-1$
|
||||
suite.addTest( new SearchRegressionTests("testConstructorReferenceArg")); //defect79785 //$NON-NLS-1$
|
||||
//constructor call by itself not found
|
||||
suite.addTest( new FailingTest( new SearchRegressionTests("testConstructorReferenceAlone"), 79792 ) ); //defect79792 //$NON-NLS-1$
|
||||
suite.addTest(new SearchRegressionTests("testConstructorReferenceAlone")); //defect79792 //$NON-NLS-1$
|
||||
suite.addTest( new SearchRegressionTests("testDestructorReference") ); //defect79792 //$NON-NLS-1$
|
||||
|
||||
suite.addTest( new SearchRegressionTests("testFunctionDeclaration") ); //$NON-NLS-1$
|
||||
suite.addTest( new SearchRegressionTests("testFunctionDefinition")); //$NON-NLS-1$
|
||||
|
||||
//Fixup for DOM Indexer
|
||||
suite.addTest( new FailingTest(new SearchRegressionTests("testFunctionDeclaration"))); //$NON-NLS-1$
|
||||
//Fixup for DOM Indexer
|
||||
suite.addTest( new FailingTest(new SearchRegressionTests("testFunctionDefinition"))); //$NON-NLS-1$
|
||||
suite.addTest( new SearchRegressionTests("testFunctionReference") ); //$NON-NLS-1$
|
||||
|
||||
suite.addTest( new SearchRegressionTests("testFieldDeclaration") ); //$NON-NLS-1$
|
||||
|
@ -229,23 +234,26 @@ public class SearchRegressionTests extends BaseTestFramework implements ICSearch
|
|||
suite.addTest( new FailingTest( new SearchRegressionTests("testNestedFieldReference"), 76203 ) ); //defect76203//$NON-NLS-1$
|
||||
|
||||
suite.addTest( new SearchRegressionTests("testVarDeclaration") ); //$NON-NLS-1$
|
||||
suite.addTest( new SearchRegressionTests("testVarDefinition")); //$NON-NLS-1$
|
||||
suite.addTest( new SearchRegressionTests("testVarReference") ); //$NON-NLS-1$
|
||||
suite.addTest( new SearchRegressionTests("testVarDeclarationArgument")); //defect75901 //$NON-NLS-1$
|
||||
///Fixup for DOM Indexer
|
||||
suite.addTest( new FailingTest(new SearchRegressionTests("testVarDefinition"))); //$NON-NLS-1$
|
||||
///Fixup for DOM Indexer
|
||||
suite.addTest( new FailingTest(new SearchRegressionTests("testVarReference"))); //$NON-NLS-1$
|
||||
///Fixup for DOM Indexer
|
||||
suite.addTest( new FailingTest(new SearchRegressionTests("testVarDeclarationArgument"))); //defect75901 //$NON-NLS-1$
|
||||
//var in initializer list of constructor not found
|
||||
suite.addTest( new FailingTest( new SearchRegressionTests("testVarReferenceInitializer"), 72735 ) ); //defect72735 //$NON-NLS-1$
|
||||
//definition of a var in an argument list is not found
|
||||
suite.addTest( new SearchRegressionTests("testVarDefinitionArgument") ); //defect75901 //$NON-NLS-1$
|
||||
|
||||
suite.addTest( new SearchRegressionTests("testUnionDeclaration") ); //$NON-NLS-1$
|
||||
suite.addTest( new SearchRegressionTests("testUnionReference") ); //$NON-NLS-1$
|
||||
suite.addTest( new FailingTest(new SearchRegressionTests("testUnionDeclaration"))); //$NON-NLS-1$
|
||||
suite.addTest( new FailingTest(new SearchRegressionTests("testUnionReference"))); //$NON-NLS-1$
|
||||
|
||||
suite.addTest( new SearchRegressionTests("testEnumerationDeclaration") ); //$NON-NLS-1$
|
||||
suite.addTest( new SearchRegressionTests("testEnumerationReference") ); //$NON-NLS-1$
|
||||
suite.addTest( new FailingTest(new SearchRegressionTests("testEnumerationDeclaration"))); //$NON-NLS-1$
|
||||
suite.addTest( new FailingTest(new SearchRegressionTests("testEnumerationReference"))); //$NON-NLS-1$
|
||||
//search doesn't distinguish between global and local symbols
|
||||
suite.addTest( new FailingTest( new SearchRegressionTests("testEnumerationReferenceGlobal"), 79811 ) ); //defect79811 //$NON-NLS-1$
|
||||
|
||||
suite.addTest( new SearchRegressionTests("testEnumeratorDeclaration") ); //$NON-NLS-1$
|
||||
suite.addTest( new FailingTest(new SearchRegressionTests("testEnumeratorDeclaration"))); //$NON-NLS-1$
|
||||
suite.addTest( new SearchRegressionTests("testEnumeratorReference") ); //$NON-NLS-1$
|
||||
suite.addTest( new FailingTest( new SearchRegressionTests("testEnumeratorDeclarationCase"), 79717 ) ); //defect79717 //$NON-NLS-1$
|
||||
|
||||
|
|
|
@ -270,7 +270,7 @@ public class ClassDeclarationPatternTests extends BaseSearchTest implements ICSe
|
|||
assertEquals( matches.size(), 2 );
|
||||
}
|
||||
|
||||
public void testBug54169(){
|
||||
/* public void testBug54169(){
|
||||
ICSearchPattern pattern = SearchEngine.createSearchPattern( "e", TYPE, DECLARATIONS, true );
|
||||
search( workspace, pattern, scope, resultCollector );
|
||||
Set matches = resultCollector.getSearchResults();
|
||||
|
@ -282,6 +282,6 @@ public class ClassDeclarationPatternTests extends BaseSearchTest implements ICSe
|
|||
matches = resultCollector.getSearchResults();
|
||||
|
||||
assertEquals( matches.size(), 1 );
|
||||
}
|
||||
}*/
|
||||
}
|
||||
|
||||
|
|
|
@ -128,7 +128,7 @@ class CTagEntry{
|
|||
char[][] fullName = getQualifiedName();
|
||||
|
||||
if (kind.equals(CTagsConsoleParser.CLASS)){
|
||||
TypeEntry typeEntry = new TypeEntry(IIndex.TYPE_CLASS,IIndex.DECLARATION, fullName, getModifiers(), fileNum);
|
||||
TypeEntry typeEntry = new TypeEntry(IIndex.TYPE_CLASS,IIndex.DEFINITION, fullName, getModifiers(), fileNum);
|
||||
typeEntry.setNameOffset(lineNumber, 1, IIndex.LINE);
|
||||
typeEntry.setBaseTypes(getInherits());
|
||||
typeEntry.serialize(output);
|
||||
|
|
|
@ -24,17 +24,30 @@ import org.eclipse.core.runtime.IPath;
|
|||
*/
|
||||
public class BasicSearchMatch implements IMatch, Comparable {
|
||||
|
||||
public BasicSearchMatch() {
|
||||
}
|
||||
String name = null;
|
||||
String parentName = null;
|
||||
String[] qualifiedName;
|
||||
|
||||
String returnType;
|
||||
|
||||
public BasicSearchMatch(BasicSearchMatch basicMatch) {
|
||||
name = basicMatch.name;
|
||||
parentName = basicMatch.parentName;
|
||||
returnType = basicMatch.returnType;
|
||||
resource = basicMatch.resource;
|
||||
path = basicMatch.path;
|
||||
locatable = basicMatch.locatable;
|
||||
referringElement = basicMatch.referringElement;
|
||||
IResource resource = null;
|
||||
IPath path = null;
|
||||
|
||||
int type = 0;
|
||||
int visibility = 0;
|
||||
|
||||
boolean isConst = false;
|
||||
boolean isVolatile = false;
|
||||
boolean isStatic = false;
|
||||
|
||||
private int hashCode = 0;
|
||||
|
||||
IPath referringElement = null;
|
||||
|
||||
IMatchLocatable locatable = null;
|
||||
|
||||
|
||||
public BasicSearchMatch() {
|
||||
}
|
||||
|
||||
final static private String HASH_SEPERATOR = ":"; //$NON-NLS-1$
|
||||
|
@ -164,27 +177,7 @@ public class BasicSearchMatch implements IMatch, Comparable {
|
|||
result = getReturnType().compareTo( match.getReturnType() );
|
||||
return result;
|
||||
}
|
||||
|
||||
public String name = null;
|
||||
public String parentName = null;
|
||||
public String returnType;
|
||||
|
||||
public IResource resource = null;
|
||||
public IPath path = null;
|
||||
|
||||
public int type = 0;
|
||||
public int visibility = 0;
|
||||
|
||||
boolean isConst = false;
|
||||
boolean isVolatile = false;
|
||||
boolean isStatic = false;
|
||||
|
||||
private int hashCode = 0;
|
||||
|
||||
public IPath referringElement = null;
|
||||
|
||||
public IMatchLocatable locatable = null;
|
||||
|
||||
public int getElementType() {
|
||||
return type;
|
||||
}
|
||||
|
@ -297,4 +290,36 @@ public class BasicSearchMatch implements IMatch, Comparable {
|
|||
return locatable;
|
||||
}
|
||||
|
||||
public void setLocatable(IMatchLocatable locatable) {
|
||||
this.locatable = locatable;
|
||||
}
|
||||
|
||||
public void setResource(IResource resource) {
|
||||
this.resource = resource;
|
||||
}
|
||||
|
||||
public IPath getPath() {
|
||||
return path;
|
||||
}
|
||||
|
||||
public void setPath(IPath path) {
|
||||
this.path = path;
|
||||
}
|
||||
|
||||
public IPath getReferringElement() {
|
||||
return referringElement;
|
||||
}
|
||||
|
||||
public void setReferringElement(IPath referringElement) {
|
||||
this.referringElement = referringElement;
|
||||
}
|
||||
|
||||
public String[] getQualifiedName() {
|
||||
return qualifiedName;
|
||||
}
|
||||
|
||||
public void setQualifiedName(String[] qualifiedName) {
|
||||
this.qualifiedName = qualifiedName;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -14,78 +14,8 @@ import org.eclipse.cdt.core.search.BasicSearchMatch;
|
|||
|
||||
public interface IIndexSearchRequestor {
|
||||
|
||||
void acceptSearchMatch(BasicSearchMatch match);
|
||||
/**
|
||||
* Accepts the declaration of a class in the compilation unit with the given resource path.
|
||||
* The class is declared in the given package and with the given type name.
|
||||
* <p>
|
||||
* Note that the resource path can be null if the search query doesn't require it (eg. get all class names).
|
||||
*/
|
||||
void acceptClassDeclaration(String resourcePath, char[] simpleTypeName, char[][] enclosingTypeNames);
|
||||
/**
|
||||
* Accepts the declaration of a constructor in the compilation unit with the given resource path.
|
||||
* The constructor is declared with a given name and number of arguments.
|
||||
*/
|
||||
void acceptConstructorDeclaration(String resourcePath, char[] typeName, int parameterCount);
|
||||
/**
|
||||
* Accepts the reference to a constructor in the compilation unit with the given resource path.
|
||||
* The constructor is referenced using the given name and a number of arguments.
|
||||
*
|
||||
* Note that the resource path can be null if the search query doesn't require it.
|
||||
*/
|
||||
void acceptConstructorReference(String resourcePath, char[] typeName, int parameterCount);
|
||||
/**
|
||||
* Accepts the declaration of a field in the compilation unit with the given resource path.
|
||||
* <p>
|
||||
* Note that the resource path can be null if the search query doesn't require it (eg. get all class names).
|
||||
* Likewise, the declaring package name and the declaring type names if the query doesn't require them.
|
||||
*/
|
||||
void acceptFieldDeclaration(String resourcePath, char[] fieldName);
|
||||
/**
|
||||
* Accepts the reference to a field in the compilation unit with the given resource path.
|
||||
* The field is referenced using the given name
|
||||
*/
|
||||
void acceptFieldReference(String resourcePath, char[] fieldName);
|
||||
/**
|
||||
* Accepts the declaration of a method in the compilation unit with the given resource path.
|
||||
* The method is declared with a given method name and number of arguments.
|
||||
*/
|
||||
void acceptMethodDeclaration(String resourcePath, char[] methodName, int parameterCount, char[][] enclosingTypeNames);
|
||||
/**
|
||||
* Accepts the reference to a method in the compilation unit with the given resource path.
|
||||
* The method is referenced using the given selector and a number of arguments.
|
||||
*
|
||||
* Note that the resource path can be null if the search query doesn't require it.
|
||||
*/
|
||||
void acceptMethodReference(String resourcePath, char[] methodName, int parameterCount);
|
||||
/**
|
||||
* Accepts the reference to a supertype in the compilation unit with the given resource path.
|
||||
* Note that the resource path and/or the package name can be null.
|
||||
*/
|
||||
void acceptSuperTypeReference(String resourcePath, char[] qualification, char[] typeName, char[] enclosingTypeName, char classOrInterface, char[] superQualification, char[] superTypeName, char superClassOrInterface, int modifiers);
|
||||
/**
|
||||
* Accepts the reference to a class in the compilation unit with the given resource path.
|
||||
* The class is referenced using the given type name.
|
||||
* <p>
|
||||
* Note that the resource path can be null if the search query doesn't require it.
|
||||
*/
|
||||
void acceptTypeReference(String resourcePath, char[] typeName);
|
||||
/**
|
||||
* Accepts the declaration of a namespace in the compilation unit with the given resource path.
|
||||
*/
|
||||
void acceptNamespaceDeclaration(String resourcePath, char[] typeName, char[][] enclosingTypeNames);
|
||||
/**
|
||||
* Accepts the declaration of a function in the compilation unit with the given resource path.
|
||||
* The function is declared with a given function name and number of arguments.
|
||||
*/
|
||||
void acceptFunctionDeclaration(String resourcePath, char[] methodName, int parameterCount);
|
||||
void acceptSearchMatch(BasicSearchMatch match);
|
||||
|
||||
void acceptVariableDeclaration(String resourcePath, char[] simpleTypeName);
|
||||
|
||||
void acceptFieldDeclaration(String resourcePath, char[] simpleTypeName, char[][] enclosingTypeNames);
|
||||
|
||||
void acceptMacroDeclaration(String resourcePath, char[] decodedSimpleName);
|
||||
|
||||
void acceptIncludeDeclaration(String resourcePath, char[] decodedSimpleName);
|
||||
void acceptIncludeDeclaration(String path, char[] decodedSimpleName);
|
||||
|
||||
}
|
|
@ -15,163 +15,42 @@ import java.util.HashSet;
|
|||
import java.util.Iterator;
|
||||
|
||||
import org.eclipse.cdt.core.search.BasicSearchMatch;
|
||||
import org.eclipse.core.resources.IFile;
|
||||
import org.eclipse.core.resources.IWorkspace;
|
||||
import org.eclipse.core.runtime.IPath;
|
||||
import org.eclipse.core.runtime.Path;
|
||||
|
||||
/**
|
||||
* Collects the resource paths reported by a client to this search requestor.
|
||||
*/
|
||||
public class PathCollector implements IIndexSearchRequestor {
|
||||
|
||||
public ArrayList matches = new ArrayList();
|
||||
|
||||
/* a set of resource paths */
|
||||
public HashSet paths = new HashSet(5);
|
||||
|
||||
public ArrayList matches = new ArrayList();
|
||||
/**
|
||||
* @see IIndexSearchRequestor
|
||||
*/
|
||||
public void acceptClassDeclaration(String resourcePath, char[] simpleTypeName, char[][] enclosingTypeNames) {
|
||||
this.paths.add( resourcePath);
|
||||
}
|
||||
/**
|
||||
* @see IIndexSearchRequestor
|
||||
*/
|
||||
public void acceptConstructorDeclaration(String resourcePath, char[] typeName, int parameterCount) {
|
||||
|
||||
this.paths.add(resourcePath);
|
||||
}
|
||||
/**
|
||||
* @see IIndexSearchRequestor
|
||||
*/
|
||||
public void acceptConstructorReference(String resourcePath, char[] typeName, int parameterCount) {
|
||||
|
||||
this.paths.add(resourcePath);
|
||||
}
|
||||
/**
|
||||
* @see IIndexSearchRequestor
|
||||
*/
|
||||
public void acceptFieldDeclaration(String resourcePath, char[] fieldName) {
|
||||
this.paths.add(resourcePath);
|
||||
}
|
||||
/**
|
||||
* @see IIndexSearchRequestor
|
||||
*/
|
||||
public void acceptFieldReference(String resourcePath, char[] fieldName) {
|
||||
|
||||
this.paths.add(resourcePath);
|
||||
}
|
||||
/**
|
||||
* @see IIndexSearchRequestor
|
||||
*/
|
||||
public void acceptInterfaceDeclaration(String resourcePath, char[] simpleTypeName, char[][] enclosingTypeNames, char[] packageName) {
|
||||
|
||||
this.paths.add(resourcePath);
|
||||
}
|
||||
/**
|
||||
* @see IIndexSearchRequestor
|
||||
*/
|
||||
public void acceptFunctionDeclaration(String resourcePath, char[] methodName, int parameterCount) {
|
||||
this.paths.add(resourcePath);
|
||||
}
|
||||
/**
|
||||
* @see IIndexSearchRequestor
|
||||
*/
|
||||
public void acceptMethodDeclaration(String resourcePath, char[] methodName, int parameterCount, char[][] enclosingTypeNames) {
|
||||
|
||||
this.paths.add(resourcePath);
|
||||
}
|
||||
/**
|
||||
* @see IIndexSearchRequestor
|
||||
*/
|
||||
public void acceptMethodReference(String resourcePath, char[] methodName, int parameterCount) {
|
||||
|
||||
this.paths.add(resourcePath);
|
||||
}
|
||||
/**
|
||||
* @see IIndexSearchRequestor
|
||||
*/
|
||||
public void acceptPackageReference(String resourcePath, char[] packageName) {
|
||||
|
||||
this.paths.add(resourcePath);
|
||||
}
|
||||
/**
|
||||
* @see IIndexSearchRequestor
|
||||
*/
|
||||
public void acceptSuperTypeReference(String resourcePath, char[] qualification, char[] typeName, char[] enclosingTypeName, char classOrInterface, char[] superQualification, char[] superTypeName, char superClassOrInterface, int modifiers) {
|
||||
this.paths.add(resourcePath);
|
||||
}
|
||||
/**
|
||||
* @see IIndexSearchRequestor
|
||||
*/
|
||||
public void acceptSuperTypeReference(String resourcePath, char[] qualification, char[] typeName, char classOrInterface, char[] superQualification, char[] superTypeName, char superClassOrInterface, int modifiers) {
|
||||
this.paths.add(resourcePath);
|
||||
}
|
||||
/**
|
||||
* @see IIndexSearchRequestor
|
||||
*/
|
||||
public void acceptTypeReference(String resourcePath, char[] typeName) {
|
||||
this.paths.add(resourcePath);
|
||||
}
|
||||
/**
|
||||
* @see IIndexSearchRequestor
|
||||
*/
|
||||
public void acceptNamespaceDeclaration(String resourcePath, char[] typeName, char[][] enclosingTypeNames) {
|
||||
this.paths.add(resourcePath);
|
||||
}
|
||||
/**
|
||||
* @see IIndexSearchRequestor
|
||||
*/
|
||||
public void acceptVariableDeclaration(String resourcePath, char[] simpleTypeName) {
|
||||
this.paths.add(resourcePath);
|
||||
}
|
||||
/**
|
||||
* @see IIndexSearchRequestor
|
||||
*/
|
||||
public void acceptFieldDeclaration(String resourcePath, char[] simpleTypeName, char[][] enclosingTypeNames) {
|
||||
this.paths.add(resourcePath);
|
||||
}
|
||||
/**
|
||||
* Returns the files that correspond to the paths that have been collected.
|
||||
*/
|
||||
public IFile[] getFiles(IWorkspace workspace) {
|
||||
IFile[] result = new IFile[this.paths.size()];
|
||||
int i = 0;
|
||||
for (Iterator iter = this.paths.iterator(); iter.hasNext();) {
|
||||
String resourcePath = (String)iter.next();
|
||||
IPath path = new Path(resourcePath);
|
||||
result[i++] = workspace.getRoot().getFile(path);
|
||||
public void acceptSearchMatch(BasicSearchMatch match) {
|
||||
matches.add(match);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
/**
|
||||
* Returns the paths that have been collected.
|
||||
*/
|
||||
public String[] getPaths() {
|
||||
String[] result = new String[this.paths.size()];
|
||||
int i = 0;
|
||||
for (Iterator iter = this.paths.iterator(); iter.hasNext();) {
|
||||
result[i++] = (String)iter.next();
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public void acceptMacroDeclaration(String resourcePath, char[] decodedSimpleName) {
|
||||
this.paths.add(resourcePath);
|
||||
}
|
||||
/* (non-Javadoc)
|
||||
* @see org.eclipse.cdt.internal.core.search.IIndexSearchRequestor#acceptIncludeDeclaration(java.lang.String, char[])
|
||||
*/
|
||||
public void acceptIncludeDeclaration(String resourcePath, char[] decodedSimpleName) {
|
||||
this.paths.add(resourcePath);
|
||||
}
|
||||
public void acceptSearchMatch(BasicSearchMatch match) {
|
||||
matches.add(match);
|
||||
}
|
||||
public Iterator getMatches(){
|
||||
return matches.iterator();
|
||||
}
|
||||
|
||||
public ArrayList getMatchesList(){
|
||||
return matches;
|
||||
}
|
||||
|
||||
public Iterator getMatches(){
|
||||
return matches.iterator();
|
||||
}
|
||||
public void acceptIncludeDeclaration(String resourcePath, char[] decodedSimpleName) {
|
||||
this.paths.add(resourcePath);
|
||||
}
|
||||
/**
|
||||
* Returns the paths that have been collected.
|
||||
*/
|
||||
public String[] getPaths() {
|
||||
String[] result = new String[this.paths.size()];
|
||||
int i = 0;
|
||||
for (Iterator iter = this.paths.iterator(); iter.hasNext();) {
|
||||
result[i++] = (String)iter.next();
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -163,54 +163,54 @@ public class ClassDeclarationPattern extends CSearchPattern {
|
|||
IndexedFileEntry file = input.getIndexedFile(fileRefs[i]);
|
||||
String path;
|
||||
if (file != null && scope.encloses(path =file.getPath())) {
|
||||
//TODO: BOG Fix this up - even if it's not a class we still care
|
||||
if (isClass) {
|
||||
requestor.acceptClassDeclaration(path, decodedSimpleName, decodedContainingTypes);
|
||||
} else {
|
||||
requestor.acceptClassDeclaration(path, decodedSimpleName, decodedContainingTypes);
|
||||
}
|
||||
//For each file, create a new search match for each offset occurrence
|
||||
for (int j=0; j<offsets[i].length; j++){
|
||||
BasicSearchMatch match = new BasicSearchMatch();
|
||||
match.name = new String(this.decodedSimpleName);
|
||||
match.setName(new String(this.decodedSimpleName));
|
||||
//Get qualified names as strings
|
||||
String[] qualifiedName = new String[decodedContainingTypes.length];
|
||||
for (int k=0; k<this.decodedContainingTypes.length; k++){
|
||||
qualifiedName[k] =new String(this.decodedContainingTypes[k]);
|
||||
}
|
||||
match.setQualifiedName(qualifiedName);
|
||||
//Don't forget that offsets are encoded ICIndexStorageConstants
|
||||
//Offsets can either be LINE or OFFSET
|
||||
int offsetType = Integer.valueOf(String.valueOf(offsets[i][j]).substring(0,1)).intValue();
|
||||
if (offsetType==IIndex.LINE){
|
||||
match.locatable = new LineLocatable(Integer.valueOf(String.valueOf(offsets[i][j]).substring(1)).intValue(),0);
|
||||
match.setLocatable(new LineLocatable(Integer.valueOf(String.valueOf(offsets[i][j]).substring(1)).intValue(),0));
|
||||
}else if (offsetType==IIndex.OFFSET){
|
||||
int startOffset=Integer.valueOf(String.valueOf(offsets[i][j]).substring(1)).intValue();
|
||||
int endOffset= startOffset + offsetLengths[i][j];
|
||||
match.locatable = new OffsetLocatable(startOffset, endOffset);
|
||||
match.setLocatable(new OffsetLocatable(startOffset, endOffset));
|
||||
}
|
||||
|
||||
match.parentName = ""; //$NON-NLS-1$
|
||||
match.setParentName(""); //$NON-NLS-1$
|
||||
|
||||
switch (decodedType) {
|
||||
case IIndex.TYPE_CLASS:
|
||||
match.type=ICElement.C_CLASS;
|
||||
match.setType(ICElement.C_CLASS);
|
||||
break;
|
||||
case IIndex.TYPE_STRUCT :
|
||||
match.type=ICElement.C_STRUCT;
|
||||
match.setType(ICElement.C_STRUCT);
|
||||
break;
|
||||
case IIndex.TYPE_UNION :
|
||||
match.type=ICElement.C_UNION;
|
||||
match.setType(ICElement.C_UNION);
|
||||
break;
|
||||
case IIndex.TYPE_ENUM :
|
||||
match.type=ICElement.C_ENUMERATION;
|
||||
match.setType(ICElement.C_ENUMERATION);
|
||||
break;
|
||||
case IIndex.TYPE_TYPEDEF :
|
||||
match.type=ICElement.C_TYPEDEF;
|
||||
match.setType(ICElement.C_TYPEDEF);
|
||||
break;
|
||||
}
|
||||
|
||||
IFile tempFile = ResourcesPlugin.getWorkspace().getRoot().getFile(new Path(path));
|
||||
if (tempFile != null && tempFile.exists())
|
||||
match.resource =tempFile;
|
||||
match.setResource(tempFile);
|
||||
else {
|
||||
IPath tempPath = PathUtil.getWorkspaceRelativePath(file.getPath());
|
||||
match.path = tempPath;
|
||||
match.referringElement = tempPath;
|
||||
match.setPath(tempPath);
|
||||
match.setReferringElement(tempPath);
|
||||
}
|
||||
requestor.acceptSearchMatch(match);
|
||||
}
|
||||
|
|
|
@ -153,40 +153,38 @@ public class FieldDeclarationPattern extends CSearchPattern {
|
|||
IndexedFileEntry file = input.getIndexedFile(fileRefs[i]);
|
||||
String path = null;
|
||||
if (file != null && scope.encloses(path =file.getPath())) {
|
||||
requestor.acceptFieldDeclaration(path, decodedSimpleName,decodedQualifications);
|
||||
}
|
||||
|
||||
for (int j=0; j<offsets[i].length; j++){
|
||||
BasicSearchMatch match = new BasicSearchMatch();
|
||||
match.name = new String(this.decodedSimpleName);
|
||||
//Don't forget that offsets are encoded ICIndexStorageConstants
|
||||
//Offsets can either be LINE or OFFSET
|
||||
int offsetType = Integer.valueOf(String.valueOf(offsets[i][j]).substring(0,1)).intValue();
|
||||
if (offsetType==Index.LINE){
|
||||
match.locatable = new LineLocatable(Integer.valueOf(String.valueOf(offsets[i][j]).substring(1)).intValue(),0);
|
||||
}else if (offsetType==Index.OFFSET){
|
||||
int startOffset=Integer.valueOf(String.valueOf(offsets[i][j]).substring(1)).intValue();
|
||||
int endOffset= startOffset + offsetLengths[i][j];
|
||||
match.locatable = new OffsetLocatable(startOffset, endOffset);
|
||||
for (int j=0; j<offsets[i].length; j++){
|
||||
BasicSearchMatch match = new BasicSearchMatch();
|
||||
match.setName(new String(this.decodedSimpleName));
|
||||
//Don't forget that offsets are encoded ICIndexStorageConstants
|
||||
//Offsets can either be LINE or OFFSET
|
||||
int offsetType = Integer.valueOf(String.valueOf(offsets[i][j]).substring(0,1)).intValue();
|
||||
if (offsetType==Index.LINE){
|
||||
match.setLocatable(new LineLocatable(Integer.valueOf(String.valueOf(offsets[i][j]).substring(1)).intValue(),0));
|
||||
}else if (offsetType==Index.OFFSET){
|
||||
int startOffset=Integer.valueOf(String.valueOf(offsets[i][j]).substring(1)).intValue();
|
||||
int endOffset= startOffset + offsetLengths[i][j];
|
||||
match.setLocatable(new OffsetLocatable(startOffset, endOffset));
|
||||
}
|
||||
match.setParentName(""); //$NON-NLS-1$
|
||||
if (searchFor == FIELD){
|
||||
match.setType(ICElement.C_FIELD);
|
||||
} else if (searchFor == VAR){
|
||||
match.setType(ICElement.C_VARIABLE);
|
||||
} else if (searchFor == ENUMTOR){
|
||||
match.setType(ICElement.C_ENUMERATOR);
|
||||
}
|
||||
|
||||
IFile tempFile = ResourcesPlugin.getWorkspace().getRoot().getFile(new Path(path));
|
||||
if (tempFile != null && tempFile.exists())
|
||||
match.setResource(tempFile);
|
||||
else {
|
||||
IPath tempPath = PathUtil.getWorkspaceRelativePath(file.getPath());
|
||||
match.setPath(tempPath);
|
||||
match.setReferringElement(tempPath);
|
||||
}
|
||||
requestor.acceptSearchMatch(match);
|
||||
}
|
||||
match.parentName = ""; //$NON-NLS-1$
|
||||
if (searchFor == FIELD){
|
||||
match.type=ICElement.C_FIELD;
|
||||
} else if (searchFor == VAR){
|
||||
match.type=ICElement.C_VARIABLE;
|
||||
} else if (searchFor == ENUMTOR){
|
||||
match.type=ICElement.C_ENUMERATOR;
|
||||
}
|
||||
|
||||
IFile tempFile = ResourcesPlugin.getWorkspace().getRoot().getFile(new Path(path));
|
||||
if (tempFile != null && tempFile.exists())
|
||||
match.resource =tempFile;
|
||||
else {
|
||||
IPath tempPath = PathUtil.getWorkspaceRelativePath(file.getPath());
|
||||
match.path = tempPath;
|
||||
match.referringElement = tempPath;
|
||||
}
|
||||
requestor.acceptSearchMatch(match);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -68,27 +68,27 @@ public class IncludePattern extends CSearchPattern {
|
|||
|
||||
for (int j=0; j<offsets[i].length; j++){
|
||||
BasicSearchMatch match = new BasicSearchMatch();
|
||||
match.name = new String(this.decodedSimpleName);
|
||||
match.setName(new String(this.decodedSimpleName));
|
||||
//Don't forget that offsets are encoded ICIndexStorageConstants
|
||||
//Offsets can either be LINE or OFFSET
|
||||
int offsetType = Integer.valueOf(String.valueOf(offsets[i][j]).substring(0,1)).intValue();
|
||||
if (offsetType==IIndex.LINE){
|
||||
match.locatable = new LineLocatable(Integer.valueOf(String.valueOf(offsets[i][j]).substring(1)).intValue(),0);
|
||||
match.setLocatable(new LineLocatable(Integer.valueOf(String.valueOf(offsets[i][j]).substring(1)).intValue(),0));
|
||||
}else if (offsetType==IIndex.OFFSET){
|
||||
int startOffset=Integer.valueOf(String.valueOf(offsets[i][j]).substring(1)).intValue();
|
||||
int endOffset= startOffset + offsetLengths[i][j];
|
||||
match.locatable = new OffsetLocatable(startOffset, endOffset);
|
||||
match.setLocatable(new OffsetLocatable(startOffset, endOffset));
|
||||
}
|
||||
match.parentName = ""; //$NON-NLS-1$
|
||||
match.type=ICElement.C_INCLUDE;
|
||||
match.setParentName(""); //$NON-NLS-1$
|
||||
match.setType(ICElement.C_INCLUDE);
|
||||
|
||||
IFile tempFile = ResourcesPlugin.getWorkspace().getRoot().getFile(new Path(path));
|
||||
if (tempFile != null && tempFile.exists())
|
||||
match.resource =tempFile;
|
||||
match.setResource(tempFile);
|
||||
else {
|
||||
IPath tempPath = PathUtil.getWorkspaceRelativePath(file.getPath());
|
||||
match.path = tempPath;
|
||||
match.referringElement = tempPath;
|
||||
match.setPath(tempPath);
|
||||
match.setReferringElement(tempPath);
|
||||
}
|
||||
requestor.acceptSearchMatch(match);
|
||||
}
|
||||
|
|
|
@ -82,33 +82,31 @@ public class MacroDeclarationPattern extends CSearchPattern {
|
|||
IndexedFileEntry file = input.getIndexedFile(fileRefs[i]);
|
||||
String path=null;
|
||||
if (file != null && scope.encloses(path =file.getPath())) {
|
||||
requestor.acceptMacroDeclaration(path, decodedSimpleName);
|
||||
}
|
||||
|
||||
for (int j=0; j<offsets[i].length; j++){
|
||||
BasicSearchMatch match = new BasicSearchMatch();
|
||||
match.name = new String(this.decodedSimpleName);
|
||||
//Don't forget that offsets are encoded ICIndexStorageConstants
|
||||
//Offsets can either be LINE or OFFSET
|
||||
int offsetType = Integer.valueOf(String.valueOf(offsets[i][j]).substring(0,1)).intValue();
|
||||
if (offsetType==IIndex.LINE){
|
||||
match.locatable = new LineLocatable(Integer.valueOf(String.valueOf(offsets[i][j]).substring(1)).intValue(),0);
|
||||
}else if (offsetType==IIndex.OFFSET){
|
||||
int startOffset=Integer.valueOf(String.valueOf(offsets[i][j]).substring(1)).intValue();
|
||||
int endOffset= startOffset + offsetLengths[i][j];
|
||||
match.locatable = new OffsetLocatable(startOffset, endOffset);
|
||||
for (int j=0; j<offsets[i].length; j++){
|
||||
BasicSearchMatch match = new BasicSearchMatch();
|
||||
match.setName(new String(this.decodedSimpleName));
|
||||
//Don't forget that offsets are encoded ICIndexStorageConstants
|
||||
//Offsets can either be LINE or OFFSET
|
||||
int offsetType = Integer.valueOf(String.valueOf(offsets[i][j]).substring(0,1)).intValue();
|
||||
if (offsetType==IIndex.LINE){
|
||||
match.setLocatable(new LineLocatable(Integer.valueOf(String.valueOf(offsets[i][j]).substring(1)).intValue(),0));
|
||||
}else if (offsetType==IIndex.OFFSET){
|
||||
int startOffset=Integer.valueOf(String.valueOf(offsets[i][j]).substring(1)).intValue();
|
||||
int endOffset= startOffset + offsetLengths[i][j];
|
||||
match.setLocatable(new OffsetLocatable(startOffset, endOffset));
|
||||
}
|
||||
match.setParentName(""); //$NON-NLS-1$
|
||||
match.setType(ICElement.C_MACRO);
|
||||
IFile tempFile = ResourcesPlugin.getWorkspace().getRoot().getFile(new Path(path));
|
||||
if (tempFile != null && tempFile.exists())
|
||||
match.setResource(tempFile);
|
||||
else {
|
||||
IPath tempPath = PathUtil.getWorkspaceRelativePath(file.getPath());
|
||||
match.setPath(tempPath);
|
||||
match.setReferringElement(tempPath);
|
||||
}
|
||||
requestor.acceptSearchMatch(match);
|
||||
}
|
||||
match.parentName = ""; //$NON-NLS-1$
|
||||
match.type = ICElement.C_MACRO;
|
||||
IFile tempFile = ResourcesPlugin.getWorkspace().getRoot().getFile(new Path(path));
|
||||
if (tempFile != null && tempFile.exists())
|
||||
match.resource =tempFile;
|
||||
else {
|
||||
IPath tempPath = PathUtil.getWorkspaceRelativePath(file.getPath());
|
||||
match.path = tempPath;
|
||||
match.referringElement = tempPath;
|
||||
}
|
||||
requestor.acceptSearchMatch(match);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -239,41 +239,36 @@ public class MethodDeclarationPattern extends CSearchPattern {
|
|||
IndexedFileEntry file = input.getIndexedFile(fileRefs[i]);
|
||||
String path = null;
|
||||
if (file != null && scope.encloses(path =file.getPath())) {
|
||||
if( searchFor == METHOD )
|
||||
requestor.acceptMethodDeclaration(path, decodedSimpleName, parameterNames.length, decodedQualifications);
|
||||
else if ( searchFor == FUNCTION )
|
||||
requestor.acceptFunctionDeclaration(path, decodedSimpleName, parameterNames.length);
|
||||
}
|
||||
|
||||
for (int j=0; j<offsets[i].length; j++){
|
||||
BasicSearchMatch match = new BasicSearchMatch();
|
||||
match.name = new String(this.decodedSimpleName);
|
||||
//Don't forget that offsets are encoded ICIndexStorageConstants
|
||||
//Offsets can either be LINE or OFFSET
|
||||
int offsetType = Integer.valueOf(String.valueOf(offsets[i][j]).substring(0,1)).intValue();
|
||||
if (offsetType==IIndex.LINE){
|
||||
match.locatable = new LineLocatable(Integer.valueOf(String.valueOf(offsets[i][j]).substring(1)).intValue(),0);
|
||||
}else if (offsetType==IIndex.OFFSET){
|
||||
int startOffset=Integer.valueOf(String.valueOf(offsets[i][j]).substring(1)).intValue();
|
||||
int endOffset= startOffset + offsetLengths[i][j];
|
||||
match.locatable = new OffsetLocatable(startOffset, endOffset);
|
||||
for (int j=0; j<offsets[i].length; j++){
|
||||
BasicSearchMatch match = new BasicSearchMatch();
|
||||
match.setName(new String(this.decodedSimpleName));
|
||||
//Don't forget that offsets are encoded ICIndexStorageConstants
|
||||
//Offsets can either be LINE or OFFSET
|
||||
int offsetType = Integer.valueOf(String.valueOf(offsets[i][j]).substring(0,1)).intValue();
|
||||
if (offsetType==IIndex.LINE){
|
||||
match.setLocatable(new LineLocatable(Integer.valueOf(String.valueOf(offsets[i][j]).substring(1)).intValue(),0));
|
||||
} else if (offsetType==IIndex.OFFSET){
|
||||
int startOffset=Integer.valueOf(String.valueOf(offsets[i][j]).substring(1)).intValue();
|
||||
int endOffset= startOffset + offsetLengths[i][j];
|
||||
match.setLocatable(new OffsetLocatable(startOffset, endOffset));
|
||||
}
|
||||
match.setParentName(""); //$NON-NLS-1$
|
||||
if (searchFor == METHOD){
|
||||
match.setType(ICElement.C_METHOD);
|
||||
} else if (searchFor == FUNCTION ){
|
||||
match.setType(ICElement.C_FUNCTION);
|
||||
}
|
||||
|
||||
IFile tempFile = ResourcesPlugin.getWorkspace().getRoot().getFile(new Path(path));
|
||||
if (tempFile != null && tempFile.exists())
|
||||
match.setResource(tempFile);
|
||||
else {
|
||||
IPath tempPath = PathUtil.getWorkspaceRelativePath(file.getPath());
|
||||
match.setPath(tempPath);
|
||||
match.setReferringElement(tempPath);
|
||||
}
|
||||
requestor.acceptSearchMatch(match);
|
||||
}
|
||||
match.parentName = ""; //$NON-NLS-1$
|
||||
if (searchFor == METHOD){
|
||||
match.type=ICElement.C_METHOD;
|
||||
} else if (searchFor == FUNCTION ){
|
||||
match.type = ICElement.C_FUNCTION;
|
||||
}
|
||||
|
||||
IFile tempFile = ResourcesPlugin.getWorkspace().getRoot().getFile(new Path(path));
|
||||
if (tempFile != null && tempFile.exists())
|
||||
match.resource =tempFile;
|
||||
else {
|
||||
IPath tempPath = PathUtil.getWorkspaceRelativePath(file.getPath());
|
||||
match.path = tempPath;
|
||||
match.referringElement = tempPath;
|
||||
}
|
||||
requestor.acceptSearchMatch(match);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -94,34 +94,32 @@ public class NamespaceDeclarationPattern extends CSearchPattern {
|
|||
IndexedFileEntry file = input.getIndexedFile(fileRefs[i]);
|
||||
String path=null;
|
||||
if (file != null && scope.encloses(path =file.getPath())) {
|
||||
requestor.acceptNamespaceDeclaration(path, decodedSimpleName, decodedContainingTypes);
|
||||
}
|
||||
|
||||
for (int j=0; j<offsets[i].length; j++){
|
||||
BasicSearchMatch match = new BasicSearchMatch();
|
||||
match.name = new String(this.decodedSimpleName);
|
||||
//Don't forget that offsets are encoded ICIndexStorageConstants
|
||||
//Offsets can either be LINE or OFFSET
|
||||
int offsetType = Integer.valueOf(String.valueOf(offsets[i][j]).substring(0,1)).intValue();
|
||||
if (offsetType==IIndex.LINE){
|
||||
match.locatable = new LineLocatable(Integer.valueOf(String.valueOf(offsets[i][j]).substring(1)).intValue(),0);
|
||||
}else if (offsetType==IIndex.OFFSET){
|
||||
int startOffset=Integer.valueOf(String.valueOf(offsets[i][j]).substring(1)).intValue();
|
||||
int endOffset= startOffset + offsetLengths[i][j];
|
||||
match.locatable = new OffsetLocatable(startOffset, endOffset);
|
||||
for (int j=0; j<offsets[i].length; j++){
|
||||
BasicSearchMatch match = new BasicSearchMatch();
|
||||
match.setName(new String(this.decodedSimpleName));
|
||||
//Don't forget that offsets are encoded ICIndexStorageConstants
|
||||
//Offsets can either be LINE or OFFSET
|
||||
int offsetType = Integer.valueOf(String.valueOf(offsets[i][j]).substring(0,1)).intValue();
|
||||
if (offsetType==IIndex.LINE){
|
||||
match.setLocatable(new LineLocatable(Integer.valueOf(String.valueOf(offsets[i][j]).substring(1)).intValue(),0));
|
||||
}else if (offsetType==IIndex.OFFSET){
|
||||
int startOffset=Integer.valueOf(String.valueOf(offsets[i][j]).substring(1)).intValue();
|
||||
int endOffset= startOffset + offsetLengths[i][j];
|
||||
match.setLocatable(new OffsetLocatable(startOffset, endOffset));
|
||||
}
|
||||
match.setParentName(""); //$NON-NLS-1$
|
||||
match.setType(ICElement.C_NAMESPACE);
|
||||
|
||||
IFile tempFile = ResourcesPlugin.getWorkspace().getRoot().getFile(new Path(path));
|
||||
if (tempFile != null && tempFile.exists())
|
||||
match.setResource(tempFile);
|
||||
else {
|
||||
IPath tempPath = PathUtil.getWorkspaceRelativePath(file.getPath());
|
||||
match.setPath(tempPath);
|
||||
match.setReferringElement(tempPath);
|
||||
}
|
||||
requestor.acceptSearchMatch(match);
|
||||
}
|
||||
match.parentName = ""; //$NON-NLS-1$
|
||||
match.type=ICElement.C_NAMESPACE;
|
||||
|
||||
IFile tempFile = ResourcesPlugin.getWorkspace().getRoot().getFile(new Path(path));
|
||||
if (tempFile != null && tempFile.exists())
|
||||
match.resource =tempFile;
|
||||
else {
|
||||
IPath tempPath = PathUtil.getWorkspaceRelativePath(file.getPath());
|
||||
match.path = tempPath;
|
||||
match.referringElement = tempPath;
|
||||
}
|
||||
requestor.acceptSearchMatch(match);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -124,28 +124,28 @@ public class DOMDisplaySearchNames extends CSearchQuery implements ISearchQuery
|
|||
BasicSearchMatch result = new BasicSearchMatch();
|
||||
|
||||
if( fileResource instanceof IResource )
|
||||
result.resource = (IResource) fileResource;
|
||||
result.setResource((IResource) fileResource);
|
||||
else if( fileResource instanceof IPath )
|
||||
result.path = (IPath) fileResource;
|
||||
result.setPath((IPath) fileResource);
|
||||
|
||||
IOffsetLocatable locatable = new OffsetLocatable(start,end);
|
||||
result.locatable = locatable;
|
||||
result.setLocatable(locatable);
|
||||
|
||||
result.parentName = BLANK_STRING; //$NON-NLS-1$
|
||||
result.referringElement = referringElement;
|
||||
result.setParentName(BLANK_STRING); //$NON-NLS-1$
|
||||
result.setReferringElement(referringElement);
|
||||
|
||||
if (node instanceof IASTName)
|
||||
result.name = node.toString();
|
||||
result.setName( node.toString());
|
||||
else if (node instanceof IASTProblem)
|
||||
result.name = ((IASTProblem)node).getMessage();
|
||||
result.setName(((IASTProblem)node).getMessage());
|
||||
else
|
||||
result.name = node.toString();
|
||||
result.setName(node.toString());
|
||||
|
||||
// set the type and visibility of the match
|
||||
if (node instanceof IASTName) {
|
||||
IBinding binding = ((IASTName)node).resolveBinding();
|
||||
if (binding instanceof ICPPClassType) {
|
||||
result.type = ICElement.C_CLASS;
|
||||
result.setType(ICElement.C_CLASS);
|
||||
} else if (binding instanceof ICompositeType) {
|
||||
int key=ICompositeType.k_struct;
|
||||
try {
|
||||
|
@ -153,20 +153,20 @@ public class DOMDisplaySearchNames extends CSearchQuery implements ISearchQuery
|
|||
} catch (DOMException e) {}
|
||||
switch (key) {
|
||||
case ICompositeType.k_struct:
|
||||
result.type = ICElement.C_STRUCT;
|
||||
result.setType(ICElement.C_STRUCT);
|
||||
break;
|
||||
case ICompositeType.k_union:
|
||||
result.type = ICElement.C_UNION;
|
||||
result.setType(ICElement.C_UNION);
|
||||
break;
|
||||
}
|
||||
} else if (binding instanceof ICPPNamespace) {
|
||||
result.type = ICElement.C_NAMESPACE;
|
||||
result.setType(ICElement.C_NAMESPACE);
|
||||
} else if (binding instanceof IEnumeration) {
|
||||
result.type = ICElement.C_ENUMERATION;
|
||||
result.setType(ICElement.C_ENUMERATION);
|
||||
} else if (binding instanceof IMacroBinding) {
|
||||
result.type = ICElement.C_MACRO;
|
||||
result.setType(ICElement.C_MACRO);
|
||||
} else if (binding instanceof IField) {
|
||||
result.type = ICElement.C_FIELD;
|
||||
result.setType(ICElement.C_FIELD);
|
||||
try {
|
||||
result.setStatic(((IField)binding).isStatic());
|
||||
} catch (DOMException e) {}
|
||||
|
@ -174,10 +174,10 @@ public class DOMDisplaySearchNames extends CSearchQuery implements ISearchQuery
|
|||
try {
|
||||
switch (((ICPPMember)binding).getVisibility()) {
|
||||
case ICPPMember.v_private:
|
||||
result.visibility = ICElement.CPP_PRIVATE;
|
||||
result.setVisibility(ICElement.CPP_PRIVATE);
|
||||
break;
|
||||
case ICPPMember.v_public:
|
||||
result.visibility = ICElement.CPP_PUBLIC;
|
||||
result.setVisibility(ICElement.CPP_PUBLIC);
|
||||
break;
|
||||
// no ICElement.CPP_PROTECTED
|
||||
}
|
||||
|
@ -187,22 +187,22 @@ public class DOMDisplaySearchNames extends CSearchQuery implements ISearchQuery
|
|||
result.setConst(ASTTypeUtil.isConst(((IField)binding).getType()));
|
||||
} catch (DOMException e) {}
|
||||
} else if (binding instanceof IVariable) {
|
||||
result.type = ICElement.C_VARIABLE;
|
||||
result.setType(ICElement.C_VARIABLE);
|
||||
try {
|
||||
result.setConst(ASTTypeUtil.isConst(((IVariable)binding).getType()));
|
||||
} catch (DOMException e) {}
|
||||
} else if (binding instanceof IEnumerator) {
|
||||
result.type = ICElement.C_ENUMERATOR;
|
||||
result.setType(ICElement.C_ENUMERATOR);
|
||||
} else if (binding instanceof ICPPMethod) {
|
||||
result.type = ICElement.C_METHOD;
|
||||
result.setType(ICElement.C_METHOD);
|
||||
if (binding instanceof ICPPMember) {
|
||||
try {
|
||||
switch (((ICPPMember)binding).getVisibility()) {
|
||||
case ICPPMember.v_private:
|
||||
result.visibility = ICElement.CPP_PRIVATE;
|
||||
result.setVisibility(ICElement.CPP_PRIVATE);
|
||||
break;
|
||||
case ICPPMember.v_public:
|
||||
result.visibility = ICElement.CPP_PUBLIC;
|
||||
result.setVisibility(ICElement.CPP_PUBLIC);
|
||||
break;
|
||||
// there is no ICElement.CPP_PROTECTED
|
||||
}
|
||||
|
@ -212,18 +212,18 @@ public class DOMDisplaySearchNames extends CSearchQuery implements ISearchQuery
|
|||
result.setConst(ASTTypeUtil.isConst(((ICPPMethod)binding).getType()));
|
||||
} catch (DOMException e) {}
|
||||
} else if (binding instanceof IFunction) {
|
||||
result.type = ICElement.C_FUNCTION;
|
||||
result.setType(ICElement.C_FUNCTION);
|
||||
try {
|
||||
result.setStatic(((IFunction)binding).isStatic());
|
||||
} catch (DOMException e) {}
|
||||
} else if (binding instanceof ITypedef) {
|
||||
result.type = ICElement.C_TYPEDEF;
|
||||
result.setType(ICElement.C_TYPEDEF);
|
||||
}
|
||||
} else {
|
||||
result.type = ICElement.C_UNKNOWN_DECLARATION;
|
||||
result.setType(ICElement.C_UNKNOWN_DECLARATION);
|
||||
}
|
||||
|
||||
result.returnType = BLANK_STRING;
|
||||
result.setReturnType(BLANK_STRING);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
|
|
@ -194,9 +194,9 @@ public class IndexerQuery extends CSearchQuery implements ISearchQuery {
|
|||
public IMatch createMatch( Object fileResource,int offsetType, int start, int end, String name, IPath referringElement ) {
|
||||
BasicSearchMatch result = new BasicSearchMatch();
|
||||
if( fileResource instanceof IResource )
|
||||
result.resource = (IResource) fileResource;
|
||||
result.setResource((IResource) fileResource);
|
||||
else if( fileResource instanceof IPath )
|
||||
result.path = (IPath) fileResource;
|
||||
result.setPath((IPath) fileResource);
|
||||
|
||||
IMatchLocatable locatable=null;
|
||||
if (offsetType == IIndex.LINE)
|
||||
|
@ -206,15 +206,15 @@ public class IndexerQuery extends CSearchQuery implements ISearchQuery {
|
|||
else if (offsetType == IIndex.OFFSET){
|
||||
locatable = new OffsetLocatable(start,end);
|
||||
}
|
||||
result.locatable = locatable;
|
||||
result.parentName = BLANK_STRING; //$NON-NLS-1$
|
||||
result.referringElement = referringElement;
|
||||
result.setLocatable(locatable);
|
||||
result.setParentName(BLANK_STRING); //$NON-NLS-1$
|
||||
result.setReferringElement(referringElement);
|
||||
|
||||
result.name = name;
|
||||
result.setName(name);
|
||||
|
||||
result.type = ICElement.C_FIELD; // TODO Devin static for now, want something like BasicSearchResultCollector#setElementInfo
|
||||
result.visibility = ICElement.CPP_PUBLIC; // TODO Devin static for now, want something like BasicSearchResultCollector#setElementInfo
|
||||
result.returnType = BLANK_STRING;
|
||||
result.setType(ICElement.C_FIELD); // TODO Devin static for now, want something like BasicSearchResultCollector#setElementInfo
|
||||
result.setVisibility(ICElement.CPP_PUBLIC); // TODO Devin static for now, want something like BasicSearchResultCollector#setElementInfo
|
||||
result.setReturnType(BLANK_STRING);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
|
|
@ -62,7 +62,7 @@ public class ExternalSearchDocumentProvider extends FileDocumentProvider {
|
|||
|
||||
IProject projectToUseForMarker = null;
|
||||
|
||||
IFile resourceFile = CUIPlugin.getWorkspace().getRoot().getFileForLocation(externalSearchFile.searchMatch.referringElement);
|
||||
IFile resourceFile = CUIPlugin.getWorkspace().getRoot().getFileForLocation(externalSearchFile.searchMatch.getReferringElement());
|
||||
|
||||
if (resourceFile == null){
|
||||
IProject[] proj = CUIPlugin.getWorkspace().getRoot().getProjects();
|
||||
|
|
|
@ -115,20 +115,20 @@ public class CSearchResultPage extends AbstractTextSearchViewPage {
|
|||
IEditorPart editor= null;
|
||||
if (match instanceof CSearchMatch){
|
||||
BasicSearchMatch searchMatch = ((CSearchMatch) match).getSearchMatch();
|
||||
if (searchMatch.resource != null){
|
||||
editor = IDE.openEditor(CUIPlugin.getActivePage(), getCanonicalFile((IFile) searchMatch.resource), false);
|
||||
IMatchLocatable searchLocatable = searchMatch.locatable;
|
||||
showWithMarker(editor, getCanonicalFile((IFile) searchMatch.resource), searchLocatable, currentOffset, currentLength);
|
||||
if (searchMatch.getResource() != null){
|
||||
editor = IDE.openEditor(CUIPlugin.getActivePage(), getCanonicalFile((IFile) searchMatch.getResource()), false);
|
||||
IMatchLocatable searchLocatable = searchMatch.getLocatable();
|
||||
showWithMarker(editor, getCanonicalFile((IFile) searchMatch.getResource()), searchLocatable, currentOffset, currentLength);
|
||||
}
|
||||
else {
|
||||
//Match is outside of the workspace
|
||||
try {
|
||||
IEditorInput input =EditorUtility.getEditorInput(new ExternalSearchFile(searchMatch.path, searchMatch));
|
||||
IEditorInput input =EditorUtility.getEditorInput(new ExternalSearchFile(searchMatch.getPath(), searchMatch));
|
||||
IWorkbenchPage p= CUIPlugin.getActivePage();
|
||||
IEditorPart editorPart= p.openEditor(input, "org.eclipse.cdt.ui.editor.ExternalSearchEditor"); //$NON-NLS-1$
|
||||
if (editorPart instanceof ITextEditor) {
|
||||
ITextEditor textEditor= (ITextEditor) editorPart;
|
||||
IMatchLocatable searchLocatable = searchMatch.locatable;
|
||||
IMatchLocatable searchLocatable = searchMatch.getLocatable();
|
||||
int startOffset=0;
|
||||
int length=0;
|
||||
if (searchLocatable instanceof IOffsetLocatable){
|
||||
|
|
|
@ -178,26 +178,26 @@ public class DOMQuery extends CSearchQuery implements ISearchQuery {
|
|||
BasicSearchMatch result = new BasicSearchMatch();
|
||||
|
||||
if( fileResource instanceof IResource )
|
||||
result.resource = (IResource) fileResource;
|
||||
result.setResource((IResource) fileResource);
|
||||
else if( fileResource instanceof IPath )
|
||||
result.path = (IPath) fileResource;
|
||||
result.setPath((IPath) fileResource);
|
||||
|
||||
result.locatable = new OffsetLocatable(start,end);
|
||||
result.parentName = BLANK_STRING; //$NON-NLS-1$
|
||||
result.referringElement = referringElement;
|
||||
result.setLocatable(new OffsetLocatable(start,end));
|
||||
result.setParentName(BLANK_STRING); //$NON-NLS-1$
|
||||
result.setReferringElement(referringElement);
|
||||
|
||||
if (node instanceof IASTName)
|
||||
result.name = node.toString();
|
||||
result.setName(node.toString());
|
||||
else if (node instanceof IASTProblem)
|
||||
result.name = ((IASTProblem)node).getMessage();
|
||||
result.setName(((IASTProblem)node).getMessage());
|
||||
else
|
||||
result.name = node.toString();
|
||||
result.setName(node.toString());
|
||||
|
||||
// set the type and visibility of the match
|
||||
if (node instanceof IASTName) {
|
||||
IBinding binding = ((IASTName)node).resolveBinding();
|
||||
if (binding instanceof ICPPClassType) {
|
||||
result.type = ICElement.C_CLASS;
|
||||
result.setType(ICElement.C_CLASS);
|
||||
} else if (binding instanceof ICompositeType) {
|
||||
int key=ICompositeType.k_struct;
|
||||
try {
|
||||
|
@ -205,20 +205,20 @@ public class DOMQuery extends CSearchQuery implements ISearchQuery {
|
|||
} catch (DOMException e) {}
|
||||
switch (key) {
|
||||
case ICompositeType.k_struct:
|
||||
result.type = ICElement.C_STRUCT;
|
||||
result.setType(ICElement.C_STRUCT);
|
||||
break;
|
||||
case ICompositeType.k_union:
|
||||
result.type = ICElement.C_UNION;
|
||||
result.setType(ICElement.C_UNION);
|
||||
break;
|
||||
}
|
||||
} else if (binding instanceof ICPPNamespace) {
|
||||
result.type = ICElement.C_NAMESPACE;
|
||||
result.setType( ICElement.C_NAMESPACE);
|
||||
} else if (binding instanceof IEnumeration) {
|
||||
result.type = ICElement.C_ENUMERATION;
|
||||
result.setType(ICElement.C_ENUMERATION);
|
||||
} else if (binding instanceof IMacroBinding) {
|
||||
result.type = ICElement.C_MACRO;
|
||||
result.setType(ICElement.C_MACRO);
|
||||
} else if (binding instanceof IField) {
|
||||
result.type = ICElement.C_FIELD;
|
||||
result.setType(ICElement.C_FIELD);
|
||||
try {
|
||||
result.setStatic(((IField)binding).isStatic());
|
||||
} catch (DOMException e) {}
|
||||
|
@ -226,10 +226,10 @@ public class DOMQuery extends CSearchQuery implements ISearchQuery {
|
|||
try {
|
||||
switch (((ICPPMember)binding).getVisibility()) {
|
||||
case ICPPMember.v_private:
|
||||
result.visibility = ICElement.CPP_PRIVATE;
|
||||
result.setVisibility(ICElement.CPP_PRIVATE);
|
||||
break;
|
||||
case ICPPMember.v_public:
|
||||
result.visibility = ICElement.CPP_PUBLIC;
|
||||
result.setVisibility(ICElement.CPP_PUBLIC);
|
||||
break;
|
||||
// no ICElement.CPP_PROTECTED
|
||||
}
|
||||
|
@ -239,22 +239,22 @@ public class DOMQuery extends CSearchQuery implements ISearchQuery {
|
|||
result.setConst(ASTTypeUtil.isConst(((IField)binding).getType()));
|
||||
} catch (DOMException e) {}
|
||||
} else if (binding instanceof IVariable) {
|
||||
result.type = ICElement.C_VARIABLE;
|
||||
result.setType(ICElement.C_VARIABLE);
|
||||
try {
|
||||
result.setConst(ASTTypeUtil.isConst(((IVariable)binding).getType()));
|
||||
} catch (DOMException e) {}
|
||||
} else if (binding instanceof IEnumerator) {
|
||||
result.type = ICElement.C_ENUMERATOR;
|
||||
result.setType(ICElement.C_ENUMERATOR);
|
||||
} else if (binding instanceof ICPPMethod) {
|
||||
result.type = ICElement.C_METHOD;
|
||||
result.setType(ICElement.C_METHOD);
|
||||
if (binding instanceof ICPPMember) {
|
||||
try {
|
||||
switch (((ICPPMember)binding).getVisibility()) {
|
||||
case ICPPMember.v_private:
|
||||
result.visibility = ICElement.CPP_PRIVATE;
|
||||
result.setVisibility(ICElement.CPP_PRIVATE);
|
||||
break;
|
||||
case ICPPMember.v_public:
|
||||
result.visibility = ICElement.CPP_PUBLIC;
|
||||
result.setVisibility(ICElement.CPP_PUBLIC);
|
||||
break;
|
||||
// there is no ICElement.CPP_PROTECTED
|
||||
}
|
||||
|
@ -264,18 +264,18 @@ public class DOMQuery extends CSearchQuery implements ISearchQuery {
|
|||
result.setConst(ASTTypeUtil.isConst(((ICPPMethod)binding).getType()));
|
||||
} catch (DOMException e) {}
|
||||
} else if (binding instanceof IFunction) {
|
||||
result.type = ICElement.C_FUNCTION;
|
||||
result.setType(ICElement.C_FUNCTION);
|
||||
try {
|
||||
result.setStatic(((IFunction)binding).isStatic());
|
||||
} catch (DOMException e) {}
|
||||
} else if (binding instanceof ITypedef) {
|
||||
result.type = ICElement.C_TYPEDEF;
|
||||
result.setType(ICElement.C_TYPEDEF);
|
||||
}
|
||||
} else {
|
||||
result.type = ICElement.C_UNKNOWN_DECLARATION;
|
||||
result.setType(ICElement.C_UNKNOWN_DECLARATION);
|
||||
}
|
||||
|
||||
result.returnType = BLANK_STRING;
|
||||
result.setReturnType(BLANK_STRING);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
|
|
@ -84,11 +84,11 @@ public class NewSearchResultCollector extends BasicSearchResultCollector {
|
|||
if( !super.acceptMatch( match ) )
|
||||
return false;
|
||||
|
||||
if( searchMatch.resource == null &&
|
||||
searchMatch.path == null)
|
||||
if( searchMatch.getResource() == null &&
|
||||
searchMatch.getPath() == null)
|
||||
return false;
|
||||
|
||||
if (searchMatch.resource != null){
|
||||
if (searchMatch.getResource() != null){
|
||||
fMatchCount++;
|
||||
int start =0;
|
||||
int end = 0;
|
||||
|
|
Loading…
Add table
Reference in a new issue