Android Studio не определяет ключевое слово "on" для методов расширения Dart - PullRequest
1 голос
/ 28 марта 2020

My Android Studio не распознает on в контексте методов расширения Dart:

void main() {
  print('42'.parseInt());
}

extension NumberParsing on String {
  int parseInt() {
    return int.parse(this);
  }
}

Под ним отображается красная линия, а когда я нахожу курсор мыши, она говорит: Undefined class 'on'.. В результате он также не распознает получатель Type после on, который в моем случае равен String.

Однако он все равно компилируется, запускает код и выдает ожидаемый результат. Так что я думаю, что это глупая проблема Android Studio Editor, и это очень раздражает при кодировании.

Есть идеи, как решить эту проблему?

Hovering over the ON

analysis_options.yaml:

include: package:pedantic/analysis_options.1.8.0.yaml

analyzer:
  enable-experiment:
    - extension-methods
    - spread-collections

Дополнительная информация:

  • Версия плагина флаттера: 44.0.2
  • Версия плагина Dart: 192.7761
  • Android Версия Studio: 3.6.1
  • Ошибка для extension связана с разрешением эксперимента.
  • В контексте try/catch, моя Android Studio распознает on в качестве ключевого слова.

1 Ответ

2 голосов
/ 29 марта 2020

Как упомянуто @pskink в комментариях, проблема была в моем pubspec.yaml, у которого было sdk: ">=2.1.0 <3.0.0" для environment. Мне нужно было поднять его как минимум до sdk: ">=2.6.0 <3.0.0", чтобы решить проблему. (Очевидно, что 2.7.0 тоже работает.)

После этого мне пришлось также коснуться flutter upgrade. Кажется, он был довольно старым, так как на его обновление ушло много времени. После этого каждое предупреждение IDE исчезло в воздухе!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...