如何使用Dart的分析器API获得字段的初始值表达式的类型?
class MyClass {
var prop = <initial value expression>;
}
如果初始值表达式是例如'text'
,我想要得到String
。如果它是一个函数调用,我想得到函数的返回类型。
获得完全解析的AST结构后,要求Expression
代表其staticType
的初始值表达式。这将返回表示静态类型的DartType
。
类型推断可以产生更专门化的类型,您可以使用propagatedType
访问该类型。(如果你不在乎你得到什么类型,你可以使用bestType
。