Skip to content

Commit ec5d8da

Browse files
Merge pull request #3715 from icsharpcode/addroslyn414
Add CompilerOptions.UseRoslyn4_14_0
2 parents 5e05d60 + 9e984a9 commit ec5d8da

48 files changed

Lines changed: 121 additions & 6799 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

ICSharpCode.Decompiler.Tests/CorrectnessTestRunner.cs

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,8 @@ public void AllFilesHaveTests()
5858
CompilerOptions.Optimize | CompilerOptions.UseRoslyn2_10_0 | CompilerOptions.TargetNet40,
5959
CompilerOptions.UseRoslyn3_11_0 | CompilerOptions.TargetNet40,
6060
CompilerOptions.Optimize | CompilerOptions.UseRoslyn3_11_0 | CompilerOptions.TargetNet40,
61+
CompilerOptions.UseRoslyn4_14_0 | CompilerOptions.TargetNet40,
62+
CompilerOptions.Optimize | CompilerOptions.UseRoslyn4_14_0 | CompilerOptions.TargetNet40,
6163
CompilerOptions.UseRoslynLatest | CompilerOptions.TargetNet40,
6264
CompilerOptions.Optimize | CompilerOptions.UseRoslynLatest | CompilerOptions.TargetNet40,
6365
CompilerOptions.UseRoslyn1_3_2,
@@ -66,6 +68,8 @@ public void AllFilesHaveTests()
6668
CompilerOptions.Optimize | CompilerOptions.UseRoslyn2_10_0,
6769
CompilerOptions.UseRoslyn3_11_0,
6870
CompilerOptions.Optimize | CompilerOptions.UseRoslyn3_11_0,
71+
CompilerOptions.UseRoslyn4_14_0,
72+
CompilerOptions.Optimize | CompilerOptions.UseRoslyn4_14_0,
6973
CompilerOptions.UseRoslynLatest,
7074
CompilerOptions.Optimize | CompilerOptions.UseRoslynLatest,
7175
};
@@ -80,8 +84,10 @@ public void AllFilesHaveTests()
8084
CompilerOptions.Optimize | CompilerOptions.UseRoslyn2_10_0 | CompilerOptions.TargetNet40,
8185
CompilerOptions.UseRoslyn3_11_0 | CompilerOptions.TargetNet40,
8286
CompilerOptions.Optimize | CompilerOptions.UseRoslyn3_11_0 | CompilerOptions.TargetNet40,
87+
CompilerOptions.UseRoslyn4_14_0 | CompilerOptions.TargetNet40,
88+
CompilerOptions.Optimize | CompilerOptions.UseRoslyn4_14_0 | CompilerOptions.TargetNet40,
8389
CompilerOptions.UseRoslynLatest | CompilerOptions.TargetNet40,
84-
CompilerOptions.Optimize | CompilerOptions.UseRoslynLatest | CompilerOptions.TargetNet40
90+
CompilerOptions.Optimize | CompilerOptions.UseRoslynLatest | CompilerOptions.TargetNet40,
8591
};
8692

