В целях тренировки хочу написать макрос, который будет сохранять состояние выполняемого метода (что-то типа континюэйшена).
Например так
class A
{
public M(): void
{
def a = "2 - test";
WriteLine("1");
save;
WriteLine(a);
save;
WriteLine("1");
}
}
Чтобы в местах save все локальные переменніе сохранялись в некой промежуточной структуре. Как к ним добраться?
Здравствуйте, Flem1234, Вы писали:
F>Чтобы в местах save все локальные переменніе сохранялись в некой промежуточной структуре. Как к ним добраться?
def typer = Macros.ImplicitCTX();
typer.LocalContext // контекст с переменными
Здравствуйте, Flem1234, Вы писали:
F>В целях тренировки хочу написать макрос, который будет сохранять состояние выполняемого метода (что-то типа континюэйшена).
F>Чтобы в местах save все локальные переменніе сохранялись в некой промежуточной структуре. Как к ним добраться?
Такие вещи лучше делать так. Сначала типизировать все содержимое метода (в местах сохранения контекста оставить некие заглушки). О том как это сделать я
только что писалАвтор: VladD2
Дата: 08.04.11
. А потом уже переписывать его как тебе надо (сгенерировать новый PExpr и назначить его телом метода.