Fixes: #16922 This change updates our analyzers that need access to the symbols to use `IOperation` where possible. Using syntax analysis for this kind of analyzer has worse performance. These analyzers run on generated code, which can include EF migrations, the design of which amplifies these effects. On the path to this, I also added support for a few more cases that operations make easy. Since we're doing this anyway, I want to have confidence that we're checking everything (within reason). In some cases the diagnostic experience changed a bit (including more of the declaration/code) - I felt like all of these were OK changes. Given the kinds of error message reported by the analyzers "don't use that type" it seems like it's still a good enough experience without micro-optimizing all of the locations. |
||
|---|---|---|
| .. | ||
| Analyzers | ||
| Antiforgery | ||
| Azure | ||
| Components | ||
| DataProtection | ||
| DefaultBuilder | ||
| Features/JsonPatch | ||
| Framework | ||
| Hosting | ||
| Html/Abstractions | ||
| Http | ||
| Identity | ||
| Installers | ||
| Middleware | ||
| MusicStore | ||
| Mvc | ||
| ProjectTemplates | ||
| Razor | ||
| Security | ||
| Servers | ||
| Shared | ||
| SignalR | ||
| SiteExtensions | ||
| Tools | ||
| submodules | ||