如何用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实例:
StringList<String>ArgMyClass<Arg>FunctionArg<Arg>
我尝试过通过AST获取方法元素对应的AstNode,但节点的declaredElement属性始终为null,无法从AST API回到Element API来确定具体类型。
内容的提问来源于stack exchange,提问作者Alex Radzishevsky
相关产品推荐
相关产品推荐

