X-Git-Url: http://secure.phpeclipse.com diff --git a/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/core/IMethod.java b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/core/IMethod.java new file mode 100644 index 0000000..2dd7cc3 --- /dev/null +++ b/net.sourceforge.phpeclipse/src/net/sourceforge/phpdt/core/IMethod.java @@ -0,0 +1,145 @@ +/******************************************************************************* + * Copyright (c) 2000, 2001, 2002 International Business Machines Corp. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Common Public License v0.5 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/cpl-v05.html + * + * Contributors: + * IBM Corporation - initial API and implementation + ******************************************************************************/ +package net.sourceforge.phpdt.core; + +/** + * Represents a method (or constructor) declared in a type. + *

+ * This interface is not intended to be implemented by clients. + *

+ */ +public interface IMethod extends IMember { +/** + * Returns the simple name of this method. + * For a constructor, this returns the simple name of the declaring type. + * Note: This holds whether the constructor appears in a source or binary type + * (even though class files internally define constructor names to be "<init>"). + * For the class initialization methods in binary types, this returns + * the special name "<clinit>". + * This is a handle-only method. + */ +String getElementName(); +/** + * Returns the type signatures of the exceptions this method throws, + * in the order declared in the source. Returns an empty array + * if this method throws no exceptions. + * + *

For example, a source method declaring "throws IOException", + * would return the array {"QIOException;"}. + * + * @exception JavaModelException if this element does not exist or if an + * exception occurs while accessing its corresponding resource. + * @return the type signatures of the exceptions this method throws, + * in the order declared in the source, an empty array if this method throws no exceptions + * @see Signature + */ +String[] getExceptionTypes() throws JavaModelException; +/** + * Returns the number of parameters of this method. + * This is a handle-only method. + * + * @return the number of parameters of this method + */ +int getNumberOfParameters(); +/** + * Returns the names of parameters in this method. + * For binary types, these names are invented as "arg"+i, where i starts at 1 + * (even if source is associated with the binary). + * Returns an empty array if this method has no parameters. + * + *

For example, a method declared as public void foo(String text, int length) + * would return the array {"text","length"}. + * + * @exception JavaModelException if this element does not exist or if an + * exception occurs while accessing its corresponding resource. + * @return the names of parameters in this method, an empty array if this method has no parameters + */ +String[] getParameterNames() throws JavaModelException; +/** + * Returns the type signatures for the parameters of this method. + * Returns an empty array if this method has no parameters. + * This is a handle-only method. + * + *

For example, a source method declared as public void foo(String text, int length) + * would return the array {"QString;","I"}. + * + * @return the type signatures for the parameters of this method, an empty array if this method has no parameters + * @see Signature + */ +String[] getParameterTypes(); +/** + * Returns the type signature of the return value of this method. + * For constructors, this returns the signature for void. + * + *

For example, a source method declared as public String getName() + * would return "QString;". + * + * @exception JavaModelException if this element does not exist or if an + * exception occurs while accessing its corresponding resource. + * @return the type signature of the return value of this method, void for constructors + * @see Signature + */ +String getReturnType() throws JavaModelException; +/** + * Returns the signature of the method. This includes the signatures for the parameter + * types and return type, but does not include the method name or exception types. + * + *

For example, a source method declared as public void foo(String text, int length) + * would return "(QString;I)V". + * + * @exception JavaModelException if this element does not exist or if an + * exception occurs while accessing its corresponding resource. + * + * @see Signature + */ +String getSignature() throws JavaModelException; +/** + * Returns whether this method is a constructor. + * + * @exception JavaModelException if this element does not exist or if an + * exception occurs while accessing its corresponding resource. + * + * @return true if this method is a constructor, false otherwise + */ +boolean isConstructor() throws JavaModelException; +/** + * Returns whether this method is a main method. + * It is a main method if: + *

+ * + * @exception JavaModelException if this element does not exist or if an + * exception occurs while accessing its corresponding resource. + * @since 2.0 + * @return true if this method is a main method, false otherwise + */ +boolean isMainMethod() throws JavaModelException; +/** + * Returns whether this method is similar to the given method. + * Two methods are similar if: + * + * This is a handle-only method. + * + * @param method the given method + * @return true if this method is similar to the given method. + * @see Signature#getSimpleName + * @since 2.0 + */ +boolean isSimilar(IMethod method); +}