Re[2]: Как добраться до реального типа PExpr?
От: Константин Л. Франция  
Дата: 19.06.07 15:50
Оценка:
Здравствуйте, Иванков Дмитрий, Вы писали:

ИД>Здравствуйте, Константин Л., Вы писали:


КЛ>>Допустим есть макрос, который должен принимать int:

ИД>Можно поподробнее, это должна быть константа времени компиляции или просто при несовпадении типа с int надо получить ошибку?

с константой все вроде и так понятно, либо явно указываем тип параметра (как в первоначальном моем посте), либо матчим с PExpr.Literal.

Надо "при несовпадении типа с int надо получить ошибку?". Причем compile-time.


КЛ>>Ведь инфа о реальном типе ноды аст (если там просто переменная) должна быть доступна уже на этапе компиляции?

ИД>Вообще говоря нет, пока разворачиваются макросы типизация в процессе.
ИД>Если действительно жизненно необходимо получить тип, то можно посмотреть в macros/core.n реализацию макроса lock или foreach.

и где взять этот core.n?

пс: вроде как ie задавал подобный вопрос, но ответа не получил
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.