File: Debugger\Engine\DkmInspectionContext.cs
Web Access
Project: src\src\ExpressionEvaluator\Core\Test\ResultProvider\Microsoft.CodeAnalysis.ResultProvider.Utilities.csproj (Microsoft.CodeAnalysis.ExpressionEvaluator.ResultProvider.Utilities)
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
 
#nullable disable
 
#region Assembly Microsoft.VisualStudio.Debugger.Engine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
// References\Debugger\v2.0\Microsoft.VisualStudio.Debugger.Engine.dll
#endregion
 
using System;
using System.Collections.ObjectModel;
using System.Runtime.InteropServices;
using Microsoft.VisualStudio.Debugger.Clr;
using Microsoft.VisualStudio.Debugger.Evaluation.ClrCompilation;
 
namespace Microsoft.VisualStudio.Debugger.Evaluation
{
    //
    // Summary:
    //     Options and target context to use while performing the inspection operation.
    [Guid("0807c826-3338-dd99-2f3a-202ba8fb9da7")]
    public class DkmInspectionContext
    {
        public static DkmInspectionContext Create(
            DkmInspectionSession InspectionSession,
            DkmRuntimeInstance RuntimeInstance,
            DkmThread Thread,
            uint Timeout,
            DkmEvaluationFlags EvaluationFlags,
            DkmFuncEvalFlags FuncEvalFlags,
            uint Radix,
            DkmLanguage Language,
            DkmRawReturnValue ReturnValue,
            DkmCompiledVisualizationData AdditionalVisualizationData,
            DkmCompiledVisualizationDataPriority AdditionalVisualizationDataPriority,
            ReadOnlyCollection<DkmRawReturnValueContainer> ReturnValues)
        {
            return new DkmInspectionContext(InspectionSession, EvaluationFlags, Radix, RuntimeInstance);
        }
 
        internal DkmInspectionContext(DkmInspectionSession inspectionSession, DkmEvaluationFlags evaluationFlags, uint radix, DkmRuntimeInstance runtimeInstance)
        {
            this.InspectionSession = inspectionSession;
            this.EvaluationFlags = evaluationFlags;
            this.Radix = radix;
            this.RuntimeInstance = runtimeInstance ?? DkmClrRuntimeInstance.DefaultRuntime;
        }
 
        public readonly DkmInspectionSession InspectionSession;
        public readonly DkmRuntimeInstance RuntimeInstance;
        public readonly DkmThread Thread;
        public readonly uint Timeout;
        public readonly DkmEvaluationFlags EvaluationFlags;
        public readonly DkmFuncEvalFlags FuncEvalFlags;
        public readonly uint Radix;
        public readonly DkmLanguage Language;
        public readonly DkmRawReturnValue ReturnValue;
        public readonly DkmCompiledVisualizationData AdditionalVisualizationData;
        public readonly DkmCompiledVisualizationDataPriority AdditionalVisualizationDataPriority;
        public readonly ReadOnlyCollection<DkmRawReturnValueContainer> ReturnValues;
 
        public string GetTypeName(DkmClrType ClrType, DkmClrCustomTypeInfo CustomTypeInfo, ReadOnlyCollection<string> FormatSpecifiers)
        {
            return InspectionSession.InvokeFormatter(this, MethodId.GetTypeName, f => f.GetTypeName(this, ClrType, CustomTypeInfo, FormatSpecifiers));
        }
 
        public DkmInspectionContext WithProperties(uint Timeout, DkmEvaluationFlags EvaluationFlags, DkmFuncEvalFlags FuncEvalFlags, uint Radix)
        {
            return new DkmInspectionContext(
                this.InspectionSession,
                EvaluationFlags,
                Radix,
                this.RuntimeInstance);
        }
    }
 
    public enum DkmFuncEvalFlags
    {
    }
 
    public class DkmRawReturnValue
    {
    }
 
    public class DkmCompiledVisualizationData
    {
    }
 
    public class DkmCompiledVisualizationDataPriority
    {
    }
 
    public class DkmRawReturnValueContainer
    {
    }
}