8793
static readonly CompilerOptions[] defaultOptions =
@@ -94,6 +100,8 @@ public void AllFilesHaveTests()
94100
CompilerOptions.Optimize | CompilerOptions.UseRoslyn2_10_0 | CompilerOptions.TargetNet40,
95101
CompilerOptions.UseRoslyn3_11_0 | CompilerOptions.TargetNet40,
96102
CompilerOptions.Optimize | CompilerOptions.UseRoslyn3_11_0 | CompilerOptions.TargetNet40,
103+
CompilerOptions.UseRoslyn4_14_0 | CompilerOptions.TargetNet40,
104+
CompilerOptions.Optimize | CompilerOptions.UseRoslyn4_14_0 | CompilerOptions.TargetNet40,
97105
CompilerOptions.UseRoslynLatest | CompilerOptions.TargetNet40,
98106
CompilerOptions.Optimize | CompilerOptions.UseRoslynLatest | CompilerOptions.TargetNet40,
99107
CompilerOptions.UseRoslyn1_3_2,
@@ -102,6 +110,8 @@ public void AllFilesHaveTests()
102110
CompilerOptions.Optimize | CompilerOptions.UseRoslyn2_10_0,
103111
CompilerOptions.UseRoslyn3_11_0,
104112
CompilerOptions.Optimize | CompilerOptions.UseRoslyn3_11_0,
113+
CompilerOptions.UseRoslyn4_14_0,
114+
CompilerOptions.Optimize | CompilerOptions.UseRoslyn4_14_0,
105115
CompilerOptions.UseRoslynLatest,
106116
CompilerOptions.Optimize | CompilerOptions.UseRoslynLatest,
107117
CompilerOptions.UseMcs2_6_4,
@@ -118,6 +128,8 @@ public void AllFilesHaveTests()
118128
CompilerOptions.Optimize | CompilerOptions.UseRoslyn2_10_0 | CompilerOptions.TargetNet40,
119129
CompilerOptions.UseRoslyn3_11_0 | CompilerOptions.TargetNet40,
120130
CompilerOptions.Optimize | CompilerOptions.UseRoslyn3_11_0 | CompilerOptions.TargetNet40,
131+
CompilerOptions.UseRoslyn4_14_0 | CompilerOptions.TargetNet40,
132+
CompilerOptions.Optimize | CompilerOptions.UseRoslyn4_14_0 | CompilerOptions.TargetNet40,
121133
CompilerOptions.UseRoslynLatest | CompilerOptions.TargetNet40,
122134
CompilerOptions.Optimize | CompilerOptions.UseRoslynLatest | CompilerOptions.TargetNet40,
123135
CompilerOptions.UseRoslyn1_3_2,
@@ -126,6 +138,8 @@ public void AllFilesHaveTests()
126138
CompilerOptions.Optimize | CompilerOptions.UseRoslyn2_10_0,
127139
CompilerOptions.UseRoslyn3_11_0,
128140
CompilerOptions.Optimize | CompilerOptions.UseRoslyn3_11_0,
141+
CompilerOptions.UseRoslyn4_14_0,
142+
CompilerOptions.Optimize | CompilerOptions.UseRoslyn4_14_0,
129143
CompilerOptions.UseRoslynLatest,
130144
CompilerOptions.Optimize | CompilerOptions.UseRoslynLatest,
131145
};
@@ -136,20 +150,16 @@ public void AllFilesHaveTests()
136150
CompilerOptions.Optimize | CompilerOptions.UseRoslyn2_10_0 | CompilerOptions.TargetNet40,
137151
CompilerOptions.UseRoslyn3_11_0 | CompilerOptions.TargetNet40,
138152
CompilerOptions.Optimize | CompilerOptions.UseRoslyn3_11_0 | CompilerOptions.TargetNet40,
153+
CompilerOptions.UseRoslyn4_14_0 | CompilerOptions.TargetNet40,
154+
CompilerOptions.Optimize | CompilerOptions.UseRoslyn4_14_0 | CompilerOptions.TargetNet40,
139155
CompilerOptions.UseRoslynLatest | CompilerOptions.TargetNet40,
140156
CompilerOptions.Optimize | CompilerOptions.UseRoslynLatest | CompilerOptions.TargetNet40,
141157
CompilerOptions.UseRoslyn2_10_0,
142158
CompilerOptions.Optimize | CompilerOptions.UseRoslyn2_10_0,
143159
CompilerOptions.UseRoslyn3_11_0,
144160
CompilerOptions.Optimize | CompilerOptions.UseRoslyn3_11_0,
145-
CompilerOptions.UseRoslynLatest,
146-
CompilerOptions.Optimize | CompilerOptions.UseRoslynLatest,
147-
};
148-
149-
static readonly CompilerOptions[] roslynLatestOnlyOptions =
150-
{
151-
CompilerOptions.UseRoslynLatest | CompilerOptions.TargetNet40,
152-
CompilerOptions.Optimize | CompilerOptions.UseRoslynLatest | CompilerOptions.TargetNet40,
161+
CompilerOptions.UseRoslyn4_14_0,
162+
CompilerOptions.Optimize | CompilerOptions.UseRoslyn4_14_0,
153163
CompilerOptions.UseRoslynLatest,
154164
CompilerOptions.Optimize | CompilerOptions.UseRoslynLatest,
155165
};

ICSharpCode.Decompiler.Tests/Helpers/RoslynToolset.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -166,9 +166,9 @@ string GetCompiler(string compiler, string version)
166166

