mirror of
https://github.com/icsharpcode/ILSpy.git
synced 2026-10-12 02:15:58 +00:00
Dynamic member accesses and invocations carried only the member name (DynamicMemberResolveResult / DynamicInvocationResolveResult), so GetSymbol returned null and the editor emitted no reference or hover. Synthesize a member on the target type - a dynamic field for a member access, a dynamic-returning method for a member invocation - named after the accessed member and typed from the callsite delegate: each argument uses its recorded compile-time type when the binder set one (statically typed or constant arguments), dynamic otherwise, and the declaring type comes from the receiver's argument info. Route these through GetSymbol; TextTokenWriter and the hover renderer already turn an IEntity into a tooltip. The synthesized members have no metadata token, so they render a signature on hover but are not navigation targets. Assisted-by: Claude:claude-fable-5:Claude Code