Lots of Updates to EmitDebugger
Since I've had some free time between projects lately, I've dived into my EmitDebugger project to add more tests, refactor code, fix bugs, etc. It's been a lot of work to get the coverage up to 94% and I've uncovered (and fixed) a bunch of issues and defects along the way. I realize that this project will probably never be used by anyone, but it's the adventure that counts with projects like this. The main issue is to up the coverage number to as close to 100% as I can make it, and to revisit the code generation so that it matches what ILDasm shows even better.
I'm also thinking of going off on a tangent with the underlying implementation and radically change things up, like using Cecil underneath the scenes instead of System.Reflection.Emit, or to do some very weird things with the Action delegate to capture what the user is doing until the entire assembly is baked. The real problem that I'll always have to deal with is that none of the key Emit classes are extensible - they're sealed. I'm not against sealing classes - in fact, I usually do that by default, unless I know I need extensibility and customization with the framework I'm designing. But in this case it makes augmenting the Emitter classes a real PITA. I'm basically creating a quasi-binary-compatiable "interface" with my classes, but that doesn't make them pluggable. A developer would have to make a conscious decision to use my interfaces rather than the ones from the Emitter classes.
Again, this is pretty much a personal project for learning purposes. But hopefully someone out there can use this stuff as well :).