public interface ReachabilityAnalysis
| Modifier and Type | Method and Description |
|---|---|
AnalysisType |
addRootClass(Class<?> clazz,
boolean addFields,
boolean addArrayClass)
Marks given class and all its superclasses as reachable.
|
AnalysisType |
addRootField(Class<?> clazz,
String fieldName)
Marks given field as accessed.
|
AnalysisMethod |
addRootMethod(AnalysisMethod aMethod)
Marks given method as reachable.
|
AnalysisMethod |
addRootMethod(Class<?> clazz,
String methodName,
Class<?>... parameterTypes)
Marks given method as reachable.
|
AnalysisMethod |
addRootMethod(Executable method)
Marks given method as reachable.
|
AnalysisPolicy |
analysisPolicy() |
void |
cleanupAfterAnalysis()
Clears all intermediary data to reduce the footprint.
|
boolean |
finish()
Waits until the analysis is done.
|
void |
forceUnsafeUpdate(AnalysisField field)
Force update of the unsafe loads and unsafe store type flows when a field is registered as
unsafe accessed 'on the fly', i.e., during the analysis.
|
TypeState |
getAllSynchronizedTypeState() |
AnalysisMetaAccess |
getMetaAccess() |
AnalysisUniverse |
getUniverse() |
void |
registerAsJNIAccessed(AnalysisField field,
boolean writable)
Performs any necessary additional steps required by the analysis to handle JNI accessed
fields.
|
AnalysisType addRootClass(Class<?> clazz, boolean addFields, boolean addArrayClass)
clazz - class to be markedaddFields - if true, all instance fiels are marked as accessedaddArrayClass - if true, the array class is registered as wellAnalysisType addRootField(Class<?> clazz, String fieldName)
AnalysisMethod addRootMethod(AnalysisMethod aMethod)
AnalysisMethod addRootMethod(Executable method)
AnalysisMethod addRootMethod(Class<?> clazz, String methodName, Class<?>... parameterTypes)
boolean finish()
throws InterruptedException
InterruptedExceptionvoid cleanupAfterAnalysis()
void forceUnsafeUpdate(AnalysisField field)
field - the newly unsafe registered field. We use its declaring type to filter the
unsafe access flows that need to be updated.void registerAsJNIAccessed(AnalysisField field, boolean writable)
TypeState getAllSynchronizedTypeState()
AnalysisMetaAccess getMetaAccess()
AnalysisUniverse getUniverse()
AnalysisPolicy analysisPolicy()