public Heapshot(NativeHeapshot nativeHeapshot) { //Objects = nativeHeapshot.Objects; Roots = nativeHeapshot.Roots; TrackedTypes = nativeHeapshot.TrackedTypes; Types = nativeHeapshot.Types; var graphWithInReferences = new BidirectionAdapterGraph <HeapObject, Edge <HeapObject> > (nativeHeapshot.Graph); // Construct the in-edge graph, so we can trace an object's retention path. Graph = new ReversedBidirectionalGraph <HeapObject, Edge <HeapObject> > (graphWithInReferences); }
internal Heap( Dictionary <long, HeapRoot> roots, Dictionary <string, long> trackedTypes, Dictionary <long, HeapTypeInformation> types, IVertexAndEdgeListGraph <HeapObject, Edge <HeapObject> > referenceGraph) { //Objects = nativeHeapshot.Objects; Roots = roots; TrackedTypes = trackedTypes; Types = types; var graphWithInReferences = new BidirectionAdapterGraph <HeapObject, Edge <HeapObject> >(referenceGraph); // Construct the in-edge graph, so we can trace an object's retention path. Graph = new ReversedBidirectionalGraph <HeapObject, Edge <HeapObject> >(graphWithInReferences); }