in tools/go-agent/instrument/plugins/rewrite/rewrite.go [126:155]
func (c *Context) rewriteTopLevelNames(files map[*FileInfo]*dst.File) {
for _, f := range files {
dstutil.Apply(f, func(cursor *dstutil.Cursor) bool {
switch n := cursor.Node().(type) {
case *dst.FuncDecl:
case *dst.ImportSpec:
case *dst.TypeSpec:
case *dst.GenDecl:
if n.Tok == token.VAR && cursor.Parent() == f {
for _, spec := range n.Specs {
if valueSpec, ok := spec.(*dst.ValueSpec); ok {
c.Var(valueSpec, true)
}
}
} else if n.Tok == token.TYPE && cursor.Parent() == f {
for _, spec := range n.Specs {
if typeSpec, ok := spec.(*dst.TypeSpec); ok {
c.Type(typeSpec, n, true)
}
}
}
default:
return true
}
return false
}, func(cursor *dstutil.Cursor) bool {
return true
})
}
}