Analisador de Go que não detecta comentários do Doc no tipo de estrutura
Estou tentando ler os comentários do Doc associado em um tipo de estrutura usando o Goanalisador east pacotes. Neste exemplo, o código simplesmente se usa como fonte.
package main
import (
"fmt"
"go/ast"
"go/parser"
"go/token"
)
// FirstType docs
type FirstType struct {
// FirstMember docs
FirstMember string
}
// SecondType docs
type SecondType struct {
// SecondMember docs
SecondMember string
}
// Main docs
func main() {
fset := token.NewFileSet() // positions are relative to fset
d, err := parser.ParseDir(fset, "./", nil, parser.ParseComments)
if err != nil {
fmt.Println(err)
return
}
for _, f := range d {
ast.Inspect(f, func(n ast.Node) bool {
switch x := n.(type) {
case *ast.FuncDecl:
fmt.Printf("%s:\tFuncDecl %s\t%s\n", fset.Position(n.Pos()), x.Name, x.Doc)
case *ast.TypeSpec:
fmt.Printf("%s:\tTypeSpec %s\t%s\n", fset.Position(n.Pos()), x.Name, x.Doc)
case *ast.Field:
fmt.Printf("%s:\tField %s\t%s\n", fset.Position(n.Pos()), x.Names, x.Doc)
}
return true
})
}
}
Os documentos de comentários para os campos func e não são problema, mas por algum motivo os 'FirstType docs' e 'SecondType docs' não são encontrados em nenhum lugar. o que estou perdendo? A versão Go é 1.1.2.
(Para executar o procedimento acima, salve-o em um arquivo main.go ego run main.go
)