mirror of https://github.com/icsharpcode/ILSpy.git
9 changed files with 159 additions and 14 deletions
@ -0,0 +1,33 @@ |
|||||||
|
using System; |
||||||
|
using System.Runtime.InteropServices; |
||||||
|
|
||||||
|
namespace ICSharpCode.Decompiler.Tests.TestCases.Pretty |
||||||
|
{ |
||||||
|
internal static class Issue3571_A |
||||||
|
{ |
||||||
|
[StructLayout(LayoutKind.Sequential, Size = 1)] |
||||||
|
public readonly struct fsResult |
||||||
|
{ |
||||||
|
public static fsResult Success => default(fsResult); |
||||||
|
public static fsResult Failure => default(fsResult); |
||||||
|
public bool Succeeded => true; |
||||||
|
public bool Failed => false; |
||||||
|
public static fsResult operator +(fsResult a, fsResult b) |
||||||
|
{ |
||||||
|
return default(fsResult); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
public static fsResult M() |
||||||
|
{ |
||||||
|
fsResult success = fsResult.Success; |
||||||
|
fsResult fsResult2 = success + fsResult.Success; |
||||||
|
if (fsResult2.Succeeded) |
||||||
|
{ |
||||||
|
return success; |
||||||
|
} |
||||||
|
Console.WriteLine("Failed"); |
||||||
|
return fsResult2 + fsResult.Failure; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
@ -0,0 +1,33 @@ |
|||||||
|
using System; |
||||||
|
using System.Runtime.InteropServices; |
||||||
|
|
||||||
|
namespace ICSharpCode.Decompiler.Tests.TestCases.Pretty.Issue3571_B |
||||||
|
{ |
||||||
|
[StructLayout(LayoutKind.Sequential, Size = 1)] |
||||||
|
public readonly struct fsResult |
||||||
|
{ |
||||||
|
public static fsResult Success => default(fsResult); |
||||||
|
public static fsResult Failure => default(fsResult); |
||||||
|
public bool Succeeded => true; |
||||||
|
public bool Failed => false; |
||||||
|
public static fsResult operator +(fsResult a, fsResult b) |
||||||
|
{ |
||||||
|
return default(fsResult); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
internal static class Issue3571_B |
||||||
|
{ |
||||||
|
public static fsResult M() |
||||||
|
{ |
||||||
|
fsResult success = fsResult.Success; |
||||||
|
fsResult fsResult2 = success + fsResult.Success; |
||||||
|
if (fsResult2.Succeeded) |
||||||
|
{ |
||||||
|
return success; |
||||||
|
} |
||||||
|
Console.WriteLine("Failed"); |
||||||
|
return fsResult2 + fsResult.Failure; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
@ -0,0 +1,36 @@ |
|||||||
|
using System; |
||||||
|
using System.Runtime.InteropServices; |
||||||
|
using ICSharpCode.Decompiler.Tests.TestCases.Pretty.Issue3571_Helper; |
||||||
|
|
||||||
|
namespace ICSharpCode.Decompiler.Tests.TestCases.Pretty |
||||||
|
{ |
||||||
|
internal static class Issue3571_C |
||||||
|
{ |
||||||
|
public static fsResult M() |
||||||
|
{ |
||||||
|
fsResult success = fsResult.Success; |
||||||
|
fsResult fsResult2 = success + fsResult.Success; |
||||||
|
if (fsResult2.Succeeded) |
||||||
|
{ |
||||||
|
return success; |
||||||
|
} |
||||||
|
Console.WriteLine("Failed"); |
||||||
|
return fsResult2 + fsResult.Failure; |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
|
namespace ICSharpCode.Decompiler.Tests.TestCases.Pretty.Issue3571_Helper |
||||||
|
{ |
||||||
|
[StructLayout(LayoutKind.Sequential, Size = 1)] |
||||||
|
public readonly struct fsResult |
||||||
|
{ |
||||||
|
public static fsResult Success => default(fsResult); |
||||||
|
public static fsResult Failure => default(fsResult); |
||||||
|
public bool Succeeded => true; |
||||||
|
public bool Failed => false; |
||||||
|
public static fsResult operator +(fsResult a, fsResult b) |
||||||
|
{ |
||||||
|
return default(fsResult); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
Loading…
Reference in new issue