public override IEnumerable <ulong> EnumerateObjectAddresses() { RevisionValidator.Validate(Revision, GetRuntimeRevision()); for (int i = 0; i < _segments.Length; ++i) { ClrSegment seg = _segments[i]; for (ulong obj = seg.FirstObject; obj != 0; obj = seg.NextObject(obj)) { _lastSegmentIdx = i; yield return(obj); } } }
public override IEnumerable <ClrObject> EnumerateObjects() { RevisionValidator.Validate(Revision, GetRuntimeRevision()); for (int i = 0; i < _segments.Length; ++i) { ClrSegment seg = _segments[i]; for (ulong obj = seg.GetFirstObject(out ClrType type); obj != 0; obj = seg.NextObject(obj, out type)) { _lastSegmentIdx = i; yield return(ClrObject.Create(obj, type)); } } }