@@ -15,28 +15,20 @@ var (
1515 buildFlags = flag .String ("build_flags" , "" , "(package mode) Additional flags for go build." )
1616)
1717
18- type packageModeParser struct {
19- pkgName string
20- }
18+ type packageModeParser struct {}
2119
2220func (p * packageModeParser ) parsePackage (packageName string , ifaces []string ) (* model.Package , error ) {
23- p .pkgName = packageName
24-
2521 pkg , err := p .loadPackage (packageName )
2622 if err != nil {
2723 return nil , fmt .Errorf ("load package: %w" , err )
2824 }
2925
30- interfaces , err := extractInterfacesFromPackageTypes ( pkg . Types , ifaces )
26+ modelPackage , err := parseExportFile ( packageName , ifaces , pkg . ExportFile )
3127 if err != nil {
3228 return nil , fmt .Errorf ("extract interfaces from package: %w" , err )
3329 }
3430
35- return & model.Package {
36- Name : pkg .Types .Name (),
37- PkgPath : packageName ,
38- Interfaces : interfaces ,
39- }, nil
31+ return modelPackage , nil
4032}
4133
4234func (p * packageModeParser ) loadPackage (packageName string ) (* packages.Package , error ) {
@@ -46,7 +38,7 @@ func (p *packageModeParser) loadPackage(packageName string) (*packages.Package,
4638 }
4739
4840 cfg := & packages.Config {
49- Mode : packages .NeedDeps | packages . NeedImports | packages . NeedTypes | packages . NeedTypesInfo | packages . NeedEmbedFiles | packages . LoadSyntax ,
41+ Mode : packages .NeedExportFile ,
5042 BuildFlags : buildFlagsSet ,
5143 }
5244 pkgs , err := packages .Load (cfg , packageName )
0 commit comments