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

时间:2015-02-08 19:58:02

标签: dart dart-analyzer

我正在使用Dart analyzer API,这让我可以自省Dart代码。

以下是一些示例代码:

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

请注意flag参数的默认值为true

假设我有一个ParameterElement的实例?

,我怎样才能获得默认值?

1 个答案:

答案 0 :(得分:4)

这是我找到的最佳方式。我希望有更好的方法。

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

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

然后,您可以使用ParameterElement的{​​{1}}。

defaultValueRange

英文:

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