Обращение к неизвестному методу или свойству (UnknownMember)¶
| Тип | Поддерживаются языки |
Важность | Включена по умолчанию |
Время на исправление (мин) |
Теги |
|---|---|---|---|---|---|
Ошибка |
BSLOS |
Важный |
Нет |
2 |
suspicious |
Описание диагностики¶
Диагностика выявляет обращения к методам и свойствам, которых не существует, — вероятные опечатки или вызовы несуществующего API:
Ресивер.Член— тип ресивера выведен и конкретен, но члена с таким именем у него нет;- голый вызов
Имя(...)— имя не резолвится ни в глобальную функцию/свойство платформы или конфигурации, ни в метод/переменную текущего модуля.
Диагностика опирается на вывод типов и сведения о членах из синтакс-помощника платформы 1С (через bsl-context) либо из встроенного справочника. Если тип ресивера не выводится либо является произвольным/неопределённым, диагностика молчит, чтобы не давать ложных срабатываний.
Диагностика выключена по умолчанию — она эвристическая и требует обкатки на реальных конфигурациях (полнота справочника, динамическая типизация и т.п.).
Примеры¶
Массив = Новый Массив;
Массив.Добвить(1); // Срабатывание: опечатка, у типа Массив нет метода "Добвить"
Исправление — использовать существующий член:
Массив.Добавить(1);
Источники¶
- Источник: синтакс-помощник платформы 1С:Предприятие 8
Сниппеты¶
Экранирование кода¶
// BSLLS:UnknownMember-off
// BSLLS:UnknownMember-on
Параметр конфигурационного файла¶
"UnknownMember": false