Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Dart的analyzer API获取可选参数的默认值?_Dart_Dart Analyzer - Fatal编程技术网

如何使用Dart的analyzer API获取可选参数的默认值?

如何使用Dart的analyzer API获取可选参数的默认值?,dart,dart-analyzer,Dart,Dart Analyzer,我使用的是的API,它允许我内省Dart代码 下面是一些示例代码: void soIntense(anything, {bool flag: true, int value}) { } 请注意flag参数的默认值为true 假设我有一个ParameterElement实例,如何获得默认值?以下是我找到的最佳方法。我希望有更好的办法 首先,检查是否存在默认值: bool hasDefaultValue=\u parameter.defaultValueRange!=空的&& _paramete

我使用的是的API,它允许我内省Dart代码

下面是一些示例代码:

void soIntense(anything, {bool flag: true, int value}) {  }
请注意flag参数的默认值为true


假设我有一个ParameterElement实例,如何获得默认值?

以下是我找到的最佳方法。我希望有更好的办法

首先,检查是否存在默认值:

bool hasDefaultValue=\u parameter.defaultValueRange!=空的&& _parameter.defaultValueRange!=SourceRange.EMPTY; 然后,可以使用ParameterElement的defaultValueRange

英文:

获取参数元素的源内容的数据的子字符串

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