Как получить значение по умолчанию для необязательного параметра, используя 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);
По-английски:
Получить подстроку данных содержимого источника элемента параметра.