Skip to content

Commit 6165dd6

Browse files
committed
commit before ast changes
1 parent 94efc18 commit 6165dd6

File tree

9 files changed

+81
-154
lines changed

9 files changed

+81
-154
lines changed

_testproj/grr.gen.go

-124
This file was deleted.

clean/clean.go

+6-1
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,13 @@ func CleanEntry(directory string) error {
2121
return grr.Errorf("FailedToWalk: Failed to walk %s", path).AddError(err)
2222
}
2323

24-
if filepath.Ext(path) == ".gen.go" {
24+
if info.IsDir() && info.Name() == ".git" {
25+
return filepath.SkipDir
26+
}
27+
28+
if filepath.Base(path) == "grr.gen.go" {
2529
err := os.Remove(path)
30+
2631
if err != nil {
2732
return grr.Errorf("FailedToDelete: Failed to delete %s", path).AddError(err)
2833
}

clean/grr.gen.go

+4-4
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ type ErrFailedToClean struct {
1717

1818
var _ grr.Error = &ErrFailedToClean{}
1919

20-
func NewErrFailedToClean() grr.Error {
20+
func NewErrFailedToClean() *ErrFailedToClean {
2121
return &ErrFailedToClean{}
2222
}
2323

@@ -86,7 +86,7 @@ type ErrFailedToDelete struct {
8686

8787
var _ grr.Error = &ErrFailedToDelete{}
8888

89-
func NewErrFailedToDelete(path string) grr.Error {
89+
func NewErrFailedToDelete(path string) *ErrFailedToDelete {
9090
return &ErrFailedToDelete{
9191
path: path,
9292
}
@@ -156,7 +156,7 @@ type ErrFailedToResolveDir struct {
156156

157157
var _ grr.Error = &ErrFailedToResolveDir{}
158158

159-
func NewErrFailedToResolveDir() grr.Error {
159+
func NewErrFailedToResolveDir() *ErrFailedToResolveDir {
160160
return &ErrFailedToResolveDir{}
161161
}
162162

@@ -225,7 +225,7 @@ type ErrFailedToWalk struct {
225225

226226
var _ grr.Error = &ErrFailedToWalk{}
227227

228-
func NewErrFailedToWalk(path string) grr.Error {
228+
func NewErrFailedToWalk(path string) *ErrFailedToWalk {
229229
return &ErrFailedToWalk{
230230
path: path,
231231
}

cmd/grr.gen.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ type ErrPathNotFound struct {
1818

1919
var _ grr.Error = &ErrPathNotFound{}
2020

21-
func NewErrPathNotFound(path string) grr.Error {
21+
func NewErrPathNotFound(path string) *ErrPathNotFound {
2222
return &ErrPathNotFound{
2323
path: path,
2424
}

gen/errorStruct.tmpl

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ type {{ .ErrName }} struct {
1111

1212
var _ grr.Error = &{{ .ErrName }}{}
1313

14-
func New{{ .ErrName }}({{ range $i, $pair := .Vars }}{{ $pair.Name }} {{ $pair.Type }}{{ if notlast $i $varlen}}, {{ end }}{{ end }}) grr.Error {
14+
func New{{ .ErrName }}({{ range $i, $pair := .Vars }}{{ $pair.Name }} {{ $pair.Type }}{{ if notlast $i $varlen}}, {{ end }}{{ end }}) *{{ .ErrName }} {
1515
return &{{ .ErrName }}{
1616
{{- range .Vars }}
1717
{{ .Name }}: {{ .Name }},

gen/gen.go

+31-1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ package gen
33
import (
44
"fmt"
55
"go/ast"
6+
"go/printer"
7+
"go/token"
68
"io/fs"
79
"os"
810
"path/filepath"
@@ -94,11 +96,39 @@ func GenerateEntry(directory string) error {
9496

9597
fmt.Printf("Writing to: %s\n", writePath)
9698

97-
err = os.WriteFile(writePath, code, fs.FileMode(os.O_APPEND)|fs.FileMode(os.O_CREATE)|fs.FileMode(os.O_WRONLY))
99+
err = os.WriteFile(writePath, code, fs.FileMode(os.O_APPEND)|fs.FileMode(os.O_CREATE))
98100

99101
if err != nil {
100102
return grr.Errorf("FailedToWriteFile: failed to write generated file").AddError(err)
101103
}
104+
105+
writeFiles(pkg.Fset, pkg, pkgPath)
106+
}
107+
108+
return nil
109+
}
110+
111+
func writeFiles(fset *token.FileSet, pkg *packages.Package, outputDir string) error {
112+
113+
for _, file := range pkg.GoFiles {
114+
outputFile := outputDir + "/" + file
115+
116+
// Create file
117+
out, err := os.Create(outputFile)
118+
if err != nil {
119+
return err
120+
}
121+
122+
// Print the AST back to source code
123+
if err := printer.Fprint(out, fset, file); err != nil {
124+
out.Close() // Close file on error
125+
return err
126+
}
127+
128+
// Close the file
129+
if err := out.Close(); err != nil {
130+
return err
131+
}
102132
}
103133

104134
return nil

gen/grr.gen.go

+15-15
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ type ErrAlreadyDefined struct {
1919

2020
var _ grr.Error = &ErrAlreadyDefined{}
2121

22-
func NewErrAlreadyDefined(errName string) grr.Error {
22+
func NewErrAlreadyDefined(errName string) *ErrAlreadyDefined {
2323
return &ErrAlreadyDefined{
2424
errName: errName,
2525
}
@@ -90,7 +90,7 @@ type ErrConflict struct {
9090

9191
var _ grr.Error = &ErrConflict{}
9292

93-
func NewErrConflict(errName string) grr.Error {
93+
func NewErrConflict(errName string) *ErrConflict {
9494
return &ErrConflict{
9595
errName: errName,
9696
}
@@ -161,7 +161,7 @@ type ErrFailedToExecuteTemplate struct {
161161

162162
var _ grr.Error = &ErrFailedToExecuteTemplate{}
163163

164-
func NewErrFailedToExecuteTemplate(stringsBuilder strings.Builder) grr.Error {
164+
func NewErrFailedToExecuteTemplate(stringsBuilder strings.Builder) *ErrFailedToExecuteTemplate {
165165
return &ErrFailedToExecuteTemplate{
166166
stringsBuilder: stringsBuilder,
167167
}
@@ -231,7 +231,7 @@ type ErrFailedToFormat struct {
231231

232232
var _ grr.Error = &ErrFailedToFormat{}
233233

234-
func NewErrFailedToFormat() grr.Error {
234+
func NewErrFailedToFormat() *ErrFailedToFormat {
235235
return &ErrFailedToFormat{}
236236
}
237237

@@ -299,7 +299,7 @@ type ErrFailedToGenerateStruct struct {
299299

300300
var _ grr.Error = &ErrFailedToGenerateStruct{}
301301

302-
func NewErrFailedToGenerateStruct() grr.Error {
302+
func NewErrFailedToGenerateStruct() *ErrFailedToGenerateStruct {
303303
return &ErrFailedToGenerateStruct{}
304304
}
305305

@@ -367,7 +367,7 @@ type ErrFailedToGetPackagePath struct {
367367

368368
var _ grr.Error = &ErrFailedToGetPackagePath{}
369369

370-
func NewErrFailedToGetPackagePath() grr.Error {
370+
func NewErrFailedToGetPackagePath() *ErrFailedToGetPackagePath {
371371
return &ErrFailedToGetPackagePath{}
372372
}
373373

@@ -435,7 +435,7 @@ type ErrFailedToLoad struct {
435435

436436
var _ grr.Error = &ErrFailedToLoad{}
437437

438-
func NewErrFailedToLoad() grr.Error {
438+
func NewErrFailedToLoad() *ErrFailedToLoad {
439439
return &ErrFailedToLoad{}
440440
}
441441

@@ -503,7 +503,7 @@ type ErrFailedToLoadPackages struct {
503503

504504
var _ grr.Error = &ErrFailedToLoadPackages{}
505505

506-
func NewErrFailedToLoadPackages() grr.Error {
506+
func NewErrFailedToLoadPackages() *ErrFailedToLoadPackages {
507507
return &ErrFailedToLoadPackages{}
508508
}
509509

@@ -571,7 +571,7 @@ type ErrFailedToLoadPreviousErrors struct {
571571

572572
var _ grr.Error = &ErrFailedToLoadPreviousErrors{}
573573

574-
func NewErrFailedToLoadPreviousErrors() grr.Error {
574+
func NewErrFailedToLoadPreviousErrors() *ErrFailedToLoadPreviousErrors {
575575
return &ErrFailedToLoadPreviousErrors{}
576576
}
577577

@@ -639,7 +639,7 @@ type ErrFailedToWriteFile struct {
639639

640640
var _ grr.Error = &ErrFailedToWriteFile{}
641641

642-
func NewErrFailedToWriteFile() grr.Error {
642+
func NewErrFailedToWriteFile() *ErrFailedToWriteFile {
643643
return &ErrFailedToWriteFile{}
644644
}
645645

@@ -707,7 +707,7 @@ type ErrGenerateErrorFile struct {
707707

708708
var _ grr.Error = &ErrGenerateErrorFile{}
709709

710-
func NewErrGenerateErrorFile() grr.Error {
710+
func NewErrGenerateErrorFile() *ErrGenerateErrorFile {
711711
return &ErrGenerateErrorFile{}
712712
}
713713

@@ -775,7 +775,7 @@ type ErrNoErrorMessage struct {
775775

776776
var _ grr.Error = &ErrNoErrorMessage{}
777777

778-
func NewErrNoErrorMessage() grr.Error {
778+
func NewErrNoErrorMessage() *ErrNoErrorMessage {
779779
return &ErrNoErrorMessage{}
780780
}
781781

@@ -843,7 +843,7 @@ type ErrNoErrorName struct {
843843

844844
var _ grr.Error = &ErrNoErrorName{}
845845

846-
func NewErrNoErrorName() grr.Error {
846+
func NewErrNoErrorName() *ErrNoErrorName {
847847
return &ErrNoErrorName{}
848848
}
849849

@@ -912,7 +912,7 @@ type ErrNoPackagesFound struct {
912912

913913
var _ grr.Error = &ErrNoPackagesFound{}
914914

915-
func NewErrNoPackagesFound(stringsBuilder strings.Builder) grr.Error {
915+
func NewErrNoPackagesFound(stringsBuilder strings.Builder) *ErrNoPackagesFound {
916916
return &ErrNoPackagesFound{
917917
stringsBuilder: stringsBuilder,
918918
}
@@ -983,7 +983,7 @@ type ErrOneExpected struct {
983983

984984
var _ grr.Error = &ErrOneExpected{}
985985

986-
func NewErrOneExpected(arg int) grr.Error {
986+
func NewErrOneExpected(arg int) *ErrOneExpected {
987987
return &ErrOneExpected{
988988
arg: arg,
989989
}

0 commit comments

Comments
 (0)