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  }