| File: Contracts\IObject.cs | Web Access |
| Project: src\runtime\src\native\managed\cdac\Microsoft.Diagnostics.DataContractReader.Abstractions\Microsoft.Diagnostics.DataContractReader.Abstractions.csproj (Microsoft.Diagnostics.DataContractReader.Abstractions) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System; namespace Microsoft.Diagnostics.DataContractReader.Contracts; public enum DelegateType { Unknown, Closed, Open, } public readonly record struct DelegateInfo( TargetPointer TargetObject, TargetCodePointer TargetMethodPtr, DelegateType DelegateType); public readonly record struct ContinuationInfo( TargetPointer Next, TargetPointer DiagnosticIP, uint State); public interface IObject : IContract { static string IContract.Name { get; } = nameof(Object); TargetPointer GetMethodTableAddress(TargetPointer address) => throw new NotImplementedException(); string GetStringValue(TargetPointer address) => throw new NotImplementedException(); TargetPointer GetArrayData(TargetPointer address, out uint count, out TargetPointer boundsStart, out TargetPointer lowerBounds) => throw new NotImplementedException(); bool GetBuiltInComData(TargetPointer address, out TargetPointer rcw, out TargetPointer ccw, out TargetPointer ccf) => throw new NotImplementedException(); int TryGetHashCode(TargetPointer address) => throw new NotImplementedException(); // Returns the SyncBlock address for the object, or TargetPointer.Null if no sync block is associated with it. TargetPointer GetSyncBlockAddress(TargetPointer address) => throw new NotImplementedException(); DelegateInfo GetDelegateInfo(TargetPointer address) => throw new NotImplementedException(); ContinuationInfo GetContinuationInfo(TargetPointer address) => throw new NotImplementedException(); ulong GetSize(TargetPointer address) => throw new NotImplementedException(); void GetStringData(TargetPointer address, out uint length, out uint offsetToFirstChar) => throw new NotImplementedException(); } public readonly struct Object : IObject { // Everything throws NotImplementedException }