Browse Source

TransformExpressionTrees: return only the builder, not the result type

Every converter handed back a (Func<ILInstruction>, IType) pair, and the
IType was consumed by matchers that ran before the builder. Now that the
ILAst instructions carry their own types, InferType() on the built operand
answers the same questions, so the type-dependent decisions move into the
builders and the pair collapses to the builder alone. Builders that could
already fail (ConvertArrayIndex) set the precedent for returning null from
inside one; ConvertInstruction propagates that.

Assisted-by: Claude:claude-opus-5[1m]:Claude Code
pull/4091/head
Siegfried Pammer 2 weeks ago committed by Daniel Grunwald
parent
commit
d9b502aa20
  1. 804
      ICSharpCode.Decompiler/IL/Transforms/TransformExpressionTrees.cs

804
ICSharpCode.Decompiler/IL/Transforms/TransformExpressionTrees.cs

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save