-
Notifications
You must be signed in to change notification settings - Fork 0
Clazz
jordanell edited this page May 25, 2012
·
6 revisions
Clazz is a container for Java classes. (We could not create a class called Class. Clazz.java is not a valid file name.) Clazz holds pertinent information regarding a Java class. This container is also used to represent a Java interface.
This is a list of information that the Clazz hold about a class or interface.
- A File reference. This is a reference to the "File" that this Clazz resides in.
- The name of the class. This is the name of the Java class this container is representing. This is a full class name which includes the package. (Ex. some.package.util.A, where some.package.util is the package the class is in and A is the actual class name)
- If the class is an interface. This is a simple boolean value.
- A list of methods. This is a list of all methods that are defined inside of this class. This also includes constructors.
- A list of subclasses. A reference to any class that extends this class.
- A list of implemented interfaces. These are references to and interface (class) that this class implements.
- A list of classes that implement this class if it is an interface.
- A super class. This is a reference to a super class if this class extends one.
- Variables. A list of mappings which contains the fields declared for the clazz.
- A list of unresolved interfaces. If the resolve phase of this program fails to resolve an interface name, that interface name will be left in this list.
- An unresolved super class. If the resolve phase of this program fails to resolve the super class name, that super class name will be left here.
Clazz has been untested for abstract classes.