167167
internal static string SanitizeVersion(string version)
168168
{
169-
int index = version.IndexOf("-");
169+
int index = version.IndexOf('-');
170170
if (index > 0)
171-
return version.Remove(index);
171+
return version[..index];
172172
return version;
173173
}
174174
}

ICSharpCode.Decompiler.Tests/Helpers/Tester.cs

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -72,8 +72,9 @@ public enum CompilerOptions
7272
ReferenceUnsafe = 0x10000,
7373
CheckForOverflowUnderflow = 0x20000,
7474
ProcessXmlDoc = 0x40000,
75+
UseRoslyn4_14_0 = 0x80000,
7576
UseMcsMask = UseMcs2_6_4 | UseMcs5_23,
76-
UseRoslynMask = UseRoslyn1_3_2 | UseRoslyn2_10_0 | UseRoslyn3_11_0 | UseRoslynLatest
77+
UseRoslynMask = UseRoslyn1_3_2 | UseRoslyn2_10_0 | UseRoslyn3_11_0 | UseRoslyn4_14_0 | UseRoslynLatest
7778
}
7879

7980
[Flags]
@@ -135,11 +136,12 @@ internal static async Task Initialize()
135136
await roslynToolset.Fetch("1.3.2", "Microsoft.Net.Compilers", "tools").ConfigureAwait(false);
136137
await roslynToolset.Fetch("2.10.0", "Microsoft.Net.Compilers", "tools").ConfigureAwait(false);
137138
await roslynToolset.Fetch("3.11.0").ConfigureAwait(false);
139+
await roslynToolset.Fetch("4.14.0").ConfigureAwait(false);
138140
await roslynToolset.Fetch(roslynLatestVersion).ConfigureAwait(false);
139141

140142
await vswhereToolset.Fetch().ConfigureAwait(false);
141143
await RefAssembliesToolset.Fetch("5.0.0", sourcePath: "ref/net5.0").ConfigureAwait(false);
142-
await RefAssembliesToolset.Fetch("10.0.0", sourcePath: "ref/net10.0").ConfigureAwait(false);
144+
await RefAssembliesToolset.Fetch("9.0.0", sourcePath: "ref/net9.0").ConfigureAwait(false);
143145
await RefAssembliesToolset.Fetch(CurrentNetCoreRefAsmVersion, sourcePath: $"ref/net{CurrentNetCoreVersion}").ConfigureAwait(false);
144146

145147
#if DEBUG
@@ -347,6 +349,7 @@ private static string ReplacePrivImplDetails(string il)
347349

