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?

0 ответов

Другие вопросы по тегам