@@ -186,7 +186,7 @@ Public MustInherit Class BasicTestBase
186186
187187 Dim assemblyName As String = Nothing
188188 Dim sourceTrees = ParseSourceXml(source, parseOptions, assemblyName)
189- Dim compilation = CreateEmptyCompilation(sourceTrees, allReferences, options, assemblyName)
189+ Dim compilation = CreateEmptyCompilation(sourceTrees.ToArray() , allReferences, options, assemblyName:= assemblyName)
190190
191191 Return MyBase .CompileAndVerifyCommon(
192192 compilation,
@@ -225,7 +225,7 @@ Public MustInherit Class BasicTestBase
225225 options = If (expectedOutput Is Nothing , TestOptions.ReleaseDll, TestOptions.ReleaseExe)
226226 End If
227227
228- Dim compilation = CreateEmptyCompilation(source, allReferences, options, assemblyName, parseOptions )
228+ Dim compilation = CreateEmptyCompilation(source, allReferences, options, parseOptions, assemblyName )
229229
230230 Return MyBase .CompileAndVerifyCommon(
231231 compilation,
@@ -357,8 +357,7 @@ Public MustInherit Class BasicTestBase
357357 ''' </file>
358358 ''' </compilation>
359359 ''' </param>
360- Friend Function CompileWithCustomILSource(source As XElement,
361- ilSource As String ,
360+ Friend Function CompileWithCustomILSource(source As XElement, ilSource As String ,
362361 Optional options As VisualBasicCompilationOptions = Nothing ,
363362 Optional compilationVerifier As Action( Of VisualBasicCompilation) = Nothing ,
364363 Optional expectedOutput As String = Nothing ) As CompilationVerifier
@@ -385,6 +384,15 @@ Public MustInherit Class BasicTestBase
385384 Return CompileAndVerify(compilation, expectedOutput:=expectedOutput)
386385 End Function
387386
387+ Friend Overloads Function CompileAndVerifyFieldMarshal(source As String ,
388+ expectedBlobs As Dictionary( Of String , Byte ()),
389+ Optional getExpectedBlob As Func( Of String , PEAssembly, Byte ()) = Nothing ,
390+ Optional expectedSignatures As SignatureDescription() = Nothing ,
391+ Optional isField As Boolean = True ) As CompilationVerifier
392+ Dim xmlSource = <compilation><field>< %= source %></field></compilation>
393+ Return CompileAndVerifyFieldMarshal(xmlSource, expectedBlobs, getExpectedBlob, expectedSignatures, isField)
394+ End Function
395+
388396 Friend Overloads Function CompileAndVerifyFieldMarshal(source As XElement,
389397 expectedBlobs As Dictionary( Of String , Byte ()),
390398 Optional getExpectedBlob As Func( Of String , PEAssembly, Byte ()) = Nothing ,
@@ -409,25 +417,6 @@ Public MustInherit Class BasicTestBase
409417 expectedSignatures:=expectedSignatures)
410418 End Function
411419
412- Protected Overrides ReadOnly Property CompilationOptionsReleaseDll As CompilationOptions
413- Get
414- Return TestOptions.ReleaseDll
415- End Get
416- End Property
417-
418- Protected Overrides Function GetCompilationForEmit(
419- source As IEnumerable( Of String ),
420- references As IEnumerable( Of MetadataReference),
421- options As CompilationOptions,
422- parseOptions As ParseOptions
423- ) As Compilation
424- Return VisualBasicCompilation.Create(
425- GetUniqueName(),
426- syntaxTrees:=source.Select( Function (t) VisualBasicSyntaxTree.ParseText(t, options:= DirectCast (parseOptions, VisualBasicParseOptions))),
427- references:= If (references IsNot Nothing , DefaultVbReferences.Concat(references), DefaultVbReferences),
428- options:= DirectCast (options, VisualBasicCompilationOptions))
429- End Function
430-
431420 Public Shared Function CreateSubmission(code As String ,
432421 Optional references As IEnumerable( Of MetadataReference) = Nothing ,
433422 Optional options As VisualBasicCompilationOptions = Nothing ,
@@ -466,7 +455,7 @@ Public MustInherit Class BasicTestBase
466455 End Function
467456
468457 Public Shared Shadows Function GetPdbXml(source As XElement, Optional options As VisualBasicCompilationOptions = Nothing , Optional methodName As String = "" ) As XElement
469- Dim compilation = CreateCompilationWithMscorlib40(source, options)
458+ Dim compilation = CreateCompilationWithMscorlib40(source, options:=options )
470459 compilation.VerifyDiagnostics()
471460 Return GetPdbXml(compilation, methodName)
472461 End Function
@@ -810,8 +799,13 @@ Public MustInherit Class BasicTestBase
810799
811800 Dim fileName = "a.vb"
812801 Dim syntaxTree = Parse(source, fileName, parseOptions)
813- Dim defaultRefs = If (useLatestFrameworkReferences, LatestVbReferences, DefaultVbReferences)
814- Dim compilation = CreateCompilationWithMscorlib45AndVBRuntime({syntaxTree}, references:=defaultRefs.Append({ValueTupleRef, SystemRuntimeFacadeRef}), options:= If (compilationOptions, TestOptions.ReleaseDll))
802+ Dim allReferences As IEnumerable( Of MetadataReference)
803+ If useLatestFrameworkReferences Then
804+ allReferences = TargetFrameworkUtil.Mscorlib45ExtendedReferences.Add(TestBase.MsvbRef_v4_0_30319_17929)
805+ Else
806+ allReferences = TargetFrameworkUtil.Mscorlib45ExtendedReferences.Add(TestBase.MsvbRef)
807+ End If
808+ Dim compilation = CreateEmptyCompilation({syntaxTree}, references:=allReferences, options:= If (compilationOptions, TestOptions.ReleaseDll))
815809 Dim operationTree = GetOperationTreeForTest( Of TSyntaxNode)(compilation, fileName, which)
816810 Return (operationTree.tree, operationTree.syntax, operationTree.operation, compilation)
817811 End Function
@@ -869,10 +863,15 @@ Public MustInherit Class BasicTestBase
869863
870864 Dim fileName = "a.vb"
871865 Dim syntaxTree = Parse(source, fileName, parseOptions)
872- Dim defaultRefs = If (useLatestFramework, LatestVbReferences, DefaultVbReferences)
873- Dim allReferences = defaultRefs.Concat({ValueTupleRef, SystemRuntimeFacadeRef})
866+ Dim allReferences As IEnumerable( Of MetadataReference) = Nothing
867+ If useLatestFramework Then
868+ allReferences = TargetFrameworkUtil.Mscorlib45ExtendedReferences.Add(TestBase.MsvbRef_v4_0_30319_17929)
869+ Else
870+ allReferences = TargetFrameworkUtil.Mscorlib45ExtendedReferences.Add(TestBase.MsvbRef)
871+ End If
872+
874873 allReferences = If (references IsNot Nothing , allReferences.Concat(references), allReferences)
875- Dim compilation = CreateCompilationWithMscorlib45AndVBRuntime ({syntaxTree}, references:=allReferences, options:= If (compilationOptions, TestOptions.ReleaseDll))
874+ Dim compilation = CreateEmptyCompilation ({syntaxTree}, references:=allReferences, options:= If (compilationOptions, TestOptions.ReleaseDll))
876875 VerifyOperationTreeAndDiagnosticsForTest( Of TSyntaxNode)(compilation, fileName, expectedOperationTree, expectedDiagnostics, which, additionalOperationTreeVerifier)
877876 End Sub
878877
0 commit comments