348350
static readonly Dictionary<string, Lazy<string>> targetFrameworkAttributeSnippetFiles = new() {
349351
{ CurrentNetCoreAppVersion, new Lazy<string>(() => GetTargetFrameworkAttributeSnippetFile(CurrentNetCoreAppVersion)) },
352+
{ ".NETCoreApp,Version=v9.0", new Lazy<string>(() => GetTargetFrameworkAttributeSnippetFile(".NETCoreApp,Version=v9.0")) },
350353
{ ".NETCoreApp,Version=v5.0", new Lazy<string>(() => GetTargetFrameworkAttributeSnippetFile(".NETCoreApp,Version=v5.0")) },
351354
{ ".NETCoreApp,Version=v2.2", new Lazy<string>(() => GetTargetFrameworkAttributeSnippetFile(".NETCoreApp,Version=v2.2")) },
352355
};
@@ -429,6 +432,7 @@ public static List<string> GetPreprocessorSymbols(CompilerOptions flags)
429432
preprocessorSymbols.Add("VB14");
430433
if (flags.HasFlag(CompilerOptions.UseRoslyn2_10_0)
431434
|| flags.HasFlag(CompilerOptions.UseRoslyn3_11_0)
435+
|| flags.HasFlag(CompilerOptions.UseRoslyn4_14_0)
432436
|| flags.HasFlag(CompilerOptions.UseRoslynLatest))
433437
{
434438
preprocessorSymbols.Add("ROSLYN2");
@@ -439,6 +443,7 @@ public static List<string> GetPreprocessorSymbols(CompilerOptions flags)
439443
preprocessorSymbols.Add("VB15");
440444
}
441445
if (flags.HasFlag(CompilerOptions.UseRoslyn3_11_0)
446+
|| flags.HasFlag(CompilerOptions.UseRoslyn4_14_0)
442447
|| flags.HasFlag(CompilerOptions.UseRoslynLatest))
443448
{
444449
if (!flags.HasFlag(CompilerOptions.TargetNet40))
@@ -450,22 +455,30 @@ public static List<string> GetPreprocessorSymbols(CompilerOptions flags)
450455
preprocessorSymbols.Add("CS90");
451456
preprocessorSymbols.Add("VB16");
452457
}
453-
if (flags.HasFlag(CompilerOptions.UseRoslynLatest))
458+
if (flags.HasFlag(CompilerOptions.UseRoslyn4_14_0)
459+
|| flags.HasFlag(CompilerOptions.UseRoslynLatest))
454460
{
455461
if (!flags.HasFlag(CompilerOptions.TargetNet40))
456462
{
457463
preprocessorSymbols.Add("NET60");
458464
preprocessorSymbols.Add("NET70");
459465
preprocessorSymbols.Add("NET80");
460466
preprocessorSymbols.Add("NET90");
461-
preprocessorSymbols.Add("NET100");
462-
preprocessorSymbols.Add("NET110");
463467
}
464468
preprocessorSymbols.Add("ROSLYN4");
465469
preprocessorSymbols.Add("CS100");
466470
preprocessorSymbols.Add("CS110");
467471
preprocessorSymbols.Add("CS120");
468472
preprocessorSymbols.Add("CS130");
473+
}
474+
if (flags.HasFlag(CompilerOptions.UseRoslynLatest))
475+
{
476+
if (!flags.HasFlag(CompilerOptions.TargetNet40))
477+
{
478+
preprocessorSymbols.Add("NET100");
479+
preprocessorSymbols.Add("NET110");
480+
}
481+
preprocessorSymbols.Add("ROSLYN5");
469482
preprocessorSymbols.Add("CS140");
470483
preprocessorSymbols.Add("CS150");
471484
}
@@ -528,6 +541,7 @@ public static async Task<CompilerResults> CompileCSharp(string sourceFileName, C
528541
CompilerOptions.UseRoslyn1_3_2 => ("1.3.2", "6", null),
529542
CompilerOptions.UseRoslyn2_10_0 => ("2.10.0", "latest", targetNet40 ? null : ".NETCoreApp,Version=v2.2"),
530543
CompilerOptions.UseRoslyn3_11_0 => ("3.11.0", "latest", targetNet40 ? null : ".NETCoreApp,Version=v5.0"),
544+
CompilerOptions.UseRoslyn4_14_0 => ("4.14.0", "latest", targetNet40 ? null : ".NETCoreApp,Version=v9.0"),
531545
_ => (roslynLatestVersion, flags.HasFlag(CompilerOptions.Preview) ? "preview" : "latest", targetNet40 ? null : CurrentNetCoreAppVersion)
532546
};
533547

@@ -743,6 +757,7 @@ internal static DecompilerSettings GetSettings(CompilerOptions cscOptions)
743757
CompilerOptions.UseRoslyn1_3_2 => CSharp.LanguageVersion.CSharp6,
744758
CompilerOptions.UseRoslyn2_10_0 => CSharp.LanguageVersion.CSharp7_3,
745759
CompilerOptions.UseRoslyn3_11_0 => CSharp.LanguageVersion.CSharp9_0,
760+
CompilerOptions.UseRoslyn4_14_0 => CSharp.LanguageVersion.CSharp13_0,
746761
_ => cscOptions.HasFlag(CompilerOptions.Preview) ? CSharp.LanguageVersion.Latest : CSharp.LanguageVersion.CSharp14_0,
747762
};
748763
DecompilerSettings settings = new(langVersion) {
@@ -819,6 +834,8 @@ internal static string GetSuffix(CompilerOptions cscOptions)
819834
suffix += ".roslyn2";
820835
if ((cscOptions & CompilerOptions.UseRoslyn3_11_0) != 0)
821836
suffix += ".roslyn3";
837+
if ((cscOptions & CompilerOptions.UseRoslyn4_14_0) != 0)
838+
suffix += ".roslyn4";
822839
if ((cscOptions & CompilerOptions.UseRoslynLatest) != 0)
823840
suffix += ".roslyn";
824841
if ((cscOptions & CompilerOptions.UseMcs2_6_4) != 0)

ICSharpCode.Decompiler.Tests/PrettyTestRunner.cs

Lines changed: 40 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,8 @@ public void AllFilesHaveTests()
6363
CompilerOptions.Optimize | CompilerOptions.UseRoslyn2_10_0 | CompilerOptions.TargetNet40,
6464
CompilerOptions.UseRoslyn3_11_0 | CompilerOptions.TargetNet40,
6565
CompilerOptions.Optimize | CompilerOptions.UseRoslyn3_11_0 | CompilerOptions.TargetNet40,
66+
CompilerOptions.UseRoslyn4_14_0 | CompilerOptions.TargetNet40,
67+
CompilerOptions.Optimize | CompilerOptions.UseRoslyn4_14_0 | CompilerOptions.TargetNet40,
6668
CompilerOptions.UseRoslynLatest | CompilerOptions.TargetNet40,
6769
CompilerOptions.Optimize | CompilerOptions.UseRoslynLatest | CompilerOptions.TargetNet40,
6870
CompilerOptions.UseRoslyn1_3_2,
@@ -71,6 +73,8 @@ public void AllFilesHaveTests()
7173
CompilerOptions.Optimize | CompilerOptions.UseRoslyn2_10_0,
7274
CompilerOptions.UseRoslyn3_11_0,
7375
CompilerOptions.Optimize | CompilerOptions.UseRoslyn3_11_0,
76+
CompilerOptions.UseRoslyn4_14_0,
77+
CompilerOptions.Optimize | CompilerOptions.UseRoslyn4_14_0,
7478
CompilerOptions.UseRoslynLatest,
7579
CompilerOptions.Optimize | CompilerOptions.UseRoslynLatest,
7680
};
@@ -83,6 +87,8 @@ public void AllFilesHaveTests()
8387
CompilerOptions.Optimize | CompilerOptions.UseRoslyn2_10_0,
8488
CompilerOptions.UseRoslyn3_11_0,
8589
CompilerOptions.Optimize | CompilerOptions.UseRoslyn3_11_0,
90+
CompilerOptions.UseRoslyn4_14_0,
91+
CompilerOptions.Optimize | CompilerOptions.UseRoslyn4_14_0,
8692
CompilerOptions.UseRoslynLatest,
8793
CompilerOptions.Optimize | CompilerOptions.UseRoslynLatest,
8894
};
@@ -93,12 +99,16 @@ public void AllFilesHaveTests()
9399
CompilerOptions.Optimize | CompilerOptions.UseRoslyn2_10_0 | CompilerOptions.TargetNet40,
94100
CompilerOptions.UseRoslyn3_11_0 | CompilerOptions.TargetNet40,
95101
CompilerOptions.Optimize | CompilerOptions.UseRoslyn3_11_0 | CompilerOptions.TargetNet40,
102+
CompilerOptions.UseRoslyn4_14_0 | CompilerOptions.TargetNet40,
103+
CompilerOptions.Optimize | CompilerOptions.UseRoslyn4_14_0 | CompilerOptions.TargetNet40,
96104
CompilerOptions.UseRoslynLatest | CompilerOptions.TargetNet40,
97105
CompilerOptions.Optimize | CompilerOptions.UseRoslynLatest | CompilerOptions.TargetNet40,
98106
CompilerOptions.UseRoslyn2_10_0,
99107
CompilerOptions.Optimize | CompilerOptions.UseRoslyn2_10_0,
100108
CompilerOptions.UseRoslyn3_11_0,
101109
CompilerOptions.Optimize | CompilerOptions.UseRoslyn3_11_0,
110+
CompilerOptions.UseRoslyn4_14_0,
111+
CompilerOptions.Optimize | CompilerOptions.UseRoslyn4_14_0,
102112
CompilerOptions.UseRoslynLatest,
103113
CompilerOptions.Optimize | CompilerOptions.UseRoslynLatest,
104114
};
@@ -109,6 +119,8 @@ public void AllFilesHaveTests()
109119
CompilerOptions.Optimize | CompilerOptions.UseRoslyn2_10_0,
110120
CompilerOptions.UseRoslyn3_11_0,
111121
CompilerOptions.Optimize | CompilerOptions.UseRoslyn3_11_0,
122+
CompilerOptions.UseRoslyn4_14_0,
123+
CompilerOptions.Optimize | CompilerOptions.UseRoslyn4_14_0,
112124
CompilerOptions.UseRoslynLatest,
113125
CompilerOptions.Optimize | CompilerOptions.UseRoslynLatest,
114126
};
@@ -117,10 +129,14 @@ public void AllFilesHaveTests()
117129
{
118130
CompilerOptions.UseRoslyn3_11_0 | CompilerOptions.TargetNet40,
119131
CompilerOptions.Optimize | CompilerOptions.UseRoslyn3_11_0 | CompilerOptions.TargetNet40,
132+
CompilerOptions.UseRoslyn4_14_0 | CompilerOptions.TargetNet40,
133+
CompilerOptions.Optimize | CompilerOptions.UseRoslyn4_14_0 | CompilerOptions.TargetNet40,
120134
CompilerOptions.UseRoslynLatest | CompilerOptions.TargetNet40,
121135
CompilerOptions.Optimize | CompilerOptions.UseRoslynLatest | CompilerOptions.TargetNet40,
122136
CompilerOptions.UseRoslyn3_11_0,
123137
CompilerOptions.Optimize | CompilerOptions.UseRoslyn3_11_0,
138+
CompilerOptions.UseRoslyn4_14_0,
139+
CompilerOptions.Optimize | CompilerOptions.UseRoslyn4_14_0,
124140
CompilerOptions.UseRoslynLatest,
125141
CompilerOptions.Optimize | CompilerOptions.UseRoslynLatest,
126142
};
@@ -129,19 +145,33 @@ public void AllFilesHaveTests()
129145
{
130146
CompilerOptions.UseRoslyn3_11_0,
131147
CompilerOptions.Optimize | CompilerOptions.UseRoslyn3_11_0,
148+
CompilerOptions.UseRoslyn4_14_0,
149+
CompilerOptions.Optimize | CompilerOptions.UseRoslyn4_14_0,
132150
CompilerOptions.UseRoslynLatest,
133151
CompilerOptions.Optimize | CompilerOptions.UseRoslynLatest,
134152
};
135153

