harpoon.Backend.Analysis
Class JLSRuntimeInformation

java.lang.Object
  extended by harpoon.Backend.Generic.RuntimeInformation
      extended by 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

Field Summary
protected  HClass HCioE
           
protected  HClass HCstring
           
protected  HClass HCsystem
           
protected  HClass HCthread
           
protected  HMethod HMsysArrayCopy
           
protected  HMethod HMthreadRun
           
protected  HMethod HMthreadStart
           
protected  Linker linker
           
 
Constructor Summary
JLSRuntimeInformation(Linker linker)
          Creates a JDKRuntimeInformation.
 
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 harpoon.Backend.Generic.RuntimeInformation
union
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

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
Constructor Detail

JLSRuntimeInformation

public JLSRuntimeInformation(Linker linker)
Creates a JDKRuntimeInformation.

Method Detail

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 HClasses.

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 HConstructors should be included in the returned set.

Specified by:
methodsCallableFrom in class RuntimeInformation
Returns:
a Set of HMethods.

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 HMethods.