|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectharpoon.Backend.Generic.RuntimeInformation
public abstract class RuntimeInformation
RuntimeInformation
is an abstract encapsulation of
analysis information about native methods as executed by
a particular runtime system. Examples of runtime systems include
Sun's JDK 1.1,
JDK1.2, or
JDK1.3;
GNU classpath, and etc.
Note that there may be additional behaviors introduced by the
particular Generic.Runtime
the code is executed
by: native code executed via the
Java Native Interface
may have additional behaviors due to the particular implementation
of the JNI being used. JNI implementations are typically tied to
a particular JVM; for example Sun's JDKs,
Transvirtual's
Kaffe,
or our own
FLEX native code runtime implementation.
Generic.RuntimeInformation
class is designed to use
inheritance and proxy-ing to intelligently represent common behaviors.
Behaviors discovered missing from an implementation should be added
to the most general appropriate class (which may be either
a superclass of the instance used, or a class proxied by the instance
or its superclasses) in order to reduce code duplication. The
root Generic.RuntimeInformation
class should always
be kept completely abstract.
JDK11RuntimeImplementation
,
JDK12RuntimeImplementation
Field Summary | |
---|---|
Linker |
linker
The Linker to use for all non-primitive elements
of the returned Set s. |
Constructor Summary | |
---|---|
protected |
RuntimeInformation(Linker linker)
|
Method Summary | |
---|---|
abstract 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). |
abstract Set |
initiallyCallableMethods()
Returns the set of methods called during the initialization of the runtime system. |
abstract Set |
methodsCallableFrom(HMethod m)
Returns the set of methods called during the execution of the specified method. |
protected Set |
union(Set s1,
Set s2)
Convenience method to union two sets, either or both of which may be unmodifiable. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public final Linker linker
Linker
to use for all non-primitive elements
of the returned Set
s.
Constructor Detail |
---|
protected RuntimeInformation(Linker linker)
Method Detail |
---|
public abstract Set initiallyCallableMethods()
HConstructor
in
the set of callable methods.
Set
of HMethod
s.public abstract Set methodsCallableFrom(HMethod m)
HConstructor
s should be included in the returned
set.
Set
of HMethod
s.public abstract Set baseClasses()
java.lang.Class.forName()
method; feel free to
extend your implementation if I happen to be missing some
possibilities.
Set
of HClass
es.protected final Set union(Set s1, Set s2)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |