相关疑难解决方法(0)

Golang静态标识符解析

我试图使用go/parse,go/tokengo/ast模块对 Go 项目中的函数调用进行一些静态分析,但我不知道如何确定给定ast.Ident对象的类型。

例如,如果解析这样的内容:

textToContain := bytes.NewBuffer([]byte{})
// lots of other code
text := textToContain.String() // <- I care about this function call
Run Code Online (Sandbox Code Playgroud)

(这是从这里解析的:file

编辑:需要大量代码来解析它,所以我没有将其发布在这里,但您可以在以下位置找到它作为要点: https: //gist.github.com/EricChiang/6735340c5fa3d2de2b73

ast.Print我使用该函数打印了以下代码

 0  *ast.CallExpr {
 1  .  Fun: *ast.SelectorExpr {
 2  .  .  X: *ast.Ident {
 4  .  .  .  Name: "textToContain"
 5  .  .  .  Obj: *ast.Object {
 6  .  .  .  .  Kind: var
 7  .  .  .  .  Name: "textToContain" …
Run Code Online (Sandbox Code Playgroud)

static-analysis go

7
推荐指数
1
解决办法
1369
查看次数

标签 统计

go ×1

static-analysis ×1