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  }