Removed all System.CodeDOM related code from net45. This involved modifying some existing code paths and most of all reducing the complexity of all of the CodeGenerators. Added some factory creation methods to build CodeBuilders. Ran code analysis and made adjustments to pass analysis.
This allows for users to write "@using System;" and still have proper intellisense and mapping. Also removed some legacy code that I came across when running tests.
Added a CSharpPaddingBuilder based on the existing
CodeGeneratorPaddingHelper to allow accurate padding within the generated
C# files. Also created tests based on the existing PaddingTest tests to
verify padding functionality.
Without the initial code tree acceptance you end up stack overflowing. Also removed a validation check that ensures that there's always a base type (not true).
This addition will eventually replace CodeDOM to allow for the k10 project to build. It is a new type of codegeneration method that is highly extensible.