From f85f9453fda821261e1f27039e9007c937d4c9a9 Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Thu, 20 Mar 2025 15:34:59 +0000 Subject: [PATCH 1/2] Add commented out code allowing local development `model/model.go` is accessing from the github repo, so to test changes to it we need to make sure it is read from the correct local folder instead. --- reflect.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/reflect.go b/reflect.go index 6ad6087..5f4e8be 100644 --- a/reflect.go +++ b/reflect.go @@ -116,6 +116,18 @@ func runInDir(program []byte, dir string) (*model.PackedPkg, error) { if modRoot != "" { MustCopyFile(filepath.Join(modRoot, "go.mod"), filepath.Join(tmpDir, "go.mod")) + + // To enable local development of model/model.go, uncomment the following lines + // f, err := os.OpenFile(filepath.Join(tmpDir, "go.mod"), os.O_APPEND|os.O_WRONLY, 0600) + // if err != nil { + // return nil, fmt.Errorf("failed to open go.mod for appending: %v", err) + // } + // defer f.Close() + + // replaceDirective := "\n\nreplace github.com/github/depstubber => /Users/owen-mc/workspace/depstubber\n" + // if _, err := f.WriteString(replaceDirective); err != nil { + // return nil, fmt.Errorf("failed to append replace directive to go.mod: %v", err) + // } } } From 10c5c82b7b52a9e740d3ba72dab0df49b52299c5 Mon Sep 17 00:00:00 2001 From: Owen Mansel-Chan Date: Wed, 19 Mar 2025 11:23:49 +0000 Subject: [PATCH 2/2] Fix embedded fields --- model/model.go | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/model/model.go b/model/model.go index 130e73f..e25b692 100644 --- a/model/model.go +++ b/model/model.go @@ -598,12 +598,17 @@ func (pt PredeclaredType) String(map[string]string, string) string { return stri func (pt PredeclaredType) addImports(map[string]bool) {} type Field struct { - Name string - Type Type + Name string + Type Type + Anonymous bool } func (f *Field) String(pm map[string]string, pkgOverride string) string { - return f.Name + " " + f.Type.String(pm, pkgOverride) + if f.Anonymous { + return f.Type.String(pm, pkgOverride) + } else { + return f.Name + " " + f.Type.String(pm, pkgOverride) + } } // StructType is a struct type. @@ -885,8 +890,9 @@ func (pkg *Package) unnamedTypeFromType(t reflect.Type) (Type, error) { } m := &Field{ - Name: ft.Name, - Type: typ, + Name: ft.Name, + Type: typ, + Anonymous: ft.Anonymous, } fields = append(fields, m)