我正在使用Dart analyzer API,这让我可以自省Dart代码。
以下是一些示例代码:
void soIntense(anything, {bool flag: true, int value}) { }
请注意flag
参数的默认值为true
。
假设我有一个ParameterElement
的实例?
答案 0 :(得分:4)
这是我找到的最佳方式。我希望有更好的方法。
首先,检查是否存在默认值:
bool hasDefaultValue = _parameter.defaultValueRange != null &&
_parameter.defaultValueRange != SourceRange.EMPTY;
然后,您可以使用ParameterElement
的{{1}}。
defaultValueRange
英文:
获取参数元素的Source的内容数据的子字符串。