harpoon.Backend.Analysis
Class JLSRuntimeInformation
java.lang.Object
harpoon.Backend.Generic.RuntimeInformation
harpoon.Backend.Analysis.JLSRuntimeInformation
public abstract class JLSRuntimeInformation
- extends RuntimeInformation
JLSRuntimeInformation
contains the basic runtime information
required by the
Java
Language Specification. All possible runtime systems/JVMs must
display any behavior specified in this class.
- Version:
- $Id: JLSRuntimeInformation.java,v 1.2 2002/02/25 21:00:47 cananian Exp $
- Author:
- C. Scott Ananian <cananian@alumni.princeton.edu>
- See Also:
RuntimeInformation
Method Summary |
Set |
baseClasses()
Returns the set of basic classes which may be referenced
in some way by the runtime (for example, as the component type of an
array). |
Set |
initiallyCallableMethods()
Returns the set of methods called during the initialization
of the runtime system. |
Set |
methodsCallableFrom(HMethod m)
Returns the set of methods called during the execution of the
specified method. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
linker
protected Linker linker
HCioE
protected final HClass HCioE
HCstring
protected final HClass HCstring
HCsystem
protected final HClass HCsystem
HCthread
protected final HClass HCthread
HMsysArrayCopy
protected final HMethod HMsysArrayCopy
HMthreadStart
protected final HMethod HMthreadStart
HMthreadRun
protected final HMethod HMthreadRun
JLSRuntimeInformation
public JLSRuntimeInformation(Linker linker)
- Creates a
JDKRuntimeInformation
.
baseClasses
public Set baseClasses()
- Description copied from class:
RuntimeInformation
- Returns the set of basic classes which may be referenced
in some way by the runtime (for example, as the component type of an
array). This does not include classes which may be
instantiated by the runtime, constructors for which
ought to be included as callable methods instead of including
them in the result set from this method. The only classes I can
think of that ought to be included in this set are the
8 primitive type classes, which are sometimes referenced
via reflection (as opposed to instantiation) via the
java.lang.Class.forName()
method; feel free to
extend your implementation if I happen to be missing some
possibilities.
- Specified by:
baseClasses
in class RuntimeInformation
- Returns:
- a
Set
of HClass
es.
methodsCallableFrom
public Set methodsCallableFrom(HMethod m)
- Description copied from class:
RuntimeInformation
- Returns the set of methods called during the execution of the
specified method. The method may or may not be native; a
particular run-time may do something "tricky" during the
execution of an otherwise normal method which can be described
by the results of this call. The specified method may not
be null. To indicate that a particular method may cause the
instantiation of one of more classes, appropriate
HConstructor
s should be included in the returned
set.
- Specified by:
methodsCallableFrom
in class RuntimeInformation
- Returns:
- a
Set
of HMethod
s.
initiallyCallableMethods
public Set initiallyCallableMethods()
- Description copied from class:
RuntimeInformation
- Returns the set of methods called during the initialization
of the runtime system. These methods are called before
the "main" method of the program. Instantiation of any classes
during the runtime system initialization should be indicated
via inclusion of an appropriate
HConstructor
in
the set of callable methods.
- Specified by:
initiallyCallableMethods
in class RuntimeInformation
- Returns:
- a
Set
of HMethod
s.