| /******************************************************************************* |
| * Copyright (c) 2005, 2007 IBM Corporation and others. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| |
| *******************************************************************************/ |
| package org.eclipse.dltk.core; |
| |
| /** |
| * Represents a method (or constructor) declared in a type. |
| */ |
| public interface IMethod extends IMember { |
| |
| /** |
| * Returns the parameters in this method. Returns an empty array if this |
| * method has no parameters. |
| * |
| * @exception ModelException |
| * if this element does not exist or if an exception occurs |
| * while accessing its corresponding resource. |
| * @return the parameters in this method, an empty array if this method has |
| * no parameters |
| */ |
| public IParameter[] getParameters() throws ModelException; |
| |
| /** |
| * Returns the names of parameters in this method. Returns an empty array if |
| * this method has no parameters. |
| * |
| * @exception ModelException |
| * 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 |
| */ |
| public String[] getParameterNames() throws ModelException; |
| |
| /** |
| * Returns whether this method is a constructor. |
| * |
| * @exception ModelException |
| * 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 ModelException; |
| |
| /** |
| * Returns the signature of this method. This includes the signatures for |
| * the parameter types and return type, but does not include the method |
| * name, exception types, or type parameters. |
| * <p> |
| * For example, a source method declared as |
| * <code>public void foo(String text, int length)</code> would return |
| * <code>"(QString;I)V"</code>. |
| * </p> |
| * <p> |
| * The type signatures embedded in the method signature may be either |
| * unresolved (for source types) or resolved (for binary types), and either |
| * basic (for basic types) or rich (for parameterized types). |
| * </p> |
| * |
| * @return the signature of this method |
| * @exception ModelException |
| * if this element does not exist or if an exception occurs |
| * while accessing its corresponding resource. |
| */ |
| |
| String getFullyQualifiedName(String enclosingTypeSeparator); |
| |
| String getFullyQualifiedName(); |
| |
| String getTypeQualifiedName(String enclosingTypeSeparator, |
| boolean showParameters) throws ModelException; |
| |
| /** |
| * Return language dependent type name |
| * |
| * @return |
| * @since 2.0 |
| */ |
| String getType() throws ModelException; |
| } |