Закинул патченную версию коллеге, он открыл здоровенный проект и в нём здоровенный файл, и оказалось что действительно существенно тормозит. Проблема именно в Project.FindObject который, очевидно, недостаточно быстр. Соотвественно насущный вопрос — как из ScanLexer.GetToken() получить доступ к текущему элементу Typedtree (конкретно, проверить является ли идентификатор FieldBuilder'ом)? Пока сам не найду ответ или не подскажут, патч не используйте и уж тем более в репозиторий не коммитте.
P.S. Шикарно я тут нафлудил. Думаю до понедельника ещё постов 5 успею накидать сам себе по теме, пока все отдыхают