diff --git a/src/Compilers/Test/Utilities/VisualBasic/BasicTestBase.vb b/src/Compilers/Test/Utilities/VisualBasic/BasicTestBase.vb index cae11cfc1c936546b8d05eb4613c367b415e0fc2..22d1305c25521743514c725ddf3f012f0f3a5f07 100644 --- a/src/Compilers/Test/Utilities/VisualBasic/BasicTestBase.vb +++ b/src/Compilers/Test/Utilities/VisualBasic/BasicTestBase.vb @@ -799,8 +799,13 @@ Public MustInherit Class BasicTestBase Dim fileName = "a.vb" Dim syntaxTree = Parse(source, fileName, parseOptions) - Dim defaultRefs = If(useLatestFrameworkReferences, LatestVbReferences, DefaultVbReferences) - Dim compilation = CreateCompilationWithMscorlib45AndVBRuntime({syntaxTree}, references:=defaultRefs.Append({ValueTupleRef, SystemRuntimeFacadeRef}), options:=If(compilationOptions, TestOptions.ReleaseDll)) + Dim allReferences As IEnumerable(Of MetadataReference) + If useLatestFrameworkReferences Then + allReferences = TargetFrameworkUtil.Mscorlib45ExtendedReferences.Add(TestBase.MsvbRef_v4_0_30319_17929) + Else + allReferences = TargetFrameworkUtil.Mscorlib45ExtendedReferences.Add(TestBase.MsvbRef) + End If + Dim compilation = CreateEmptyCompilation({syntaxTree}, references:=allReferences, options:=If(compilationOptions, TestOptions.ReleaseDll)) Dim operationTree = GetOperationTreeForTest(Of TSyntaxNode)(compilation, fileName, which) Return (operationTree.tree, operationTree.syntax, operationTree.operation, compilation) End Function @@ -858,10 +863,15 @@ Public MustInherit Class BasicTestBase Dim fileName = "a.vb" Dim syntaxTree = Parse(source, fileName, parseOptions) - Dim defaultRefs = If(useLatestFramework, LatestVbReferences, DefaultVbReferences) - Dim allReferences = defaultRefs.Concat({ValueTupleRef, SystemRuntimeFacadeRef}) + Dim allReferences As IEnumerable(Of MetadataReference) = Nothing + If useLatestFramework Then + allReferences = TargetFrameworkUtil.Mscorlib45ExtendedReferences.Add(TestBase.MsvbRef_v4_0_30319_17929) + Else + allReferences = TargetFrameworkUtil.Mscorlib45ExtendedReferences.Add(TestBase.MsvbRef) + End If + allReferences = If(references IsNot Nothing, allReferences.Concat(references), allReferences) - Dim compilation = CreateCompilationWithMscorlib45AndVBRuntime({syntaxTree}, references:=allReferences, options:=If(compilationOptions, TestOptions.ReleaseDll)) + Dim compilation = CreateEmptyCompilation({syntaxTree}, references:=allReferences, options:=If(compilationOptions, TestOptions.ReleaseDll)) VerifyOperationTreeAndDiagnosticsForTest(Of TSyntaxNode)(compilation, fileName, expectedOperationTree, expectedDiagnostics, which, additionalOperationTreeVerifier) End Sub diff --git a/src/Compilers/Test/Utilities/VisualBasic/BasicTestSource.vb b/src/Compilers/Test/Utilities/VisualBasic/BasicTestSource.vb index 8da7a43a975f759ae810cb9da27822a529021088..4128c3510e04772494b9eb3d94a688de280adcca 100644 --- a/src/Compilers/Test/Utilities/VisualBasic/BasicTestSource.vb +++ b/src/Compilers/Test/Utilities/VisualBasic/BasicTestSource.vb @@ -33,7 +33,7 @@ Public Structure BasicTestSource Dim sources = TryCast(Value, String()) If sources IsNot Nothing Then - Return source.Select(Function(s) VisualBasicSyntaxTree.ParseText(s, parseOptions)).ToArray() + Return sources.Select(Function(s) VisualBasicSyntaxTree.ParseText(s, parseOptions)).ToArray() End If Dim tree = TryCast(Value, SyntaxTree) diff --git a/src/Compilers/VisualBasic/Test/Semantic/IOperation/IOperationTests.vb b/src/Compilers/VisualBasic/Test/Semantic/IOperation/IOperationTests.vb index 2956cbbe704815e97769ff3660a11942f79d6d65..f9a32561fe974eaddb33bf44f5e32b7dbae20cbe 100644 --- a/src/Compilers/VisualBasic/Test/Semantic/IOperation/IOperationTests.vb +++ b/src/Compilers/VisualBasic/Test/Semantic/IOperation/IOperationTests.vb @@ -522,7 +522,7 @@ BC30518: Overload resolution failed because no accessible 'P1' can be called wit Dim fileName = "a.vb" Dim syntaxTree = Parse(sourceCode, fileName, options:=Nothing) - Dim compilation = CreateCompilationWithMscorlib45AndVBRuntime({syntaxTree}, DefaultVbReferences.Concat({ValueTupleRef, SystemRuntimeFacadeRef})) + Dim compilation = CreateEmptyCompilation({syntaxTree}, DefaultVbReferences.Concat({ValueTupleRef, SystemRuntimeFacadeRef})) Dim tree = (From t In compilation.SyntaxTrees Where t.FilePath = fileName).Single() Dim model = compilation.GetSemanticModel(tree) @@ -537,7 +537,7 @@ BC30518: Overload resolution failed because no accessible 'P1' can be called wit Dim fileName = "a.vb" Dim syntaxTree = Parse(sourceCode, fileName, options:=Nothing) - Dim compilation = CreateCompilationWithMscorlib45AndVBRuntime({syntaxTree}, DefaultVbReferences.Concat({ValueTupleRef, SystemRuntimeFacadeRef})) + Dim compilation = CreateEmptyCompilation({syntaxTree}, DefaultVbReferences.Concat({ValueTupleRef, SystemRuntimeFacadeRef})) Dim tree = (From t In compilation.SyntaxTrees Where t.FilePath = fileName).Single() Dim model = compilation.GetSemanticModel(tree) diff --git a/src/Compilers/VisualBasic/Test/Semantic/IOperation/IOperationTests_IArgument.vb b/src/Compilers/VisualBasic/Test/Semantic/IOperation/IOperationTests_IArgument.vb index cb958f1c4e5226849b85669205e0a345ff6e8859..f7dbceda700974fb8a32de19ba9ebf163582e777 100644 --- a/src/Compilers/VisualBasic/Test/Semantic/IOperation/IOperationTests_IArgument.vb +++ b/src/Compilers/VisualBasic/Test/Semantic/IOperation/IOperationTests_IArgument.vb @@ -1077,7 +1077,7 @@ End Class]]>.Value Dim fileName = "a.vb" Dim syntaxTree = Parse(source, fileName, options:=Nothing) - Dim compilation = CreateCompilationWithMscorlib45AndVBRuntime({syntaxTree}, DefaultVbReferences.Concat({ValueTupleRef, SystemRuntimeFacadeRef})) + Dim compilation = CreateEmptyCompilation({syntaxTree}, DefaultVbReferences.Concat({ValueTupleRef, SystemRuntimeFacadeRef})) Dim result = GetOperationAndSyntaxForTest(Of InvocationExpressionSyntax)(compilation, fileName) Dim expectedInKind = ConversionKind.Widening Or ConversionKind.UserDefined @@ -1131,7 +1131,7 @@ End Class]]>.Value Dim fileName = "a.vb" Dim syntaxTree = Parse(source, fileName, options:=Nothing) - Dim compilation = CreateCompilationWithMscorlib45AndVBRuntime({syntaxTree}, DefaultVbReferences.Concat({ValueTupleRef, SystemRuntimeFacadeRef})) + Dim compilation = CreateEmptyCompilation({syntaxTree}, DefaultVbReferences.Concat({ValueTupleRef, SystemRuntimeFacadeRef})) Dim tree = (From t In compilation.SyntaxTrees Where t.FilePath = fileName).Single() Dim model = compilation.GetSemanticModel(tree) diff --git a/src/Compilers/VisualBasic/Test/Semantic/IOperation/IOperationTests_IBinaryOperatorExpression.vb b/src/Compilers/VisualBasic/Test/Semantic/IOperation/IOperationTests_IBinaryOperatorExpression.vb index def121eb50a737551eca0a90c527f07b0e948dba..6e6a91b1609f71fa173919bb3d12500b93e3a3ce 100644 --- a/src/Compilers/VisualBasic/Test/Semantic/IOperation/IOperationTests_IBinaryOperatorExpression.vb +++ b/src/Compilers/VisualBasic/Test/Semantic/IOperation/IOperationTests_IBinaryOperatorExpression.vb @@ -993,7 +993,7 @@ IBlockOperation (26 statements, 3 locals) (OperationKind.Block, Type: null) (Syn Dim fileName = "a.vb" Dim syntaxTree = Parse(source, fileName) Dim references = DefaultVbReferences.Concat({ValueTupleRef, SystemRuntimeFacadeRef}) - Dim compilation = CreateCompilationWithMscorlib45AndVBRuntime({syntaxTree}, references:=references, options:=TestOptions.ReleaseDll.WithOverflowChecks(False)) + Dim compilation = CreateEmptyCompilation({syntaxTree}, references:=references, options:=TestOptions.ReleaseDll.WithOverflowChecks(False)) VerifyOperationTreeAndDiagnosticsForTest(Of MethodBlockSyntax)(compilation, fileName, expectedOperationTree, expectedDiagnostics) End Sub @@ -1442,7 +1442,7 @@ IBlockOperation (12 statements, 2 locals) (OperationKind.Block, Type: null) (Syn Dim fileName = "a.vb" Dim syntaxTree = Parse(source, fileName) Dim references = DefaultVbReferences.Concat({ValueTupleRef, SystemRuntimeFacadeRef}) - Dim compilation = CreateCompilationWithMscorlib45AndVBRuntime({syntaxTree}, references:=references, options:=TestOptions.ReleaseDll.WithOverflowChecks(False)) + Dim compilation = CreateEmptyCompilation({syntaxTree}, references:=references, options:=TestOptions.ReleaseDll.WithOverflowChecks(False)) VerifyOperationTreeAndDiagnosticsForTest(Of MethodBlockSyntax)(compilation, fileName, expectedOperationTree, expectedDiagnostics) End Sub diff --git a/src/Compilers/VisualBasic/Test/Semantic/IOperation/IOperationTests_IUnaryOperatorExpression.vb b/src/Compilers/VisualBasic/Test/Semantic/IOperation/IOperationTests_IUnaryOperatorExpression.vb index 7423707b41244ed4a6034a15b42124d70724141d..29fc0f437873d6e9ae12abf113ae287df6c26249 100644 --- a/src/Compilers/VisualBasic/Test/Semantic/IOperation/IOperationTests_IUnaryOperatorExpression.vb +++ b/src/Compilers/VisualBasic/Test/Semantic/IOperation/IOperationTests_IUnaryOperatorExpression.vb @@ -2131,7 +2131,7 @@ IUnaryOperation (UnaryOperatorKind.Minus, IsLifted) (OperationKind.UnaryOperator Dim fileName = "a.vb" Dim syntaxTree = Parse(source, fileName) Dim references = DefaultVbReferences.Concat({ValueTupleRef, SystemRuntimeFacadeRef}) - Dim compilation = CreateCompilationWithMscorlib45AndVBRuntime({syntaxTree}, references:=references, options:=TestOptions.ReleaseDll.WithOverflowChecks(False)) + Dim compilation = CreateEmptyCompilation({syntaxTree}, references:=references, options:=TestOptions.ReleaseDll.WithOverflowChecks(False)) VerifyOperationTreeAndDiagnosticsForTest(Of UnaryExpressionSyntax)(compilation, fileName, expectedOperationTree, expectedDiagnostics) End Sub @@ -2158,7 +2158,7 @@ IUnaryOperation (UnaryOperatorKind.Minus) (OperationKind.UnaryOperator, Type: Sy Dim fileName = "a.vb" Dim syntaxTree = Parse(source, fileName) Dim references = DefaultVbReferences.Concat({ValueTupleRef, SystemRuntimeFacadeRef}) - Dim compilation = CreateCompilationWithMscorlib45AndVBRuntime({syntaxTree}, references:=references, options:=TestOptions.ReleaseDll.WithOverflowChecks(False)) + Dim compilation = CreateEmptyCompilation({syntaxTree}, references:=references, options:=TestOptions.ReleaseDll.WithOverflowChecks(False)) VerifyOperationTreeAndDiagnosticsForTest(Of UnaryExpressionSyntax)(compilation, fileName, expectedOperationTree, expectedDiagnostics) End Sub diff --git a/src/Compilers/VisualBasic/Test/Semantic/Semantics/ScriptSemanticsTests.vb b/src/Compilers/VisualBasic/Test/Semantic/Semantics/ScriptSemanticsTests.vb index dc2eb37ff93d7bc13f1e93a01bd55aa764f60aae..79dc8b0a8d2bb320f20d97fa40377ae22e16a809 100644 --- a/src/Compilers/VisualBasic/Test/Semantic/Semantics/ScriptSemanticsTests.vb +++ b/src/Compilers/VisualBasic/Test/Semantic/Semantics/ScriptSemanticsTests.vb @@ -38,7 +38,7 @@ F(Function() Dim code = "System.Console.WriteLine(1)" Dim compilationUnit = VisualBasic.SyntaxFactory.ParseCompilationUnit(code, options:=New VisualBasicParseOptions(kind:=SourceCodeKind.Script)) Dim syntaxTree = compilationUnit.SyntaxTree - Dim compilation = CreateCompilationWithMscorlib45({syntaxTree}, assemblyName:="Errors_01") + Dim compilation = CreateCompilationWithMscorlib45({syntaxTree}, assemblyName:="Errors_01", options:=TestOptions.ReleaseExe) Dim semanticModel = compilation.GetSemanticModel(syntaxTree, True) Dim node5 As MemberAccessExpressionSyntax = ErrorTestsGetNode(syntaxTree) Assert.Equal("WriteLine", node5.Name.ToString()) @@ -69,7 +69,7 @@ System.Console.WriteLine(1) ) syntaxTree = SyntaxFactory.ParseSyntaxTree(code, options:=New VisualBasicParseOptions(kind:=SourceCodeKind.Script)) - compilation = CreateCompilationWithMscorlib45AndVBRuntime({syntaxTree}) + compilation = CreateCompilationWithMscorlib45AndVBRuntime({syntaxTree}, options:=TestOptions.ReleaseExe) semanticModel = compilation.GetSemanticModel(syntaxTree, True) node5 = ErrorTestsGetNode(syntaxTree) Assert.Equal("WriteLine", node5.Name.ToString()) diff --git a/src/ExpressionEvaluator/VisualBasic/Test/ExpressionCompiler/WinMdTests.vb b/src/ExpressionEvaluator/VisualBasic/Test/ExpressionCompiler/WinMdTests.vb index a5880fc2323595bfaf0e3b6ba4dc712f48977adb..b9ca89212fd413ccd1aee0cc46d60d55d04a4473 100644 --- a/src/ExpressionEvaluator/VisualBasic/Test/ExpressionCompiler/WinMdTests.vb +++ b/src/ExpressionEvaluator/VisualBasic/Test/ExpressionCompiler/WinMdTests.vb @@ -116,7 +116,7 @@ End Class" Shared Sub M(a As LibraryA.A, b As LibraryB.B, t As Windows.Data.Text.TextSegment, f As Windows.Storage.StorageFolder) End Sub End Class" - Dim c0 = CreateCompilationWithMscorlib40({source}, compileReferences, TestOptions.DebugDll) + Dim c0 = CreateEmptyCompilation({source}, compileReferences, TestOptions.DebugDll) WithRuntimeInstance(c0, runtimeReferences, Sub(runtime) Dim context = CreateMethodContext(runtime, "C.M") diff --git a/src/Test/Utilities/Portable/TargetFrameworkUtil.cs b/src/Test/Utilities/Portable/TargetFrameworkUtil.cs index 3ede115edeb22e2042d2a960268144285d56ec28..e8b6678ca503411e7fb5a8f5e8fd979cbb6ac21f 100644 --- a/src/Test/Utilities/Portable/TargetFrameworkUtil.cs +++ b/src/Test/Utilities/Portable/TargetFrameworkUtil.cs @@ -67,8 +67,8 @@ public static class TargetFrameworkUtil public static ImmutableArray Mscorlib40andSystemCoreReferences => ImmutableArray.Create(TestBase.MscorlibRef, TestBase.SystemCoreRef); public static ImmutableArray Mscorlib40andVBRuntimeReferences => ImmutableArray.Create(TestBase.MscorlibRef, TestBase.SystemRef, TestBase.MsvbRef); public static ImmutableArray Mscorlib45References => ImmutableArray.Create(TestBase.MscorlibRef_v4_0_30316_17626); - public static ImmutableArray Mscorlib45ExtendedReferences => ImmutableArray.Create(TestBase.MscorlibRef_v4_0_30316_17626, TestBase.SystemRef, TestBase.SystemCoreRef, TestBase.ValueTupleRef, TestBase.SystemRuntimeFacadeRef); - public static ImmutableArray Mscorlib45AndCSharpReferences => ImmutableArray.Create(TestBase.MscorlibRef_v4_0_30316_17626, TestBase.SystemCoreRef, TestBase.CSharpRef); + public static ImmutableArray Mscorlib45ExtendedReferences => ImmutableArray.Create(TestBase.MscorlibRef_v4_0_30316_17626, TestBase.SystemRef, TestBase.SystemCoreRef_v4_0_30319_17929, TestBase.ValueTupleRef, TestBase.SystemRuntimeFacadeRef); + public static ImmutableArray Mscorlib45AndCSharpReferences => ImmutableArray.Create(TestBase.MscorlibRef_v4_0_30316_17626, TestBase.SystemCoreRef_v4_0_30319_17929, TestBase.CSharpRef); public static ImmutableArray Mscorlib45AndVBRuntimeReferences => ImmutableArray.Create(TestBase.MscorlibRef_v4_0_30316_17626, TestBase.SystemRef, TestBase.MsvbRef_v4_0_30319_17929); public static ImmutableArray Mscorlib46References => ImmutableArray.Create(TestBase.MscorlibRef_v46); public static ImmutableArray Mscorlib46ExtendedReferences => ImmutableArray.Create(TestBase.MscorlibRef_v46, TestBase.SystemRef_v46, TestBase.SystemCoreRef_v46, TestBase.ValueTupleRef, TestBase.SystemRuntimeFacadeRef);