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