Skip to content
🤔 Documentation issue? Report it

//leakcanary/shark/ObjectReporter

ObjectReporter

class ObjectReporter(val heapObject: HeapObject)

Enables ObjectInspector implementations to provide insights on heapObject, which is an object (class, instance or array) found in the heap.

A given ObjectReporter only maps to one object in the heap, but is shared to many ObjectInspector implementations and accumulates insights.

Constructors

ObjectReporter fun ObjectReporter(heapObject: HeapObject)

Functions

Name Summary
whenInstanceOf fun whenInstanceOf(expectedClassName: String, block: ObjectReporter.(HeapObject.HeapInstance) -> Unit)
Runs block if ObjectReporter.heapObject is an instance of expectedClassName.
fun whenInstanceOf(expectedClass: KClass<out Any>, block: ObjectReporter.(HeapObject.HeapInstance) -> Unit)
Runs block if ObjectReporter.heapObject is an instance of expectedClass.

Properties

Name Summary
heapObject val heapObject: HeapObject
labels val labels: LinkedHashSet<String>
Labels that will be visible on the corresponding heapObject in the leak trace.
leakingReasons val leakingReasons: MutableSet<String>
Reasons for which this object is expected to be unreachable (ie it’s leaking).
notLeakingReasons val notLeakingReasons: MutableSet<String>
Reasons for which this object is expected to be reachable (ie it’s not leaking).