Что не получается или трудно сделать на синтаксическом уровне
Материал из Вики проекта PascalABC.NET
Перейти к навигацииПерейти к поиску
На синтаксическом уровне некоторые вещи проверяются с трудом. Именно поэтому сделана генерация функции $...error для проверки ошибок на этапе семантики. В частности, на этом пути проверяются одинаковые имена, которые надо проверить перед переименованием.
Но не всё можно проверить на этом пути.
При наличии лямбды в yieldе именно в функции функции $...error возникает какая-то труднонаходимая ошибка.
При обращении к нестатическому полю класса из статической функции в yield функция $...error почему-то не делает эту проверку - видимо, потому что в ней игнорируются yieldы.
Вообщем, запутанная история - надо разбираться