как подавить предупреждение Dart Analysis "Объявление не упоминается" для файла? - PullRequest
0 голосов
/ 14 июля 2020

У меня есть сгенерированный файл дротика в моем проекте, в котором есть несколько неиспользуемых методов - эти неиспользуемые методы заставляют сервер анализа Dart в Android Studio выдавать предупреждение о каждом неиспользованном методе.

Предупреждение выглядит так: info: The declaration '<method name>' isn't referenced. (unused_element at [<app name>] lib/Models/<file name>.g.dart:<line number of method>)

Как подавить эти предупреждения только для сгенерированного файла?

Ответы [ 2 ]

0 голосов
/ 10 августа 2020

Это общая проблема с вложенными функциями. Если вы объявляете локальную функцию в родительской функции, верните ту же функцию, используя оператор return для родительской функции.

Как в приведенном ниже примере, если бы я не return max(); внутри родительской void MainMax() Я бы получил ошибку The declaration '<method name>' isn't referenced. Проверьте и верните правильные вложенные функции.

void mainMax(int a, int b, int c) {
  void max(){
  if(a>b && a>c){
  print (a);
  } else if (b>a && b>c){
  print (b);
  } else{ 
  print (c);
    }  
  }
max();
}
0 голосов
/ 14 июля 2020

Из шага 5 здесь (стоит прочитать всю статью)

Предупреждения в сгенерированных файлах для вас не важны. Созданные файлы находятся вне вашего контроля. Вы не должны их редактировать и, вероятно, не должны заботиться о том, как выглядит сгенерированный код. Таким образом, вместо того, чтобы загрязнять вашу среду IDE множеством бессмысленных предупреждений, достаточно просто отключить линтер для сгенерированных файлов. Это можно сделать, добавив код в свой analysis_options.yaml. В нашем случае мы будем использовать как json_serializable, так и Freezed, поэтому код, который мы хотим добавить:

analyzer:
  exclude:
    # ignore warnings in files from json_serializable, built_value and most generators
    - "**/*.g.dart"
    # ignore warnings in files generated by Freezed specifically.
    - "**/*.freezed.dart"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...