Reflection.Emit эквивалентности в CCI
Эрик Липперт сказал на записи здесь, в SO,
Reflection.Emit слишком слаб, чтобы использовать его для создания реального компилятора. Он отлично подходит для небольших задач по компиляции игрушек, таких как создание динамических сайтов вызовов и деревьев выражений в запросах LINQ, но для тех проблем, с которыми вы столкнетесь в компиляторе, вы быстро превзойдете его возможности. Используйте CCI, а не Reflection.Emit.
У меня есть настоящий компилятор, который, к сожалению, был построен (не мной) на Reflection.Emit. Это больно сталкивается с этими ограничениями, и я хотел бы преобразовать код emit в CCI. Я нахожу несколько вещей, для которых, кажется, нет никакого эквивалента.
Например, строки:
_asmBuilder.DefineVersionInfoResource();
_moduleBuilder.CreateGlobalFunctions(); //setup global .data
Я не вижу способа сделать то же самое, тем более что я не могу найти никакого эквивалента для ModuleBuilder.
Есть ли хорошая справка или документация о том, как преобразовать проект Reflection.Emit в CCI?