|
|
@ -20,6 +20,7 @@ |
|
|
|
using System.Diagnostics; |
|
|
|
using System.Diagnostics; |
|
|
|
using System.Linq; |
|
|
|
using System.Linq; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
using ICSharpCode.Decompiler.TypeSystem; |
|
|
|
using ICSharpCode.Decompiler.Util; |
|
|
|
using ICSharpCode.Decompiler.Util; |
|
|
|
|
|
|
|
|
|
|
|
namespace ICSharpCode.Decompiler.IL |
|
|
|
namespace ICSharpCode.Decompiler.IL |
|
|
@ -42,6 +43,12 @@ namespace ICSharpCode.Decompiler.IL |
|
|
|
/// </summary>
|
|
|
|
/// </summary>
|
|
|
|
public bool IsLifted; |
|
|
|
public bool IsLifted; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
|
|
/// Additional type information used to interpret the value instruction.
|
|
|
|
|
|
|
|
/// Set by ILInlining to preserve stack information that would otherwise be lost.
|
|
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
|
|
public IType? Type; |
|
|
|
|
|
|
|
|
|
|
|
public SwitchInstruction(ILInstruction value) |
|
|
|
public SwitchInstruction(ILInstruction value) |
|
|
|
: base(OpCode.SwitchInstruction) |
|
|
|
: base(OpCode.SwitchInstruction) |
|
|
|
{ |
|
|
|
{ |
|
|
@ -82,7 +89,9 @@ namespace ICSharpCode.Decompiler.IL |
|
|
|
output.Write("switch"); |
|
|
|
output.Write("switch"); |
|
|
|
if (IsLifted) |
|
|
|
if (IsLifted) |
|
|
|
output.Write(".lifted"); |
|
|
|
output.Write(".lifted"); |
|
|
|
output.Write(" ("); |
|
|
|
output.Write(' '); |
|
|
|
|
|
|
|
Type?.WriteTo(output); |
|
|
|
|
|
|
|
output.Write('('); |
|
|
|
value.WriteTo(output, options); |
|
|
|
value.WriteTo(output, options); |
|
|
|
output.Write(") "); |
|
|
|
output.Write(") "); |
|
|
|
output.MarkFoldStart("{...}"); |
|
|
|
output.MarkFoldStart("{...}"); |
|
|
|