Browse Source

Say why ref results are excluded from switch expressions

Assisted-by: Claude:claude-opus-5[1m]:Claude Code
pull/3969/head
Siegfried Pammer 1 month ago committed by Siegfried Pammer
parent
commit
9ea8d7c6ac
  1. 1
      ICSharpCode.Decompiler/IL/Transforms/ExpressionTransforms.cs

1
ICSharpCode.Decompiler/IL/Transforms/ExpressionTransforms.cs

@ -676,6 +676,7 @@ namespace ICSharpCode.Decompiler.IL.Transforms @@ -676,6 +676,7 @@ namespace ICSharpCode.Decompiler.IL.Transforms
// Exactly one of resultVariable/leaveTarget must be null
if ((resultVariable == null) == (leaveTarget == null))
return;
// C# has no ref-returning switch expression: an arm cannot be `0 => ref x`.
if (resultType == StackType.Ref)
return;
if (switchInst.Value is StringToInt str2int)

Loading…
Cancel
Save