Class cornell.slk.jkernel.core.ClassNode
Source code
java.lang.Object
|
+----cornell.slk.jkernel.core.ClassNode
- Subclasses:
- SystemClassNode, TaskClassNode
- abstract class ClassNode
- extends java.lang.Object
Each class in the system is represented by one ClassNode.
A ClassNode may hold a finished Class object, or it may
hold unfinished bytecode.
At the moment, there are no ClassNodes for primitive types
and arrays. In the future, there may be.
A task keeps a mapping of class names to ClassNodes.
Each time a task's loader's loadClass method is called,
the task consults this mapping to see whether a ClassNode
already exists for that name. If not, the task queries
resolvers in order to generate a new class node (this
process is single-threaded only), in order to generate
a new ClassNode or link to a shared ClassNode from another
task.
System classes are always sharable, and they refer only
to other classes that are declared in superclass,
field, and method declarations.
| Methods inherited from class java.lang.Object
|
| , clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait |
ClassNode
ClassNode()
getOrigName
abstract java.lang.String getOrigName() throws java.lang.ClassNotFoundException
getReName
abstract java.lang.String getReName() throws java.lang.ClassNotFoundException
getTask
abstract Task getTask() throws java.lang.ClassNotFoundException
refersTo
abstract ClassNode[] refersTo() throws java.lang.ClassNotFoundException
directSuperTypes
abstract ClassNode[] directSuperTypes() throws java.lang.ClassNotFoundException
getSharedClass
abstract SharedClass getSharedClass() throws java.lang.ClassNotFoundException
getClassObject
abstract java.lang.Class getClassObject() throws java.lang.ClassNotFoundException