123456789101112131415161718192021222324252627282930313233 |
- package main
- import (
- "fmt"
- "go/ast"
- )
- func parseFuncDecl(loc string, d *ast.FuncDecl) {
- loc += "." + d.Name.String()
- // fmt.Printf("%s()\n", loc)
- if d.Body == nil {
- fmt.Println("nil func body")
- return
- }
- for _, s := range d.Body.List {
- parseStmt(loc, s)
- }
- }
- func parseGenDecl(loc string, d *ast.GenDecl) {
- loc += "/gendecl"
- for _, s := range d.Specs {
- switch s := s.(type) {
- case *ast.TypeSpec:
- parseTypeSpec(loc, s)
- case *ast.ImportSpec, *ast.ValueSpec:
- // rien
- default:
- fmt.Printf("%s/(%T)\n", loc, s)
- }
- }
- }
|