File: DataType.cs
Web Access
Project: src\src\runtime\src\native\managed\cdac\Microsoft.Diagnostics.DataContractReader.Contracts\Microsoft.Diagnostics.DataContractReader.Contracts.csproj (Microsoft.Diagnostics.DataContractReader.Contracts)
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.

namespace Microsoft.Diagnostics.DataContractReader;

public enum DataType
{
    Unknown = 0,

    int8,
    uint8,
    int16,
    uint16,
    int32,
    uint32,
    int64,
    uint64,
    nint,
    nuint,
    pointer,

    /* VM Data Types */

    ObjectHandle,
    JITNotification,
    CodePointer,
    Thread,
    ThreadStore,
    ThreadLocalData,
    ThreadStaticsInfo,
    InFlightTLSData,
    TLSIndex,
    GCAllocContext,
    EEAllocContext,
    Exception,
    ExceptionInfo,
    EEExceptionClause,
    ExceptionLookupTableEntry,
    EEILException,
    R2RExceptionClause,
    RuntimeThreadLocals,
    IdDispenser,
    Module,
    ModuleLookupMap,
    AppDomain,
    Debugger,
    DebuggerRCThread,
    SystemDomain,
    Assembly,
    LoaderAllocator,
    LoaderHeap,
    LoaderHeapBlock,
    PEAssembly,
    AssemblyBinder,
    PEImage,
    PEImageLayout,
    WebcilHeader,
    WebcilSectionHeader,
    CGrowableSymbolStream,
    ProbeExtensionResult,
    MethodTable,
    DynamicStaticsInfo,
    EEClass,
    CoreLibBinder,
    MethodTableAuxiliaryData,
    GenericsDictInfo,
    TypeDesc,
    ParamTypeDesc,
    TypeVarTypeDesc,
    FnPtrTypeDesc,
    FieldDesc,
    DynamicMetadata,
    StressLog,
    StressLogModuleDesc,
    StressLogHeader,
    ThreadStressLog,
    StressLogChunk,
    StressMsg,
    StressMsgHeader,
    Object,
    ContinuationObject,
    NativeObjectWrapperObject,
    ManagedObjectWrapperHolderObject,
    ManagedObjectWrapperLayout,
    ComWrappersVtablePtrs,
    String,
    MethodDesc,
    MethodDescChunk,
    MethodDescCodeData,
    PlatformMetadata,
    PrecodeMachineDescriptor,
    StubPrecodeData,
    FixupPrecodeData,
    ThisPtrRetBufPrecodeData,
    InterpreterPrecodeData,
    InterpByteCodeStart,
    InterpMethod,
    InterpMethodContextFrame,
    Array,
    SyncBlock,
    SyncTableEntry,
    ObjectHeader,
    InteropSyncBlockInfo,
    SyncBlockCache,
    InstantiatedMethodDesc,
    DynamicMethodDesc,
    StoredSigMethodDesc,
    ArrayMethodDesc,
    FCallMethodDesc,
    PInvokeMethodDesc,
    EEImplMethodDesc,
    CLRToCOMCallMethodDesc,
    RangeSectionMap,
    RangeSectionFragment,
    RangeSection,
    RealCodeHeader,
    InterpreterRealCodeHeader,
    CodeHeapListNode,
    CodeHeap,
    LoaderCodeHeap,
    HostCodeHeap,
    MethodDescVersioningState,
    ILCodeVersioningState,
    NativeCodeVersionNode,
    ProfControlBlock,
    ILCodeVersionNode,
    ReadyToRunInfo,
    ReadyToRunHeader,
    ReadyToRunSection,
    ReadyToRunCoreHeader,
    ReadyToRunCoreInfo,
    ImageDataDirectory,
    RuntimeFunction,
    HashMap,
    Bucket,
    UnwindInfo,
    UnwindCode,
    NonVtableSlot,
    MethodImpl,
    NativeCodeSlot,
    AsyncMethodData,
    GCCoverageInfo,
    ArrayListBase,
    ArrayListBlock,
    EETypeHashTable,
    InstMethodHashTable,
    DynamicILBlobTable,
    EEJitManager,
    PatchpointInfo,
    PortableEntryPoint,
    VirtualCallStubManager,
    EEConfig,

    TransitionBlock,
    DebuggerEval,
    ArgumentRegisters,
    CalleeSavedRegisters,
    HijackArgs,

    Frame,
    InlinedCallFrame,
    SoftwareExceptionFrame,
    FramedMethodFrame,
    FuncEvalFrame,
    ResumableFrame,
    FaultingExceptionFrame,
    HijackFrame,
    TailCallFrame,
    StubDispatchFrame,
    ExternalMethodFrame,
    DynamicHelperFrame,
    InterpreterFrame,

    ComCallWrapper,
    SimpleComCallWrapper,
    ComMethodTable,
    RCWCleanupList,
    RCW,
    CtxEntry,
    InterfaceEntry,
    ComInterfaceEntry,
    InternalComInterfaceDispatch,
    AuxiliarySymbolInfo,
    VASigCookie,
    CodeRangeMapRangeList,

    /* GC Data Types */

    GCHeap,
    Generation,
    CFinalize,
    HeapSegment,
    OomHistory,
    HandleTableMap,
    HandleTableBucket,
    HandleTable,
    TableSegment,
    CardTableInfo,
    RegionFreeList,
}

public static class DataTypeTargetExtensions
{
    public static Target.TypeInfo GetTypeInfo(this Target target, DataType type)
        => target.GetTypeInfo(type.ToString());
}