github.com/galaxyobe/gen@v0.0.0-20220910125335-392fa8f0990f/third_party/gengo/parser/helper.go (about) 1 package parser 2 3 import ( 4 "go/ast" 5 6 "k8s.io/gengo/types" 7 8 tptypes "github.com/galaxyobe/gen/third_party/gengo/types" 9 ) 10 11 func (b *Builder) GetAllParsedFiles() (list []*ast.File) { 12 for _, files := range b.parsed { 13 for _, file := range files { 14 list = append(list, file.file) 15 } 16 } 17 return 18 } 19 20 // ParsedFile is for tracking files with name 21 type ParsedFile struct { 22 Path string 23 File *ast.File 24 } 25 26 func (b *Builder) GetParsedFiles() map[string][]ParsedFile { 27 var m = make(map[string][]ParsedFile, len(b.parsed)) 28 for pkg, files := range b.parsed { 29 var list = make([]ParsedFile, 0, len(files)) 30 for _, file := range files { 31 list = append(list, ParsedFile{ 32 Path: file.name, 33 File: file.file, 34 }) 35 } 36 m[string(pkg)] = list 37 } 38 return m 39 } 40 41 func (b *Builder) ReplaceUniverse(u types.Universe) error { 42 universe, err := b.FindTypes() 43 if err != nil { 44 return err 45 } 46 tptypes.ReplaceUniverse(u, universe) 47 return nil 48 }