Что не получается или трудно сделать на синтаксическом уровне

Материал из Вики проекта PascalABC.NET
Перейти к навигацииПерейти к поиску

На синтаксическом уровне некоторые вещи проверяются с трудом. Именно поэтому сделана генерация функции $...error для проверки ошибок на этапе семантики. В частности, на этом пути проверяются одинаковые имена, которые надо проверить перед переименованием.

Но не всё можно проверить на этом пути.

При наличии лямбды в yieldе именно в функции функции $...error возникает какая-то труднонаходимая ошибка.

При обращении к нестатическому полю класса из статической функции в yield функция $...error почему-то не делает эту проверку - видимо, потому что в ней игнорируются yieldы.

Вообщем, запутанная история - надо разбираться