//leakcanary-repo/shark/ObjectReporter
ObjectReporter¶
[jvm]\ 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 | [jvm] constructor(heapObject: HeapObject) |
Functions¶
| Name | Summary |
|---|---|
| whenInstanceOf | [jvm] fun whenInstanceOf(expectedClassName: String, block: ObjectReporter.(HeapObject.HeapInstance) -> Unit) Runs block if ObjectReporter.heapObject is an instance of expectedClassName. [jvm] 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 | [jvm] val heapObject: HeapObject |
| labels | [jvm] val labels: LinkedHashSet<String> Labels that will be visible on the corresponding heapObject in the leak trace. |
| leakingReasons | [jvm] val leakingReasons: MutableSet<String> Reasons for which this object is expected to be unreachable (ie it’s leaking). |
| notLeakingReasons | [jvm] val notLeakingReasons: MutableSet<String> Reasons for which this object is expected to be reachable (ie it’s not leaking). |