![JAR search and dependency download from the Maven repository](/logo.png)
main.shark.ActualMatchingReferenceReaderFactory.kt Maven / Gradle / Ivy
package shark
/**
* Creates [ReferenceReader] instances that will follow references from all [HeapObject]s,
* applying matching rules provided by [referenceMatchers], and not creating any virtual reference.
*/
class ActualMatchingReferenceReaderFactory(
private val referenceMatchers: List
) : ReferenceReader.Factory {
override fun createFor(heapGraph: HeapGraph): ReferenceReader {
return DelegatingObjectReferenceReader(
classReferenceReader = ClassReferenceReader(heapGraph, referenceMatchers),
instanceReferenceReader = ChainingInstanceReferenceReader(
virtualRefReaders = listOf(JavaLocalReferenceReader(heapGraph, referenceMatchers)),
flatteningInstanceReader = null,
fieldRefReader = FieldInstanceReferenceReader(heapGraph, referenceMatchers)
), objectArrayReferenceReader = ObjectArrayReferenceReader()
)
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy