| package org.eclipse.jdt.internal.compiler.env; |
| /* |
| * (c) Copyright IBM Corp. 2000, 2001. |
| * All Rights Reserved. |
| */ |
| public interface IBinaryType extends IGenericType { |
| |
| char[][] NoInterface = new char[0][]; |
| IBinaryNestedType[] NoNestedType = new IBinaryNestedType[0]; |
| IBinaryField[] NoField = new IBinaryField[0]; |
| IBinaryMethod[] NoMethod = new IBinaryMethod[0]; |
| /** |
| * Answer the resolved name of the enclosing type in the |
| * class file format as specified in section 4.2 of the Java 2 VM spec |
| * or null if the receiver is a top level type. |
| * |
| * For example, java.lang.String is java/lang/String. |
| */ |
| |
| char[] getEnclosingTypeName(); |
| /** |
| * Answer the receiver's fields or null if the array is empty. |
| */ |
| |
| IBinaryField[] getFields(); |
| /** |
| * Answer the resolved names of the receiver's interfaces 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[][] getInterfaceNames(); |
| /** |
| * Answer the receiver's nested types or null if the array is empty. |
| * |
| * This nested type info is extracted from the inner class attributes. |
| * Ask the name environment to find a member type using its compound name. |
| */ |
| |
| // NOTE: The compiler examines the nested type info & ignores the local types |
| // so the local types do not have to be included. |
| |
| IBinaryNestedType[] getMemberTypes(); |
| /** |
| * Answer the receiver's methods or null if the array is empty. |
| */ |
| |
| IBinaryMethod[] getMethods(); |
| /** |
| * Answer the resolved name of the type in the |
| * class file format as specified in section 4.2 of the Java 2 VM spec. |
| * |
| * For example, java.lang.String is java/lang/String. |
| */ |
| |
| char[] getName(); |
| /** |
| * Answer the resolved name of the receiver's superclass in the |
| * class file format as specified in section 4.2 of the Java 2 VM spec |
| * or null if it does not have one. |
| * |
| * For example, java.lang.String is java/lang/String. |
| */ |
| |
| char[] getSuperclassName(); |
| |
| } |