136154
static readonly CompilerOptions[] roslyn4OrNewerWithNet40Options =
137155
{
156+
CompilerOptions.UseRoslyn4_14_0 | CompilerOptions.TargetNet40,
157+
CompilerOptions.Optimize | CompilerOptions.UseRoslyn4_14_0 | CompilerOptions.TargetNet40,
138158
CompilerOptions.UseRoslynLatest | CompilerOptions.TargetNet40,
139159
CompilerOptions.Optimize | CompilerOptions.UseRoslynLatest | CompilerOptions.TargetNet40,
160+
CompilerOptions.UseRoslyn4_14_0,
161+
CompilerOptions.Optimize | CompilerOptions.UseRoslyn4_14_0,
140162
CompilerOptions.UseRoslynLatest,
141163
CompilerOptions.Optimize | CompilerOptions.UseRoslynLatest,
142164
};
143165

144166
static readonly CompilerOptions[] roslyn4OrNewerOptions =
167+
{
168+
CompilerOptions.UseRoslyn4_14_0,
169+
CompilerOptions.Optimize | CompilerOptions.UseRoslyn4_14_0,
170+
CompilerOptions.UseRoslynLatest,
171+
CompilerOptions.Optimize | CompilerOptions.UseRoslynLatest,
172+
};
173+
174+
static readonly CompilerOptions[] roslyn5OrNewerOptions =
145175
{
146176
CompilerOptions.UseRoslynLatest,
147177
CompilerOptions.Optimize | CompilerOptions.UseRoslynLatest,
@@ -155,6 +185,8 @@ public void AllFilesHaveTests()
155185
CompilerOptions.Optimize | CompilerOptions.UseRoslyn2_10_0 | CompilerOptions.TargetNet40,
156186
CompilerOptions.UseRoslyn3_11_0 | CompilerOptions.TargetNet40,
157187
CompilerOptions.Optimize | CompilerOptions.UseRoslyn3_11_0 | CompilerOptions.TargetNet40,
188+
CompilerOptions.UseRoslyn4_14_0 | CompilerOptions.TargetNet40,
189+
CompilerOptions.Optimize | CompilerOptions.UseRoslyn4_14_0 | CompilerOptions.TargetNet40,
158190
CompilerOptions.UseRoslynLatest | CompilerOptions.TargetNet40,
159191
CompilerOptions.Optimize | CompilerOptions.UseRoslynLatest | CompilerOptions.TargetNet40,
160192
CompilerOptions.UseRoslyn1_3_2,
@@ -163,6 +195,8 @@ public void AllFilesHaveTests()
163195
CompilerOptions.Optimize | CompilerOptions.UseRoslyn2_10_0,
164196
CompilerOptions.UseRoslyn3_11_0,
165197
CompilerOptions.Optimize | CompilerOptions.UseRoslyn3_11_0,
198+
CompilerOptions.UseRoslyn4_14_0,
199+
CompilerOptions.Optimize | CompilerOptions.UseRoslyn4_14_0,
166200
CompilerOptions.UseRoslynLatest,
167201
CompilerOptions.Optimize | CompilerOptions.UseRoslynLatest,
168202
};
@@ -175,6 +209,8 @@ public void AllFilesHaveTests()
175209
CompilerOptions.Optimize | CompilerOptions.UseRoslyn2_10_0 | CompilerOptions.TargetNet40,
176210
CompilerOptions.UseRoslyn3_11_0 | CompilerOptions.TargetNet40,
177211
CompilerOptions.Optimize | CompilerOptions.UseRoslyn3_11_0 | CompilerOptions.TargetNet40,
212+
CompilerOptions.UseRoslyn4_14_0 | CompilerOptions.TargetNet40,
213+
CompilerOptions.Optimize | CompilerOptions.UseRoslyn4_14_0 | CompilerOptions.TargetNet40,
178214
CompilerOptions.UseRoslynLatest | CompilerOptions.TargetNet40,
179215
CompilerOptions.Optimize | CompilerOptions.UseRoslynLatest | CompilerOptions.TargetNet40,
180216
CompilerOptions.UseRoslyn1_3_2,
@@ -183,6 +219,8 @@ public void AllFilesHaveTests()
183219
CompilerOptions.Optimize | CompilerOptions.UseRoslyn2_10_0,
184220
CompilerOptions.UseRoslyn3_11_0,
185221
CompilerOptions.Optimize | CompilerOptions.UseRoslyn3_11_0,
222+
CompilerOptions.UseRoslyn4_14_0,
223+
CompilerOptions.Optimize | CompilerOptions.UseRoslyn4_14_0,
186224
CompilerOptions.UseRoslynLatest,
187225
CompilerOptions.Optimize | CompilerOptions.UseRoslynLatest,
188226
CompilerOptions.UseMcs2_6_4,
@@ -201,7 +239,7 @@ public async Task HelloWorld()
201239
[Test]
202240
public async Task IndexRangeTest([ValueSource(nameof(roslyn3OrNewerOptions))] CompilerOptions cscOptions)
203241
{
204-
if (cscOptions.HasFlag(CompilerOptions.UseRoslynLatest))
242+
if (cscOptions.HasFlag(CompilerOptions.UseRoslyn4_14_0) || cscOptions.HasFlag(CompilerOptions.UseRoslynLatest))
205243
{
206244
Assert.Ignore("See https://github.com/icsharpcode/ILSpy/issues/2540");
207245
}
@@ -560,7 +598,7 @@ public async Task Issue3598([ValueSource(nameof(roslyn4OrNewerOptions))] Compile
560598
}
561599

562600
[Test]
563-
public async Task ExtensionEverything([ValueSource(nameof(roslyn4OrNewerOptions))] CompilerOptions cscOptions)
601+
public async Task ExtensionEverything([ValueSource(nameof(roslyn5OrNewerOptions))] CompilerOptions cscOptions)
564602
{
565603
await RunForLibrary(cscOptions: cscOptions | CompilerOptions.Preview | CompilerOptions.NullableEnable);
566604
}

ICSharpCode.Decompiler.Tests/TestCases/ILPretty/ExtensionEncodingV2.il

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
int32(263)
1717
}
1818
.custom instance void [System.Runtime]System.Runtime.Versioning.TargetFrameworkAttribute::.ctor(string) = {
19-
string('.NETCoreApp,Version=10.0')
19+
string('.NETCoreApp,Version=11.0')
2020
}
2121
.permissionset reqmin = {
2222
[System.Runtime]System.Security.Permissions.SecurityPermissionAttribute = {

0 commit comments

Comments
 (0)