Browse Source

Add tests for C# 9.0 lambda parameter discards

pull/2113/head
Siegfried Pammer 5 years ago
parent
commit
2403548ce3
  1. 7
      ICSharpCode.Decompiler.Tests/Helpers/Tester.cs
  2. 2
      ICSharpCode.Decompiler.Tests/PrettyTestRunner.cs
  3. 12
      ICSharpCode.Decompiler.Tests/TestCases/Pretty/DelegateConstruction.cs

7
ICSharpCode.Decompiler.Tests/Helpers/Tester.cs

@ -251,15 +251,16 @@ namespace ICSharpCode.Decompiler.Tests.Helpers @@ -251,15 +251,16 @@ namespace ICSharpCode.Decompiler.Tests.Helpers
preprocessorSymbols.Add("VB11");
preprocessorSymbols.Add("VB14");
preprocessorSymbols.Add("VB15");
if (flags.HasFlag(CompilerOptions.Preview)) {
preprocessorSymbols.Add("CS90");
}
} else if (flags.HasFlag(CompilerOptions.UseMcs)) {
preprocessorSymbols.Add("MCS");
} else {
preprocessorSymbols.Add("LEGACY_CSC");
preprocessorSymbols.Add("LEGACY_VBC");
}
if (flags.HasFlag(CompilerOptions.Preview)) {
preprocessorSymbols.Add("CS90");
}
return preprocessorSymbols;
}

2
ICSharpCode.Decompiler.Tests/PrettyTestRunner.cs

@ -155,7 +155,7 @@ namespace ICSharpCode.Decompiler.Tests @@ -155,7 +155,7 @@ namespace ICSharpCode.Decompiler.Tests
[Test]
public void DelegateConstruction([ValueSource(nameof(defaultOptionsWithMcs))] CompilerOptions cscOptions)
{
RunForLibrary(cscOptions: cscOptions);
RunForLibrary(cscOptions: cscOptions | CompilerOptions.Preview);
}
[Test]

12
ICSharpCode.Decompiler.Tests/TestCases/Pretty/DelegateConstruction.cs

@ -428,6 +428,18 @@ namespace ICSharpCode.Decompiler.Tests.TestCases.Pretty @@ -428,6 +428,18 @@ namespace ICSharpCode.Decompiler.Tests.TestCases.Pretty
return () => valueTuple.RenamedString;
}
#endif
public static Func<T, T> Identity<T>()
{
return (T _) => _;
}
#if CS90
public static Func<int, int, int, int> LambdaParameterDiscard()
{
return (int _, int _, int _) => 0;
}
#endif
}
public class Issue1867

Loading…
Cancel
Save