From e2890c684f2b7c1f01d1e42eba148ed82b2699ea Mon Sep 17 00:00:00 2001 From: visualfc Date: Wed, 10 Apr 2024 11:31:15 +0800 Subject: [PATCH 1/6] cl: record ast.OverloadFuncDecl --- cl/compile.go | 20 ++++- cl/recorder.go | 42 +++++++++- x/typesutil/info_test.go | 160 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 217 insertions(+), 5 deletions(-) diff --git a/cl/compile.go b/cl/compile.go index 9b4b2b3d6..8e11e1631 100644 --- a/cl/compile.go +++ b/cl/compile.go @@ -512,6 +512,9 @@ func NewPackage(pkgPath string, pkg *ast.Package, conf *Config) (p *gogen.Packag if conf.Recorder != nil { rec = newRecorder(conf.Recorder) confGox.Recorder = rec + defer func() { + rec.Complete(p.Types.Scope()) + }() } if enableRecover { defer func() { @@ -1080,6 +1083,9 @@ func preloadFile(p *gogen.Package, ctx *blockCtx, f *ast.File, goFile string, ge log.Panicln("TODO - cl.preloadFile OverloadFuncDecl: invalid recv") } recv = otyp + if ctx.rec != nil { + ctx.rec.Refer(recv, recv.Name) + } } onames := make([]string, 0, 4) exov := false @@ -1091,12 +1097,19 @@ func preloadFile(p *gogen.Package, ctx *blockCtx, f *ast.File, goFile string, ge onames = append(onames, expr.Name) ctx.lbinames = append(ctx.lbinames, expr.Name) exov = true + if ctx.rec != nil { + ctx.rec.Refer(expr, expr.Name) + } case *ast.SelectorExpr: checkOverloadMethod(d) - checkOverloadMethodRecvType(recv, expr.X) + rtyp := checkOverloadMethodRecvType(recv, expr.X) onames = append(onames, "."+expr.Sel.Name) ctx.lbinames = append(ctx.lbinames, recv) exov = true + if ctx.rec != nil { + ctx.rec.Refer(rtyp, rtyp.Name) + ctx.rec.Refer(expr.Sel, rtyp.Name+"."+expr.Sel.Name) + } case *ast.FuncLit: checkOverloadFunc(d) name1 := overloadFuncName(name.Name, idx) @@ -1104,7 +1117,7 @@ func preloadFile(p *gogen.Package, ctx *blockCtx, f *ast.File, goFile string, ge ctx.lbinames = append(ctx.lbinames, name1) preloadFuncDecl(&ast.FuncDecl{ Doc: d.Doc, - Name: &ast.Ident{NamePos: name.NamePos, Name: name1}, + Name: &ast.Ident{NamePos: expr.Pos(), Name: name1}, Type: expr.Type, Body: expr.Body, }) @@ -1146,12 +1159,13 @@ func checkOverloadMethod(d *ast.OverloadFuncDecl) { } } -func checkOverloadMethodRecvType(ot *ast.Ident, recv ast.Expr) { +func checkOverloadMethodRecvType(ot *ast.Ident, recv ast.Expr) *ast.Ident { rtyp, _ := getRecvType(recv) rt, ok := rtyp.(*ast.Ident) if !ok || ot.Name != rt.Name { log.Panicln("TODO - checkOverloadMethodRecvType:", recv) } + return rt } const ( diff --git a/cl/recorder.go b/cl/recorder.go index beccc1b95..4ac4c6277 100644 --- a/cl/recorder.go +++ b/cl/recorder.go @@ -18,6 +18,7 @@ package cl import ( "go/types" + "strings" "github.com/goplus/gogen" "github.com/goplus/gop/ast" @@ -28,12 +29,49 @@ import ( type goxRecorder struct { Recorder - types map[ast.Expr]types.TypeAndValue + types map[ast.Expr]types.TypeAndValue + refers map[string][]*ast.Ident } func newRecorder(rec Recorder) *goxRecorder { types := make(map[ast.Expr]types.TypeAndValue) - return &goxRecorder{rec, types} + refers := make(map[string][]*ast.Ident) + return &goxRecorder{rec, types, refers} +} + +// Refer maps identifiers to name for ast.OverloadFuncDecl. +func (p *goxRecorder) Refer(ident *ast.Ident, name string) { + p.refers[name] = append(p.refers[name], ident) +} + +// Complete computes the types record. +func (p *goxRecorder) Complete(scope *types.Scope) { + for name, idents := range p.refers { + pos := strings.Index(name, ".") + if pos == -1 { + if obj := scope.Lookup(name); obj != nil { + for _, id := range idents { + p.Use(id, obj) + } + } + continue + } + if obj := scope.Lookup(name[:pos]); obj != nil { + if named, ok := obj.Type().(*types.Named); ok { + n := named.NumMethods() + for i := 0; i < n; i++ { + if m := named.Method(i); m.Name() == name[pos+1:] { + for _, id := range idents { + p.Use(id, m) + } + break + } + } + } + } + } + p.types = nil + p.refers = nil } // Member maps identifiers to the objects they denote. diff --git a/x/typesutil/info_test.go b/x/typesutil/info_test.go index 07b8dfdd0..d70fbe679 100644 --- a/x/typesutil/info_test.go +++ b/x/typesutil/info_test.go @@ -1985,3 +1985,163 @@ func (p *N) Test__1(n int) { t.Fatal("check TyOverloadMethod failed") } } + +func TestGopOverloadUses(t *testing.T) { + testGopInfo(t, ` +func MulInt(a, b int) int { + return a * b +} + +func MulFloat(a, b float64) float64 { + return a * b +} + +func Mul = ( + MulInt + MulFloat + func(x, y, z int) int { + return x * y * z + } +) + +Mul 100,200 +Mul 100,200,300 +`, ``, `== types == +000: 0: 0 | "MulInt,MulFloat," *ast.BasicLit | value : untyped string = "MulInt,MulFloat," | constant +001: 2:18 | int *ast.Ident | type : int | type +002: 2:23 | int *ast.Ident | type : int | type +003: 3: 9 | a *ast.Ident | var : int | variable +004: 3: 9 | a * b *ast.BinaryExpr | value : int | value +005: 3:13 | b *ast.Ident | var : int | variable +006: 6:20 | float64 *ast.Ident | type : float64 | type +007: 6:29 | float64 *ast.Ident | type : float64 | type +008: 7: 9 | a *ast.Ident | var : float64 | variable +009: 7: 9 | a * b *ast.BinaryExpr | value : float64 | value +010: 7:13 | b *ast.Ident | var : float64 | variable +011: 13:15 | int *ast.Ident | type : int | type +012: 13:20 | int *ast.Ident | type : int | type +013: 14:10 | x *ast.Ident | var : int | variable +014: 14:10 | x * y *ast.BinaryExpr | value : int | value +015: 14:10 | x * y * z *ast.BinaryExpr | value : int | value +016: 14:14 | y *ast.Ident | var : int | variable +017: 14:18 | z *ast.Ident | var : int | variable +018: 18: 1 | Mul *ast.Ident | value : func(a int, b int) int | value +019: 18: 1 | Mul 100, 200 *ast.CallExpr | value : int | value +020: 18: 5 | 100 *ast.BasicLit | value : untyped int = 100 | constant +021: 18: 9 | 200 *ast.BasicLit | value : untyped int = 200 | constant +022: 19: 1 | Mul *ast.Ident | value : func(x int, y int, z int) int | value +023: 19: 1 | Mul 100, 200, 300 *ast.CallExpr | value : int | value +024: 19: 5 | 100 *ast.BasicLit | value : untyped int = 100 | constant +025: 19: 9 | 200 *ast.BasicLit | value : untyped int = 200 | constant +026: 19:13 | 300 *ast.BasicLit | value : untyped int = 300 | constant +== defs == +000: 0: 0 | Gopo_Mul | const main.Gopo_Mul untyped string +001: 2: 6 | MulInt | func main.MulInt(a int, b int) int +002: 2:13 | a | var a int +003: 2:16 | b | var b int +004: 6: 6 | MulFloat | func main.MulFloat(a float64, b float64) float64 +005: 6:15 | a | var a float64 +006: 6:18 | b | var b float64 +007: 13: 2 | Mul__2 | func main.Mul__2(x int, y int, z int) int +008: 13: 7 | x | var x int +009: 13:10 | y | var y int +010: 13:13 | z | var z int +011: 18: 1 | main | func main.main() +== uses == +000: 2:18 | int | type int +001: 2:23 | int | type int +002: 3: 9 | a | var a int +003: 3:13 | b | var b int +004: 6:20 | float64 | type float64 +005: 6:29 | float64 | type float64 +006: 7: 9 | a | var a float64 +007: 7:13 | b | var b float64 +008: 11: 2 | MulInt | func main.MulInt(a int, b int) int +009: 12: 2 | MulFloat | func main.MulFloat(a float64, b float64) float64 +010: 13:15 | int | type int +011: 13:20 | int | type int +012: 14:10 | x | var x int +013: 14:14 | y | var y int +014: 14:18 | z | var z int +015: 18: 1 | Mul | func main.MulInt(a int, b int) int +016: 19: 1 | Mul | func main.Mul__2(x int, y int, z int) int`) + + testGopInfo(t, ` +type foo struct { +} + +func (a *foo) mulInt(b int) *foo { + return a +} + +func (a *foo) mulFoo(b *foo) *foo { + return a +} + +func (foo).mul = ( + (foo).mulInt + (foo).mulFoo +) + +var a, b *foo +var c = a.mul(100) +var d = a.mul(c) +`, ``, `== types == +000: 0: 0 | ".mulInt,.mulFoo" *ast.BasicLit | value : untyped string = ".mulInt,.mulFoo" | constant +001: 2:10 | struct { +} *ast.StructType | type : struct{} | type +002: 5:10 | foo *ast.Ident | type : main.foo | type +003: 5:24 | int *ast.Ident | type : int | type +004: 5:29 | *foo *ast.StarExpr | type : *main.foo | type +005: 5:30 | foo *ast.Ident | type : main.foo | type +006: 6: 9 | a *ast.Ident | var : *main.foo | variable +007: 9:10 | foo *ast.Ident | type : main.foo | type +008: 9:24 | *foo *ast.StarExpr | type : *main.foo | type +009: 9:25 | foo *ast.Ident | type : main.foo | type +010: 9:30 | *foo *ast.StarExpr | type : *main.foo | type +011: 9:31 | foo *ast.Ident | type : main.foo | type +012: 10: 9 | a *ast.Ident | var : *main.foo | variable +013: 18:10 | *foo *ast.StarExpr | type : *main.foo | type +014: 18:11 | foo *ast.Ident | type : main.foo | type +015: 19: 9 | a *ast.Ident | var : *main.foo | variable +016: 19: 9 | a.mul *ast.SelectorExpr | value : func(b int) *main.foo | value +017: 19: 9 | a.mul(100) *ast.CallExpr | value : *main.foo | value +018: 19:15 | 100 *ast.BasicLit | value : untyped int = 100 | constant +019: 20: 9 | a *ast.Ident | var : *main.foo | variable +020: 20: 9 | a.mul *ast.SelectorExpr | value : func(b *main.foo) *main.foo | value +021: 20: 9 | a.mul(c) *ast.CallExpr | value : *main.foo | value +022: 20:15 | c *ast.Ident | var : *main.foo | variable +== defs == +000: 0: 0 | Gopo_foo_mul | const main.Gopo_foo_mul untyped string +001: 2: 6 | foo | type main.foo struct{} +002: 5: 7 | a | var a *main.foo +003: 5:15 | mulInt | func (*main.foo).mulInt(b int) *main.foo +004: 5:22 | b | var b int +005: 9: 7 | a | var a *main.foo +006: 9:15 | mulFoo | func (*main.foo).mulFoo(b *main.foo) *main.foo +007: 9:22 | b | var b *main.foo +008: 18: 5 | a | var main.a *main.foo +009: 18: 8 | b | var main.b *main.foo +010: 19: 5 | c | var main.c *main.foo +011: 20: 5 | d | var main.d *main.foo +== uses == +000: 5:10 | foo | type main.foo struct{} +001: 5:24 | int | type int +002: 5:30 | foo | type main.foo struct{} +003: 6: 9 | a | var a *main.foo +004: 9:10 | foo | type main.foo struct{} +005: 9:25 | foo | type main.foo struct{} +006: 9:31 | foo | type main.foo struct{} +007: 10: 9 | a | var a *main.foo +008: 13: 7 | foo | type main.foo struct{} +009: 14: 3 | foo | type main.foo struct{} +010: 14: 8 | mulInt | func (*main.foo).mulInt(b int) *main.foo +011: 15: 3 | foo | type main.foo struct{} +012: 15: 8 | mulFoo | func (*main.foo).mulFoo(b *main.foo) *main.foo +013: 18:11 | foo | type main.foo struct{} +014: 19: 9 | a | var main.a *main.foo +015: 19:11 | mul | func (*main.foo).mulInt(b int) *main.foo +016: 20: 9 | a | var main.a *main.foo +017: 20:11 | mul | func (*main.foo).mulFoo(b *main.foo) *main.foo +018: 20:15 | c | var main.c *main.foo`) +} From b929e5d1a912af1b2f8d05e333bb67fe6ba4c0ab Mon Sep 17 00:00:00 2001 From: visualfc Date: Wed, 10 Apr 2024 17:47:29 +0800 Subject: [PATCH 2/6] cl & printer: set astFnClassfname shadow and no printer --- cl/classfile.go | 1 + printer/nodes.go | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/cl/classfile.go b/cl/classfile.go index 9a101c850..2944b03db 100644 --- a/cl/classfile.go +++ b/cl/classfile.go @@ -427,6 +427,7 @@ func astFnClassfname(c *gmxClass) *ast.FuncDecl { }, }, }, + Shadow: true, } } diff --git a/printer/nodes.go b/printer/nodes.go index 309c977fb..2cf61f61d 100644 --- a/printer/nodes.go +++ b/printer/nodes.go @@ -2090,6 +2090,10 @@ func declToken(decl ast.Decl) (tok token.Token) { func (p *printer) declList(list []ast.Decl) { tok := token.ILLEGAL for _, d := range list { + // skip no entry shadow + if decl, ok := d.(*ast.FuncDecl); ok && decl.Shadow && decl != p.shadowEntry { + continue + } prev := tok tok = declToken(d) // If the declaration token changed (e.g., from CONST to TYPE) From 115c87633cb4a5e901df1bb33a9ab2e70cedf94b Mon Sep 17 00:00:00 2001 From: visualfc Date: Wed, 10 Apr 2024 17:56:47 +0800 Subject: [PATCH 3/6] printer: update shadow test --- printer/gop_test.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/printer/gop_test.go b/printer/gop_test.go index 8aadd2977..83fae9612 100644 --- a/printer/gop_test.go +++ b/printer/gop_test.go @@ -67,6 +67,12 @@ func TestFuncs(t *testing.T) { Name: &ast.Ident{Name: "bar"}, Body: &ast.BlockStmt{}, }, + &ast.FuncDecl{ + Type: &ast.FuncType{Params: &ast.FieldList{}}, + Name: &ast.Ident{Name: "Classname"}, + Body: &ast.BlockStmt{}, + Shadow: true, + }, }, NoPkgDecl: true, }); err != nil { From 38adad78143c0ccba2492508fd945f6280c1c420 Mon Sep 17 00:00:00 2001 From: visualfc Date: Fri, 12 Apr 2024 11:21:30 +0800 Subject: [PATCH 4/6] add gop.GetFileClassType --- cl/builtin_test.go | 74 ++++++++++++++++++++++++++++++++++++++++++++++ cl/classfile.go | 27 +++++++++++++++++ load.go | 7 +++++ 3 files changed, 108 insertions(+) diff --git a/cl/builtin_test.go b/cl/builtin_test.go index bdae13aaf..ce7133df0 100644 --- a/cl/builtin_test.go +++ b/cl/builtin_test.go @@ -314,6 +314,80 @@ func TestClassNameAndExt(t *testing.T) { } } +func TestFileClassType(t *testing.T) { + type testData struct { + isClass bool + isNormalGox bool + isProj bool + fileName string + classType string + isTest bool + found bool + } + tests := []*testData{ + {false, false, false, "abc.gop", "", false, false}, + {false, false, false, "abc_test.gop", "", true, false}, + + {true, true, false, "abc.gox", "abc", false, true}, + {true, true, false, "Abc.gox", "Abc", false, true}, + {true, true, false, "abc_demo.gox", "abc", false, true}, + {true, true, false, "Abc_demo.gox", "Abc", false, true}, + + {true, true, false, "main.gox", "_main", false, true}, + {true, true, false, "main_demo.gox", "_main", false, true}, + {true, true, false, "abc_xtest.gox", "abc", false, true}, + {true, true, false, "main_xtest.gox", "_main", false, true}, + + {true, true, false, "abc_test.gox", "case_abc", true, true}, + {true, true, false, "Abc_test.gox", "caseAbc", true, true}, + {true, true, false, "main_test.gox", "case_main", true, true}, + + {true, false, false, "get.yap", "get", false, true}, + {true, false, false, "get_p_#id.yap", "get_p_id", false, true}, + {true, false, true, "main.yap", "AppV2", false, true}, + + {true, false, false, "abc_yap.gox", "abc", false, true}, + {true, false, false, "Abc_yap.gox", "Abc", false, true}, + {true, false, true, "main_yap.gox", "App", false, true}, + + {true, false, false, "abc_ytest.gox", "case_abc", true, true}, + {true, false, false, "Abc_ytest.gox", "caseAbc", true, true}, + {true, false, true, "main_ytest.gox", "App", true, true}, + } + lookupClass := func(ext string) (c *Project, ok bool) { + switch ext { + case ".yap": + return &modfile.Project{ + Ext: ".yap", Class: "AppV2", + Works: []*modfile.Class{{Ext: ".yap", Class: "Handler"}}, + PkgPaths: []string{"github.com/goplus/yap"}}, true + case "_yap.gox": + return &modfile.Project{ + Ext: "_yap.gox", Class: "App", + PkgPaths: []string{"github.com/goplus/yap"}}, true + case "_ytest.gox": + return &modfile.Project{ + Ext: "_ytest.gox", Class: "App", + Works: []*modfile.Class{{Ext: "_ytest.gox", Class: "Case"}}, + PkgPaths: []string{"github.com/goplus/yap/ytest", "testing"}}, true + } + return + } + for _, test := range tests { + f := &ast.File{IsClass: test.isClass, IsNormalGox: test.isNormalGox, IsProj: test.isProj} + classType, isTest, found := GetFileClassType(f, test.fileName, lookupClass) + if found != test.found { + t.Fatalf("%v found classType want %v, got %v.", test.fileName, test.found, found) + } + if isTest != test.isTest { + t.Fatalf("%v check classType isTest want %v, got %v.", test.fileName, test.isTest, isTest) + } + if classType != test.classType { + t.Fatalf("%v getClassType want %v, got %v.", test.fileName, test.classType, classType) + } + } +} + func TestErrMultiStarRecv(t *testing.T) { defer func() { if e := recover(); e == nil { diff --git a/cl/classfile.go b/cl/classfile.go index 2944b03db..06572f0c1 100644 --- a/cl/classfile.go +++ b/cl/classfile.go @@ -96,6 +96,33 @@ func ClassNameAndExt(file string) (name, clsfile, ext string) { return } +// GetFileClassType get ast.File classType +func GetFileClassType(file *ast.File, filename string, lookupClass func(ext string) (c *Project, ok bool)) (classType string, isTest bool, ok bool) { + if file.IsClass { + var ext string + classType, _, ext = ClassNameAndExt(filename) + ok = true + if file.IsNormalGox { + isTest = strings.HasSuffix(ext, "_test.gox") + if !isTest && classType == "main" { + classType = "_main" + } + } else { + isTest = strings.HasSuffix(ext, "test.gox") + } + if file.IsProj { + if gt, ok := lookupClass(ext); ok { + classType = gt.Class + } + } else if isTest { + classType = casePrefix + testNameSuffix(classType) + } + } else if strings.HasSuffix(filename, "_test.gop") { + isTest = true + } + return +} + func isGoxTestFile(ext string) bool { return strings.HasSuffix(ext, "test.gox") } diff --git a/load.go b/load.go index 05e8337e1..127d33975 100644 --- a/load.go +++ b/load.go @@ -403,3 +403,10 @@ var ( ) // ----------------------------------------------------------------------------- + +// GetFileClassType get gop module file classType. +func GetFileClassType(mod *gopmod.Module, file *ast.File, filename string) (classType string, isTest bool, ok bool) { + return cl.GetFileClassType(file, filename, mod.LookupClass) +} + +// ----------------------------------------------------------------------------- From ff19d08c227e93adc60c307d03f09920ac62d9cb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 12 Apr 2024 17:45:15 +0000 Subject: [PATCH 5/6] build(deps): bump github.com/goplus/mod from 0.13.9 to 0.13.10 Bumps [github.com/goplus/mod](https://github.com/goplus/mod) from 0.13.9 to 0.13.10. - [Release notes](https://github.com/goplus/mod/releases) - [Commits](https://github.com/goplus/mod/compare/v0.13.9...v0.13.10) --- updated-dependencies: - dependency-name: github.com/goplus/mod dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 6 +++--- go.sum | 12 ++++++------ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/go.mod b/go.mod index 7c4f05879..2b03c4005 100644 --- a/go.mod +++ b/go.mod @@ -6,8 +6,8 @@ require ( github.com/fsnotify/fsnotify v1.7.0 github.com/goplus/c2go v0.7.25 github.com/goplus/gogen v1.15.2-0.20240401172158-4586769ba6d4 - github.com/goplus/mod v0.13.9 - github.com/qiniu/x v1.13.9 + github.com/goplus/mod v0.13.10 + github.com/qiniu/x v1.13.10 golang.org/x/tools v0.19.0 ) @@ -15,7 +15,7 @@ require ( github.com/json-iterator/go v1.1.12 // indirect github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421 // indirect github.com/modern-go/reflect2 v1.0.2 // indirect - golang.org/x/mod v0.16.0 // indirect + golang.org/x/mod v0.17.0 // indirect golang.org/x/sys v0.18.0 // indirect ) diff --git a/go.sum b/go.sum index 1e7ed5fbf..9d8a9983a 100644 --- a/go.sum +++ b/go.sum @@ -8,8 +8,8 @@ github.com/goplus/c2go v0.7.25 h1:QvQfOwGVGKFYOTLry8i4p9U55jnIOQWeLsnSyFg0hhc= github.com/goplus/c2go v0.7.25/go.mod h1:e9oe4jDVhGFMJLEGmPSrVkLuXbLZAEmAu0/uD6fSz5E= github.com/goplus/gogen v1.15.2-0.20240401172158-4586769ba6d4 h1:u4aI5iMvIEBHg3Ity6LtqM2JZeHecMtINqXyi563YHo= github.com/goplus/gogen v1.15.2-0.20240401172158-4586769ba6d4/go.mod h1:92qEzVgv7y8JEFICWG9GvYI5IzfEkxYdsA1DbmnTkqk= -github.com/goplus/mod v0.13.9 h1:B9zZoHi2AzMltTSOFqZNVjqGlSMlhhNTWwEzVqhTQzg= -github.com/goplus/mod v0.13.9/go.mod h1:MibsLSftGmxaQq78YzUzNviyFwB9RtpMaoscufvEKH4= +github.com/goplus/mod v0.13.10 h1:5Om6KOvo31daN7N30kWU1vC5zhsJPM+uPbcEN/FnlzE= +github.com/goplus/mod v0.13.10/go.mod h1:HDuPZgpWiaTp3PUolFgsiX+Q77cbUWB/mikVHfYND3c= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421 h1:ZqeYNhU3OHLH3mGKHDcjJRFFRrJa6eAM5H+CtDdOsPc= @@ -18,8 +18,8 @@ github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9G github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/qiniu/x v1.13.9 h1:OUcQZSze1oTO5pzrhsepTUvEb9K9WtOiqZomWffFGWE= -github.com/qiniu/x v1.13.9/go.mod h1:INZ2TSWSJVWO/RuELQROERcslBwVgFG7MkTfEdaQz9E= +github.com/qiniu/x v1.13.10 h1:J4Z3XugYzAq85SlyAfqlKVrbf05glMbAOh+QncsDQpE= +github.com/qiniu/x v1.13.10/go.mod h1:INZ2TSWSJVWO/RuELQROERcslBwVgFG7MkTfEdaQz9E= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= @@ -30,8 +30,8 @@ golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliY golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/mod v0.16.0 h1:QX4fJ0Rr5cPQCF7O9lh9Se4pmwfwskqZfq5moyldzic= -golang.org/x/mod v0.16.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +golang.org/x/mod v0.17.0 h1:zY54UmvipHiNd+pm+m0x9KhZ9hl1/7QNMyxXbc6ICqA= +golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= From cb38570f13de80d322be4685e6690f3444e5ad90 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 12 Apr 2024 18:24:06 +0000 Subject: [PATCH 6/6] build(deps): bump github.com/goplus/gogen Bumps [github.com/goplus/gogen](https://github.com/goplus/gogen) from 1.15.2-0.20240401172158-4586769ba6d4 to 1.15.2. - [Release notes](https://github.com/goplus/gogen/releases) - [Commits](https://github.com/goplus/gogen/commits/v1.15.2) --- updated-dependencies: - dependency-name: github.com/goplus/gogen dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 2b03c4005..c9580779b 100644 --- a/go.mod +++ b/go.mod @@ -5,7 +5,7 @@ go 1.18 require ( github.com/fsnotify/fsnotify v1.7.0 github.com/goplus/c2go v0.7.25 - github.com/goplus/gogen v1.15.2-0.20240401172158-4586769ba6d4 + github.com/goplus/gogen v1.15.2 github.com/goplus/mod v0.13.10 github.com/qiniu/x v1.13.10 golang.org/x/tools v0.19.0 diff --git a/go.sum b/go.sum index 9d8a9983a..8aab186a4 100644 --- a/go.sum +++ b/go.sum @@ -6,8 +6,8 @@ github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyT github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/goplus/c2go v0.7.25 h1:QvQfOwGVGKFYOTLry8i4p9U55jnIOQWeLsnSyFg0hhc= github.com/goplus/c2go v0.7.25/go.mod h1:e9oe4jDVhGFMJLEGmPSrVkLuXbLZAEmAu0/uD6fSz5E= -github.com/goplus/gogen v1.15.2-0.20240401172158-4586769ba6d4 h1:u4aI5iMvIEBHg3Ity6LtqM2JZeHecMtINqXyi563YHo= -github.com/goplus/gogen v1.15.2-0.20240401172158-4586769ba6d4/go.mod h1:92qEzVgv7y8JEFICWG9GvYI5IzfEkxYdsA1DbmnTkqk= +github.com/goplus/gogen v1.15.2 h1:Q6XaSx/Zi5tWnjfAziYsQI6Jv6MgODRpFtOYqNkiiqM= +github.com/goplus/gogen v1.15.2/go.mod h1:92qEzVgv7y8JEFICWG9GvYI5IzfEkxYdsA1DbmnTkqk= github.com/goplus/mod v0.13.10 h1:5Om6KOvo31daN7N30kWU1vC5zhsJPM+uPbcEN/FnlzE= github.com/goplus/mod v0.13.10/go.mod h1:HDuPZgpWiaTp3PUolFgsiX+Q77cbUWB/mikVHfYND3c= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM=