1

I am planning to build a simple open source code visualization tool to generate UML sequence diagrams because the cost of VS Ultimate is IMHO ridiculous and impractical, but I find their sequence diagram generating tool to be extremely useful when trying to familiarize yourself with pre-existing code. I have found that existing commercial and open source alternatives are confusing and do not work beyond simple scenarios. Perhaps most importantly I see this as an opportunity to understand more about something I use on a daily basis.

From my preliminary research, it seems Mono.Cecil is worth considering per this SO question: Look if a method is called inside a method using reflection, but this currently does not support anything past .NET 4.0. I've been considering Roslyn, but I'm curious how significant of an advantage one may get by parsing the IL directly as with Mono.Cecil. Are there other options?

Any advice here would be much appreciated!

Community
  • 1
  • 1
Jordan
  • 5,085
  • 7
  • 34
  • 50
  • 3
    Does your codebase use lambdas, iterator methods or `await` extensively? Because those are pretty hard to analyze based on the IL. – svick Apr 10 '14 at 18:14
  • this is not for any specific codebase, but yes I am looking to support lambdas, iterator methods and await - seems like a fairly massive limitation not to support those – Jordan Apr 10 '14 at 23:12
  • You can support them though IL, but either your diagrams are going to contain the compiler-generated methods, or you're going to have to write (probably compiler-specific) code to decode those. – svick Apr 11 '14 at 00:15
  • I can't tell if there's any implication here that I may be better off using Roslyn or if you're simply giving me a heads up about complications I may run into with the IL route.. I appreciate it either way, but just want to clarify! – Jordan Apr 11 '14 at 02:16

0 Answers0