Add better support for async
NDepend currently analyses all the method delegates etc, scoring a class with async keywords as complex and also misrepresents the number of fields and members as it includes code generated members rather than mapping back to keyword + closures.
We just released NDepend v6 that now have great support for async, and code generated by compiler in general.
You can download v6 Release Candidate 1 to try it.
Your feedback at email@example.com will be more than welcome.
You can also re-use your NDepend UserVoice votes for further feature request!
Steve Ruble commented
The default rules still run into problems with async methods. ILNestingDepth appears to have a minimum value of 5 for any async method which uses the await keyword, presumably because the compiler rewrites the method into something horribly complicated. It's not too difficult to rewrite the rules to add 5 to ILNestingDepth-based criteria when a method is async, but it's kind of a pain, and complicated async methods which don't actually use await will fall through the cracks.