Dart 分析器:获取字段初始值的类型

Dart analyzer: Get type of initial value of a field

如何使用 Dart's analyzer API 获取字段的初始值表达式的类型?

class MyClass {
  var prop = <initial value expression>;
}

如果初始值表达式是例如'text',我想得到String。如果是函数调用,我想获取函数的return类型。

在得到完全解析的 AST 结构后,询问 Expression 表示它的 staticType 的初始值表达式。那将return DartType 代表静态类型。

类型推断有可能产生更专业的类型,您可以使用 propagatedType 访问它。 (如果你不关心你得到的是哪种类型,你可以使用 bestType.