Как получить значение по умолчанию для необязательного параметра, используя API анализатора Dart?

Я использую API анализатора Dart, который позволяет мне анализировать код Dart.

Вот пример кода:

void soIntense(anything, {bool flag: true, int value}) {  }

Обратите внимание, как flag параметр имеет значение по умолчанию true,

Как я могу получить значение по умолчанию, если у меня есть экземпляр ParameterElement?

1 ответ

Вот лучший способ, который я нашел. Я надеюсь, что есть лучший способ.

Сначала проверьте, есть ли значение по умолчанию:

bool hasDefaultValue = _parameter.defaultValueRange != null &&
       _parameter.defaultValueRange != SourceRange.EMPTY;

Затем вы можете использовать ParameterElement"s defaultValueRange,

SourceRange range = _parameter.defaultValueRange;
return _parameter.source.contents.data.substring(range.offset, range.end);

По-английски:

Получить подстроку данных содержимого источника элемента параметра.

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