Всем привет. Может кто-ниубудь может подсказать ка...
# russian
d
Всем привет. Может кто-ниубудь может подсказать как работать с AST деревом Kotlin? Собственно маленькая предыстория: Уже несколько дней вожусь с плагином для ktlint. Хочу написать подобие вот такой штуки https://bitbucket.org/littlerobots/rxlint, которая проверяет, что бы в метод subscribe rx цепочки всегда передовался error action. Правило ktlinta по факту, это визитор, который обходит AST дерево, и вот я над ним карпею. Теперь собсвенно проблема: При обходе я нахожу ноду
Copy code
KtCallExpression
и проверяю что бы это был вызов метода
Copy code
subscribe
. Затем я бегу немного по дереву вверх и нахожу ноду с типом
Copy code
KtNameReferenceExpression
, которая содержит сущность, на которой это все было собственно вызвано. И вот теперь, можно как-то получить тип этой сущности? Т.е проверить что это именно rx.Observablе, а не MyClass или что-то другое? Может где-то есть мануал или проект с открытым кодом, где что-то подобное делается?