1 package shark.internal 2 3 import shark.GcRoot.ThreadObject 4 import shark.HeapGraph 5 6 internal object ThreadObjects { 7 <lambda>null8 private fun getThreadObjectsByIdMap(graph: HeapGraph) = graph.context.getOrPut(ThreadObjects::class.java.name) { 9 graph.gcRoots.asSequence().filterIsInstance<ThreadObject>().associateBy { it.id } 10 } 11 getThreadObjectsnull12 fun getThreadObjects(graph: HeapGraph) = getThreadObjectsByIdMap(graph).values 13 14 fun getByThreadObjectId(graph: HeapGraph, objectId: Long): ThreadObject? { 15 val threadObjectsById = getThreadObjectsByIdMap(graph) 16 return threadObjectsById[objectId] 17 } 18 } 19