public interface ObjectScanningObserver
| Modifier and Type | Method and Description |
|---|---|
default void |
forEmbeddedRoot(JavaConstant root,
ObjectScanner.ScanReason reason)
Hook for scanned embedded root.
|
default boolean |
forNonNullArrayElement(JavaConstant array,
AnalysisType arrayType,
JavaConstant elementConstant,
AnalysisType elementType,
int elementIndex,
ObjectScanner.ScanReason reason)
Hook for scanned non-null element value.
|
default boolean |
forNonNullFieldValue(JavaConstant receiver,
AnalysisField field,
JavaConstant fieldValue,
ObjectScanner.ScanReason reason)
Hook for scanned non-null field value.
|
default boolean |
forNullArrayElement(JavaConstant array,
AnalysisType arrayType,
int elementIndex,
ObjectScanner.ScanReason reason)
Hook for scanned null element value.
|
default boolean |
forNullFieldValue(JavaConstant receiver,
AnalysisField field,
ObjectScanner.ScanReason reason)
Hook for scanned null field value.
|
default boolean |
forRelocatedPointerFieldValue(JavaConstant receiver,
AnalysisField field,
JavaConstant fieldValue,
ObjectScanner.ScanReason reason)
Hook for relocated pointer scanned field value.
|
default void |
forScannedConstant(JavaConstant scannedValue,
ObjectScanner.ScanReason reason)
Hook for scanned constant.
|
default boolean forRelocatedPointerFieldValue(JavaConstant receiver,
AnalysisField field,
JavaConstant fieldValue,
ObjectScanner.ScanReason reason)
For relocated pointers the value is only known at runtime after methods are relocated, which is pretty much the same as a field written at runtime: we do not have a constant value.
default boolean forNullFieldValue(JavaConstant receiver,
AnalysisField field,
ObjectScanner.ScanReason reason)
default boolean forNonNullFieldValue(JavaConstant receiver,
AnalysisField field,
JavaConstant fieldValue,
ObjectScanner.ScanReason reason)
default boolean forNullArrayElement(JavaConstant array,
AnalysisType arrayType,
int elementIndex,
ObjectScanner.ScanReason reason)
default boolean forNonNullArrayElement(JavaConstant array,
AnalysisType arrayType,
JavaConstant elementConstant,
AnalysisType elementType,
int elementIndex,
ObjectScanner.ScanReason reason)
default void forEmbeddedRoot(JavaConstant root,
ObjectScanner.ScanReason reason)
default void forScannedConstant(JavaConstant scannedValue,
ObjectScanner.ScanReason reason)