blob: 95bc80fca4735aa61bae3bc0f1905ab382ea5b95 [file] [log] [blame]
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();
}