github.com/keysonzzz/kmg@v0.0.0-20151121023212-05317bfd7d39/kmgGoSource/PackageDecl.go.bak (about) 1 package kmgGoSource 2 3 import ( 4 "go/ast" 5 "go/doc" 6 //"fmt" 7 ) 8 9 type PackageDecl struct { 10 TypeMap map[string]*TypeDecl 11 } 12 13 func NewPackageDeclFromAstPackage(astPkg *ast.Package, fullImportPath string) *PackageDecl { 14 output := &PackageDecl{TypeMap: make(map[string]*TypeDecl)} 15 16 docPkg := doc.New(astPkg, fullImportPath, doc.AllMethods) 17 for _, t := range docPkg.Types { 18 output.TypeMap[t.Name] = NewTypeDeclFromDocType(t) 19 } 20 return output 21 }