Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
如何使用Dart的分析器API 获取字段的初始值表达式的类型?
class MyClass { var prop = <initial value expression>; }
例如,如果初始值表达式是'text',我想得到String. 如果是函数调用,我想获取函数的返回类型。
'text'
String
在得到一个完全解析的 AST 结构后,询问Expression表示它的初始值表达式的staticType. 这将返回DartType代表静态类型。
Expression
staticType
DartType
类型推断可以生成更专业的类型,您可以使用propagatedType. (如果您不在乎获得哪种类型,则可以使用bestType.
propagatedType
bestType