File: VisualBasicResultProviderTestBase.vb
Web Access
Project: ..\..\..\src\ExpressionEvaluator\VisualBasic\Test\ResultProvider\Microsoft.CodeAnalysis.VisualBasic.ResultProvider.UnitTests.vbproj (Microsoft.CodeAnalysis.VisualBasic.ExpressionEvaluator.ResultProvider.UnitTests)
' 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.
 
Imports System.Collections.Immutable
Imports System.Reflection
Imports Microsoft.CodeAnalysis.ExpressionEvaluator
Imports Microsoft.CodeAnalysis.Test.Utilities
Imports Microsoft.CodeAnalysis.VisualBasic.UnitTests
Imports Microsoft.VisualStudio.Debugger.ComponentInterfaces
Imports Microsoft.VisualStudio.Debugger.Evaluation
 
Namespace Microsoft.CodeAnalysis.VisualBasic.ExpressionEvaluator.UnitTests
 
    Public MustInherit Class VisualBasicResultProviderTestBase : Inherits ResultProviderTestBase
 
        Public Sub New()
            MyClass.New(New VisualBasicFormatter())
        End Sub
 
        Private Sub New(formatter As VisualBasicFormatter)
            MyClass.New(New DkmInspectionSession(ImmutableArray.Create(Of IDkmClrFormatter)(formatter), ImmutableArray.Create(Of IDkmClrResultProvider)(New VisualBasicResultProvider(formatter, formatter))))
        End Sub
 
        Private Sub New(inspectionSession As DkmInspectionSession)
            MyBase.New(inspectionSession, CreateDkmInspectionContext(inspectionSession, DkmEvaluationFlags.None, radix:=10))
        End Sub
 
        Protected Shared Function GetAssembly(source As String) As Assembly
            Dim comp = CompilationUtils.CreateCompilationWithMscorlib40({source}, options:=TestOptions.ReleaseDll)
            Return ReflectionUtilities.Load(comp.EmitToArray())
        End Function
 
        Protected Shared Function GetAssemblyFromIL(ilSource As String) As Assembly
            Dim ilImage As ImmutableArray(Of Byte) = Nothing
            Dim comp = CompilationUtils.CreateCompilationWithCustomILSource(sources:=<compilation/>, ilSource:=ilSource, options:=TestOptions.ReleaseDll, ilImage:=ilImage)
            Return ReflectionUtilities.Load(ilImage)
        End Function
 
        Protected Shared Function PointerToString(pointer As IntPtr) As String
            If Environment.Is64BitProcess Then
                Return String.Format("&H{0:X16}", pointer.ToInt64())
            Else
                Return String.Format("&H{0:X8}", pointer.ToInt32())
            End If
        End Function
    End Class
 
End Namespace