public class ClassFileIClass extends IClass
IClass.IConstructor, IClass.IField, IClass.IInvocable, IClass.IMember, IClass.IMethod| Modifier and Type | Field and Description |
|---|---|
private short |
accessFlags |
private ClassFile |
classFile |
private static boolean |
DEBUG |
private IClassLoader |
iClassLoader |
private java.util.Map<java.lang.String,IClass> |
resolvedClasses |
private java.util.Map<ClassFile.FieldInfo,IClass.IField> |
resolvedFields |
private java.util.Map<ClassFile.MethodInfo,IClass.IInvocable> |
resolvedMethods |
| Constructor and Description |
|---|
ClassFileIClass(ClassFile classFile,
IClassLoader iClassLoader) |
| Modifier and Type | Method and Description |
|---|---|
private static Access |
accessFlags2Access(short accessFlags) |
Access |
getAccess() |
protected IClass |
getComponentType2() |
protected IClass[] |
getDeclaredIClasses2() |
protected IClass.IConstructor[] |
getDeclaredIConstructors2()
The uncached version of
IClass.getDeclaredIConstructors() which must be implemented by derived classes. |
protected IClass.IField[] |
getDeclaredIFields2()
Uncached version of
IClass.getDeclaredIFields(). |
protected IClass.IMethod[] |
getDeclaredIMethods2()
The uncached version of
IClass.getDeclaredIMethods() which must be implemented by derived classes. |
protected IClass |
getDeclaringIClass2() |
protected java.lang.String |
getDescriptor2() |
protected IClass[] |
getInterfaces2() |
protected IClass |
getOuterIClass2() |
protected IClass |
getSuperclass2() |
boolean |
isAbstract()
Whether the class may be instantiated (JVMS 4.1 access_flags)
|
boolean |
isArray() |
boolean |
isFinal()
Whether subclassing is allowed (JVMS 4.1 access_flags)
|
boolean |
isInterface() |
boolean |
isPrimitive() |
boolean |
isPrimitiveNumeric() |
void |
resolveAllClasses()
Resolves all classes referenced by this class file.
|
private IClass |
resolveClass(short index) |
private IClass |
resolveClass(java.lang.String descriptor) |
private IClass[] |
resolveClasses(short[] ifs) |
private IClass.IField |
resolveField(ClassFile.FieldInfo fieldInfo) |
private IClass.IInvocable |
resolveMethod(ClassFile.MethodInfo methodInfo)
Turn a
ClassFile.MethodInfo into an IInvocable. |
clearIFieldCaches, findIConstructor, findIMethod, findMemberType, getArrayIClass, getArrayIClass, getComponentType, getDeclaredIClasses, getDeclaredIConstructors, getDeclaredIField, getDeclaredIFields, getDeclaredIMethods, getDeclaredIMethods, getDeclaringIClass, getDescriptor, getDescriptors, getIMethods, getInterfaces, getOuterIClass, getSuperclass, getSyntheticIFields, hasIMethod, implementsInterface, invalidateMethodCaches, isAssignableFrom, isSubclassOf, toStringprivate static final boolean DEBUG
private final ClassFile classFile
private final IClassLoader iClassLoader
private final short accessFlags
private final java.util.Map<ClassFile.FieldInfo,IClass.IField> resolvedFields
private final java.util.Map<java.lang.String,IClass> resolvedClasses
private final java.util.Map<ClassFile.MethodInfo,IClass.IInvocable> resolvedMethods
public ClassFileIClass(ClassFile classFile, IClassLoader iClassLoader)
classFile - Source of dataiClassLoader - IClassLoader through which to load other classesprotected IClass.IConstructor[] getDeclaredIConstructors2()
IClassIClass.getDeclaredIConstructors() which must be implemented by derived classes.getDeclaredIConstructors2 in class IClassprotected IClass.IMethod[] getDeclaredIMethods2()
IClassIClass.getDeclaredIMethods() which must be implemented by derived classes.getDeclaredIMethods2 in class IClassprotected IClass.IField[] getDeclaredIFields2()
IClassIClass.getDeclaredIFields().getDeclaredIFields2 in class IClassprotected IClass[] getDeclaredIClasses2() throws CompileException
getDeclaredIClasses2 in class IClassCompileExceptionprotected IClass getDeclaringIClass2() throws CompileException
getDeclaringIClass2 in class IClassnullCompileExceptionprotected IClass getOuterIClass2() throws CompileException
getOuterIClass2 in class IClassCompileExceptionIClass.getOuterIClass()protected IClass getSuperclass2() throws CompileException
getSuperclass2 in class IClassCompileExceptionIClass.getSuperclass()public Access getAccess()
public boolean isFinal()
IClassprotected IClass[] getInterfaces2() throws CompileException
getInterfaces2 in class IClassCompileExceptionIClass.getInterfaces()public boolean isAbstract()
IClassisAbstract in class IClasstrue if instantiation is prohibitedprotected java.lang.String getDescriptor2()
getDescriptor2 in class IClasspublic boolean isInterface()
isInterface in class IClasspublic boolean isArray()
public boolean isPrimitive()
isPrimitive in class IClasspublic boolean isPrimitiveNumeric()
isPrimitiveNumeric in class IClassprotected IClass getComponentType2()
getComponentType2 in class IClassIClass.getComponentType()public void resolveAllClasses()
throws java.lang.ClassNotFoundException
java.lang.ClassNotFoundExceptionprivate IClass resolveClass(short index) throws java.lang.ClassNotFoundException
index - Index of the CONSTANT_Class_info to resolve (JVMS 4.4.1)java.lang.ClassNotFoundExceptionprivate IClass resolveClass(java.lang.String descriptor) throws java.lang.ClassNotFoundException
java.lang.ClassNotFoundExceptionprivate IClass[] resolveClasses(short[] ifs) throws CompileException
CompileExceptionprivate IClass.IInvocable resolveMethod(ClassFile.MethodInfo methodInfo) throws java.lang.ClassNotFoundException
ClassFile.MethodInfo into an IInvocable. This includes the checking and the
removal of the magic first parameter of an inner class constructor.methodInfo - java.lang.ClassNotFoundExceptionprivate IClass.IField resolveField(ClassFile.FieldInfo fieldInfo) throws java.lang.ClassNotFoundException
java.lang.ClassNotFoundExceptionprivate static Access accessFlags2Access(short accessFlags)