Package org.codehaus.janino

# Class ClassFileIClass

java.lang.Object
org.codehaus.janino.IClass
org.codehaus.janino.ClassFileIClass

All Implemented Interfaces:
  `IType`, `ITypeVariableOrIClass`

public class ClassFileIClass extends IClass
A wrapper object that turns a `ClassFile` object into an `IClass`.

## Nested Class Summary

## Nested classes/interfaces inherited from class org.codehaus.janino.IClass

`IClass.IAnnotation, IClass.IConstructor, IClass.IField, IClass.IInvocable, IClass.IMember, IClass.IMethod`

## Field Summary

### Fields inherited from class org.codehaus.janino.IClass

`BOOLEAN, BYTE, CHAR, DOUBLE, FLOAT, INT, LONG, NO_ANNOTATIONS, NOT_CONSTANT, NULL, SHORT, VOID`

## Constructor Summary

Constructors
Constructor
Description
`ClassFileIClass(ClassFile classFile, IClassLoader iClassLoader)`

## Method Summary

Modifier and Type
Method
Description
`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 String`
`getDescriptor2()`
`protected IClass.IAnnotation[]`
`getIAnnotations2()`
`protected IClass[]`
`getInterfaces2()`
`protected ITypeVariable[]`
`getITypeVariables2()`
The uncached version of `IClass.getDeclaredIConstructors()` which must be implemented by derived classes.
`protected IClass`
`getOuterIClass2()`
`protected IClass`
`getSuperclass2()`
`boolean`
`isAbstract()`
Whether the class may be instantiated (JVMS 4.1 access_flags).
`boolean`
`isArray()`
`boolean`
`isEnum()`
`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.

### Methods inherited from class org.codehaus.janino.IClass

`clearIFieldCaches, findIConstructor, findIMethod, getComponentType, getDeclaredIClasses, getDeclaredIConstructors, getDeclaredIField, getDeclaredIFields, getDeclaredIMethods, getDeclaredIMethods, getDeclaringIClass, getDescriptor, getDescriptors, getIAnnotations, getIMethods, getInterfaces, getITypeVariables, getOuterIClass, getSuperclass, getSyntheticIFields, hasIMethod, implementsInterface, invalidateMethodCaches, isAssignableFrom, isSubclassOf, rawTypeOf, toString`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Constructor Details

### ClassFileIClass

public ClassFileIClass(ClassFile classFile, IClassLoader iClassLoader)

Parameters:
  `classFile` - Source of data
  `iClassLoader` - `IClassLoader` through which to load other classes

## Method Details

### getITypeVariables2

protected ITypeVariable[] getITypeVariables2() throws CompileException
Description copied from class: `IClass`
The uncached version of `IClass.getDeclaredIConstructors()` which must be implemented by derived classes.

Specified by:
  `getITypeVariables2` in class `IClass`
Throws:
  `CompileException`

### getDeclaredIConstructors2

protected IClass.IConstructor[] getDeclaredIConstructors2()
Description copied from class: `IClass`
The uncached version of `IClass.getDeclaredIConstructors()` which must be implemented by derived classes.

Specified by:
  `getDeclaredIConstructors2` in class `IClass`

### getDeclaredIMethods2

protected IClass.IMethod[] getDeclaredIMethods2()
Description copied from class: `IClass`
The uncached version of `IClass.getDeclaredIMethods()` which must be implemented by derived classes.

Specified by:
  `getDeclaredIMethods2` in class `IClass`

### getDeclaredIFields2

protected IClass.IField[] getDeclaredIFields2()
Description copied from class: `IClass`
Uncached version of `IClass.getDeclaredIFields()`.

Specified by:
  `getDeclaredIFields2` in class `IClass`

### getDeclaredIClasses2

protected IClass[] getDeclaredIClasses2() throws CompileException

Specified by:
  `getDeclaredIClasses2` in class `IClass`
Returns:
  The member types of this type
Throws:
  `CompileException`

### getDeclaringIClass2

@Nullable protected IClass getDeclaringIClass2() throws CompileException

Specified by:
  `getDeclaringIClass2` in class `IClass`
Returns:
  If this class is a member class, the declaring class, otherwise `null`
Throws:
  `CompileException`

### getOuterIClass2

@Nullable protected IClass getOuterIClass2() throws CompileException

Specified by:
  `getOuterIClass2` in class `IClass`
Throws:
  `CompileException`
See Also:
  - `IClass.getOuterIClass()`

### getSuperclass2

@Nullable protected IClass getSuperclass2() throws CompileException

Specified by:
  `getSuperclass2` in class `IClass`
Throws:
  `CompileException`
See Also:
  - `IClass.getSuperclass()`

### getAccess

public Access getAccess()

Specified by:
  `getAccess` in class `IClass`
Returns:
  The accessibility of this type

### isFinal

public boolean isFinal()
Description copied from class: `IClass`
Whether subclassing is allowed (JVMS 4.1 access_flags)

Specified by:
  `isFinal` in class `IClass`
Returns:
  `true` if subclassing is prohibited

### getInterfaces2

protected IClass[] getInterfaces2() throws CompileException

Specified by:
  `getInterfaces2` in class `IClass`
Throws:
  `CompileException`
See Also:
  - `IClass.getInterfaces()`

### isAbstract

public boolean isAbstract()
Description copied from class: `IClass`
Whether the class may be instantiated (JVMS 4.1 access_flags).

Specified by:
  `isAbstract` in class `IClass`
Returns:
  `true` if instantiation is prohibited

### getDescriptor2

protected String getDescriptor2()

Specified by:
  `getDescriptor2` in class `IClass`
Returns:
  The field descriptor for the type as defined by JVMS 4.3.2.

### isEnum

public boolean isEnum()

Specified by:
  `isEnum` in class `IClass`
Returns:
  Whether this type represents an enum

### isInterface

public boolean isInterface()

Specified by:
  `isInterface` in class `IClass`
Returns:
  Whether this type represents an interface

### isArray

public boolean isArray()

Specified by:
  `isArray` in class `IClass`
Returns:
  Whether this type represents an array

### isPrimitive

public boolean isPrimitive()

Specified by:
  `isPrimitive` in class `IClass`
Returns:
  Whether this type represents a primitive type or `void`

### isPrimitiveNumeric

public boolean isPrimitiveNumeric()

Specified by:
  `isPrimitiveNumeric` in class `IClass`
Returns:
  Whether this type represents `byte`, `short`, `int`, `long`, `char`, `float` or `double`

### getComponentType2

@Nullable protected IClass getComponentType2()

Specified by:
  `getComponentType2` in class `IClass`
See Also:
  - `IClass.getComponentType()`

### getIAnnotations2

protected IClass.IAnnotation[] getIAnnotations2() throws CompileException

Overrides:
  `getIAnnotations2` in class `IClass`
Throws:
  `CompileException`

### resolveAllClasses

public void resolveAllClasses() throws ClassNotFoundException
Resolves all classes referenced by this class file.

Throws:
  `ClassNotFoundException`