diff --git a/mapgen/go.mod b/mapgen/go.mod new file mode 100644 index 0000000..787464e --- /dev/null +++ b/mapgen/go.mod @@ -0,0 +1,9 @@ +module mapgen + +go 1.25.5 + +require ( + golang.org/x/mod v0.35.0 // indirect + golang.org/x/sync v0.20.0 // indirect + golang.org/x/tools v0.44.0 // indirect +) diff --git a/mapgen/go.sum b/mapgen/go.sum new file mode 100644 index 0000000..d570929 --- /dev/null +++ b/mapgen/go.sum @@ -0,0 +1,6 @@ +golang.org/x/mod v0.35.0 h1:Ww1D637e6Pg+Zb2KrWfHQUnH2dQRLBQyAtpr/haaJeM= +golang.org/x/mod v0.35.0/go.mod h1:+GwiRhIInF8wPm+4AoT6L0FA1QWAad3OMdTRx4tFYlU= +golang.org/x/sync v0.20.0 h1:e0PTpb7pjO8GAtTs2dQ6jYa5BWYlMuX047Dco/pItO4= +golang.org/x/sync v0.20.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0= +golang.org/x/tools v0.44.0 h1:UP4ajHPIcuMjT1GqzDWRlalUEoY+uzoZKnhOjbIPD2c= +golang.org/x/tools v0.44.0/go.mod h1:KA0AfVErSdxRZIsOVipbv3rQhVXTnlU6UhKxHd1seDI= diff --git a/mapgen/main.go b/mapgen/main.go new file mode 100644 index 0000000..b335654 --- /dev/null +++ b/mapgen/main.go @@ -0,0 +1,32 @@ +package main + +import ( + "fmt" + "go/token" + + "golang.org/x/tools/go/packages" +) + +func main() { + cfg := &packages.Config{ + Mode: packages.NeedTypes, + } + + pkgs, err := packages.Load(cfg, "fmt") + if err != nil { + panic(err) + } + + for _, pkg := range pkgs { + scope := pkg.Types.Scope() + + for _, name := range scope.Names() { + if !token.IsExported(name) { + continue + } + + obj := scope.Lookup(name) + fmt.Println(name, obj.Type()) + } + } +}