• M
    Fix a deadlock in the analyzer driver · e5430878
    Manish Vasani 提交于
    Primary issue is that we currently try to force complete and decode SuppressMessageAttributes in the analyzer callbacks to report a diagnostic. We need to decode these attributes to apply source suppressions to reported diagnostics. However, force completing attributes can lead to us binding more symbols, and subsequently generating more symbol declared events and attempting to callback into the analyzer again.
    
    Fix is to decode the suppress message attributes as a post pass in the analyzer driver and avoid any symbol force completion during analyzer callbacks to report diagnostics.
    
    Fixes #4858
    e5430878
DiagnosticExtensions.cs 13.2 KB