You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Dart analyzer包分析函数/方法体的显式依赖类型?

如何分析Dart函数体中的显式引用类型?

我已经可以成功分析方法声明中的返回类型、参数类型等信息,但不清楚如何分析方法体,从中找出所有显式引用的类型。

假设存在如下Dart函数:

String someFunction(int param) {
  final list = <String>['a', 'b', 'c'];                     // -> DartTypes: String, List<String>
  final myClass = MyClass<Arg>();                           // -> DartTypes: Arg, MyClass<Arg>
  final functionCall = anotherFunction<FunctionArg<Arg>>(); // -> DartTypes: Arg, FunctionArg<Arg>
  return 'result';
}

我希望获取该函数依赖的以下带正确类型参数的DartType实例:

  • String
  • List<String>
  • Arg
  • MyClass<Arg>
  • FunctionArg<Arg>

我尝试过通过AST获取方法元素对应的AstNode,但节点的declaredElement属性始终为null,无法从AST API回到Element API来确定具体类型。

内容的提问来源于stack exchange,提问作者Alex Radzishevsky

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 01:15:31