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



如何使用Dart的分析器API获得字段的初始值表达式的类型?

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

如果初始值表达式是例如'text',我想要得到String。如果它是一个函数调用,我想得到函数的返回类型。

获得完全解析的AST结构后,要求Expression代表其staticType的初始值表达式。这将返回表示静态类型的DartType

类型推断可以产生更专门化的类型,您可以使用propagatedType访问该类型。(如果你不在乎你得到什么类型,你可以使用bestType