|
|||||||||
| 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 Sets. |
| 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 Sets.
| Constructor Detail |
|---|
protected RuntimeInformation(Linker linker)
| Method Detail |
|---|
public abstract Set initiallyCallableMethods()
HConstructor in
the set of callable methods.
Set of HMethods.public abstract Set methodsCallableFrom(HMethod m)
HConstructors should be included in the returned
set.
Set of HMethods.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 HClasses.
protected final Set union(Set s1,
Set s2)
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||