github.com/unionj-cloud/go-doudou/v2@v2.3.5/toolkit/gormgen/internal/parser/utils.go (about)

     1  package parser
     2  
     3  import "go/ast"
     4  
     5  func getParamList(fields *ast.FieldList) []Param {
     6  	if fields == nil {
     7  		return nil
     8  	}
     9  	var pars []Param
    10  	if len(fields.List) < 1 {
    11  		return nil
    12  	}
    13  	for _, field := range fields.List {
    14  		if field.Names == nil {
    15  			par := Param{}
    16  			par.astGetParamType(field)
    17  			pars = append(pars, par)
    18  			continue
    19  		}
    20  
    21  		for _, name := range field.Names {
    22  			par := Param{
    23  				Name: name.Name,
    24  			}
    25  			par.astGetParamType(field)
    26  			pars = append(pars, par)
    27  			continue
    28  		}
    29  	}
    30  	return pars
    31  }
    32  
    33  func fixParamPackagePath(imports map[string]string, params []Param) {
    34  	for i := range params {
    35  		if importPath, exist := imports[params[i].Package]; exist {
    36  			params[i].PkgPath = importPath
    37  		}
    38  	}
    39  }