Настраиваемый pylint checker для стиля отступа дает неправильный `node.tolineno` для dicts - PullRequest
0 голосов
/ 13 сентября 2018

Я пишу пользовательскую проверку 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'
    ),
}
...