Ошибка #39
Нужно исправить в ядре реконструкцию графов перед выводом
0%
Description
Перед выводом графов, ядро их реконструирует: восстанавливает описание типов, символов и окружений, генерируя .T, .S, .E и .EDef узлы. Текущий косяк в том, что этот алгоритм реконструкции слишком сложный и с некими эвристиками, решающими, когда и что выводить. Всё может быть намного проще:
1. Символы можно сразу же выводить вначале того линейного блока, который первым встречается в определённом окружении.
2. Типы сейчас выводятся нормально, по мере необходимости.
3. Окружения, по идее, тоже имеет смысл выводить только по мере необходимости и начала вывода линейного блока. Сейчас там некая зубодробительная эвристика, связанная с тем, что ссылки на символы выводятся по мере обращения к ним, а не вообще все подряд, в начале линейного блока. Поэтому ссылки на окружения, как ожидается, должны быть разбросаны по всем линейным блокам, но это не соответствует действительности. Происходит нечто непонятное.