diff --git a/src/Compilers/CSharp/Test/Emit/CodeGen/CodeGenInterpolatedString.cs b/src/Compilers/CSharp/Test/Emit/CodeGen/CodeGenInterpolatedString.cs index 898634261a7d..cb9de86330ed 100644 --- a/src/Compilers/CSharp/Test/Emit/CodeGen/CodeGenInterpolatedString.cs +++ b/src/Compilers/CSharp/Test/Emit/CodeGen/CodeGenInterpolatedString.cs @@ -4,6 +4,7 @@ #nullable disable +using System; using System.Linq; using Microsoft.CodeAnalysis.CSharp.Syntax; using Microsoft.CodeAnalysis.CSharp.Test.Utilities; @@ -314,6 +315,7 @@ static void Main() [Fact] public void ExpressionsAreNotOptimized2() { + string toObject = Environment.Version.Major > 4 ? ", Object" : ""; var source = @" using System; using System.Linq.Expressions; @@ -329,7 +331,7 @@ static void Main() } } "; - var comp = CompileAndVerify(source, expectedOutput: @"a => Format(""a: {0} c: {1} f: {2}"", a, Convert(c, Object), ""f"")"); + var comp = CompileAndVerify(source, expectedOutput: @"a => Format(""a: {0} c: {1} f: {2}"", a, Convert(c" + toObject + @"), ""f"")"); comp.VerifyDiagnostics(); } diff --git a/src/Compilers/CSharp/Test/Semantic/Semantics/InterpolationTests.cs b/src/Compilers/CSharp/Test/Semantic/Semantics/InterpolationTests.cs index 4becf00a0a05..313ffdf8e2d4 100644 --- a/src/Compilers/CSharp/Test/Semantic/Semantics/InterpolationTests.cs +++ b/src/Compilers/CSharp/Test/Semantic/Semantics/InterpolationTests.cs @@ -4,6 +4,7 @@ #nullable disable +using System; using System.Collections.Immutable; using System.Linq; using Microsoft.CodeAnalysis.CSharp.Symbols; @@ -13546,19 +13547,22 @@ .locals init (System.Linq.Expressions.ParameterExpression V_0) [Fact, WorkItem(72308, "https://github.com/dotnet/roslyn/issues/72308")] public void AsStringInExpressionTrees_06() { + var toObject = Environment.Version.Major > 4 ? ", Object" : ""; var code = @" using System; using System.Linq.Expressions; const char sp = ' '; -Expression> e = o => $""{o}l{sp}{nameof(sp)}"";"; +Expression> e = o => $""{o}l{sp}{nameof(sp)}""; +Console.Write(e);"; var comp = CreateCompilation(new[] { code, GetInterpolatedStringHandlerDefinition(includeSpanOverloads: false, useDefaultParameters: false, useBoolReturns: false) }); - var verifier = CompileAndVerify(comp); + var verifier = CompileAndVerify(comp, expectedOutput: @"o => Format(""{0}l{1}{2}"", o, Convert( " + toObject + @"), ""sp"") +"); verifier.VerifyDiagnostics(); verifier.VerifyIL("", @" { - // Code size 155 (0x9b) + // Code size 159 (0x9f) .maxstack 7 .locals init (System.Linq.Expressions.ParameterExpression V_0) IL_0000: ldtoken ""string"" @@ -13609,8 +13613,8 @@ .locals init (System.Linq.Expressions.ParameterExpression V_0) IL_0092: ldloc.0 IL_0093: stelem.ref IL_0094: call ""System.Linq.Expressions.Expression> System.Linq.Expressions.Expression.Lambda>(System.Linq.Expressions.Expression, params System.Linq.Expressions.ParameterExpression[])"" - IL_0099: pop - IL_009a: ret + IL_0099: call ""void System.Console.Write(object)"" + IL_009e: ret } "); }