Я пишу пользовательскую проверку Pylint для проверки того, что код соответствует локально утвержденному формату отступа. Я использую проверку AST, которая посещает functiondef
, list
и dict
.
Чтобы выполнить проверку, я возвращаюсь на node.parent
к верхнему уровню, где я могу получить исходный код и проверяю отступ на необработанном источнике, используя node.fromlineno
и node.tolineno
, переданные в * 1009. *.
В1: Есть ли лучший способ сделать это, чем проверка необработанного источника?
Если предположить, что это правильный подход, то моя проблема в том, что node.fromlineno
и node.tolineno
имеют значения 1 и 6 при нанесении кода, показанного ниже. node.tolineno
должно быть 8 для visit_dict
в этом случае.
Q2: что-то не так с node.tolineno
в этом случае?
msgs = {
'W9901':
(
'blah',
'blah',
'blah'
),
}