Как я могу получить информацию AST об использовании индекса в SwiftLint (или SourceKitten)

Я пытаюсь написать новое правило для использования подписки массива в SwiftLint, но я не могу получить необходимую информацию. Итак, для следующего примера кода Swift:

let arr = [1, 2, 3]
let dict = [1: "hi", 2: "bye"]
arr[2]
dict[2]

Я хочу правило, которое предупредит меня, что arr[2] может разбиться, но не dict[2] (поэтому я не думаю, что правило регулярных выражений будет работать).

Я попытался поиграть с SourceKitten из командной строки и не смог найти никакой информации о доступе к индексам массива. Я также попытался создать свой собственный ASTRule в SwiftLint и заставил его создавать предупреждение в каждой отдельной строке, но предупреждения появлялись только в объявлениях, а не в выражениях, и я не могу найти какие-либо существующие ASTRule, которые не относятся к объявлениям, поэтому я не знаю с чего начать

0 ответов

Другие вопросы по тегам