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

mai*_*mic 3 code-analysis static-code-analysis dart dart-analyzer

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

class MyClass {
  var prop = <initial value expression>;
}
Run Code Online (Sandbox Code Playgroud)

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

小智 5

获得完全解析的AST结构后,请询问Expression代表它的初始值表达式staticType.那将返回DartType表示静态类型.

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