59511d0ff52ca73e159f0106e7af778346fcf40c
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpdt / internal / compiler / env / IBinaryMethod.java
1 /*******************************************************************************
2  * Copyright (c) 2000, 2001, 2002 International Business Machines Corp. and others.
3  * All rights reserved. This program and the accompanying materials 
4  * are made available under the terms of the Common Public License v0.5 
5  * which accompanies this distribution, and is available at
6  * http://www.eclipse.org/legal/cpl-v05.html
7  * 
8  * Contributors:
9  *     IBM Corporation - initial API and implementation
10  ******************************************************************************/
11 package net.sourceforge.phpdt.internal.compiler.env;
12
13 // clinit methods (synthetics too?) can be returned from IBinaryType>>getMethods()
14 // BUT do not have to be... the compiler will ignore them when building the binding.
15 // The synthetic argument of a member type's constructor (ie. the first arg of a non-static
16 // member type) is also ignored by the compiler, BUT in this case it must be included
17 // in the constructor's signature.
18
19 public interface IBinaryMethod extends IGenericMethod {
20
21 /**
22  * Answer the resolved names of the exception types in the
23  * class file format as specified in section 4.2 of the Java 2 VM spec
24  * or null if the array is empty.
25  *
26  * For example, java.lang.String is java/lang/String.
27  */
28 char[][] getExceptionTypeNames();
29
30 /**
31  * Answer the receiver's method descriptor which describes the parameter &
32  * return types as specified in section 4.3.3 of the Java 2 VM spec.
33  *
34  * For example:
35  *   - int foo(String) is (Ljava/lang/String;)I
36  *   - Object[] foo(int) is (I)[Ljava/lang/Object;
37  */
38 char[] getMethodDescriptor();
39
40 /**
41  * Answer whether the receiver represents a class initializer method.
42  */
43 boolean isClinit();
44 }