blob: e133427f6ba2f4de4d6a4f2f7771f553f9e4251c [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2000, 2003 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Common Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/cpl-v10.html
*
* Contributors:
* IBM Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.cdt.internal.core.search;
public interface IIndexSearchRequestor {
/**
* 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 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);
}