mirror of https://github.com/icsharpcode/ILSpy.git
Browse Source
GetPointerElementType existed because a pointer passing through a stack slot could be typed IntPtr: ILReader replaced the slot type with FindType(StackType) whenever the inferred type did not match the stack type. With InferType() implemented on every ILInstruction that fallback is gone (FlushExpressionStack now asserts the inferred type is stack-accurate), so the target's inferred type is precise and the definition chain no longer needs to be walked. Merged stack slots were never recovered by the helper anyway (it required a single store). Disabling the PointerType arm makes the uint*/byte* deconstruction fixtures fail, so the sign-agnostic stobj.Type fallback remains guarded. Assisted-by: Claude:claude-fable-5:Claude Codepull/4090/head
1 changed files with 8 additions and 33 deletions
Loading…
Reference in new issue