blob: 40103e34e471ad52e072a2343d3e3e224759fbdf [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2000, 2004 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.wst.jsdt.internal.compiler.env;
// clinit methods (synthetics too?) can be returned from IBinaryType>>getMethods()
// BUT do not have to be... the compiler will ignore them when building the binding.
// The synthetic argument of a member type's constructor (ie. the first arg of a non-static
// member type) is also ignored by the compiler, BUT in this case it must be included
// in the constructor's signature.
public interface IBinaryMethod extends IGenericMethod {
/**
* Answer the resolved names of the exception types in the
* class file format as specified in section 4.2 of the Java 2 VM spec
* or null if the array is empty.
*
* For example, java.lang.String is java/lang/String.
*/
char[][] getExceptionTypeNames();
/**
* Answer the receiver's method descriptor which describes the parameter &
* return types as specified in section 4.4.3 of the Java 2 VM spec.
*
* For example:
* - int foo(String) is (Ljava/lang/String;)I
* - Object[] foo(int) is (I)[Ljava/lang/Object;
*/
char[] getMethodDescriptor();
/**
* Answer the receiver's signature which describes the parameter &
* return types as specified in section 4.4.4 of the Java 2 VM spec.
*/
char[] getGenericSignature();
/**
* Answer whether the receiver represents a class initializer method.
*/
boolean isClinit();
}