From 8076dc26fc7a7a91f13007ce8388b7f850bfeaaf Mon Sep 17 00:00:00 2001 From: Andrei Vydrin Date: Fri, 6 Aug 2021 13:29:34 +0800 Subject: [PATCH] fix: exprgen shouldn't generate methods for aliases --- exprgen/exprgen.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/exprgen/exprgen.go b/exprgen/exprgen.go index 87065c867..241ad0537 100644 --- a/exprgen/exprgen.go +++ b/exprgen/exprgen.go @@ -137,10 +137,18 @@ func fileData(pkgName string, pkg *types.Package) ([]byte, error) { echo(``) imports := make(map[string]string) + imports["fmt"] = "fmt" scope := pkg.Scope() for _, objectName := range scope.Names() { obj := scope.Lookup(objectName) + + // we should generate methods only for non-alias types + tn, ok := obj.(*types.TypeName) + if !ok || tn.IsAlias() { + continue + } + namedType, ok := obj.Type().(*types.Named) if !ok { continue