diff options
Diffstat (limited to 'workhorse/internal/lsif_transformer')
5 files changed, 21 insertions, 62 deletions
diff --git a/workhorse/internal/lsif_transformer/parser/errors.go b/workhorse/internal/lsif_transformer/parser/errors.go deleted file mode 100644 index 1040a789413..00000000000 --- a/workhorse/internal/lsif_transformer/parser/errors.go +++ /dev/null @@ -1,30 +0,0 @@ -package parser - -import ( - "errors" - "strings" -) - -func combineErrors(errsOrNil ...error) error { - var errs []error - for _, err := range errsOrNil { - if err != nil { - errs = append(errs, err) - } - } - - if len(errs) == 0 { - return nil - } - - if len(errs) == 1 { - return errs[0] - } - - var msgs []string - for _, err := range errs { - msgs = append(msgs, err.Error()) - } - - return errors.New(strings.Join(msgs, "\n")) -} diff --git a/workhorse/internal/lsif_transformer/parser/errors_test.go b/workhorse/internal/lsif_transformer/parser/errors_test.go deleted file mode 100644 index 31a7130d05e..00000000000 --- a/workhorse/internal/lsif_transformer/parser/errors_test.go +++ /dev/null @@ -1,26 +0,0 @@ -package parser - -import ( - "errors" - "testing" - - "github.com/stretchr/testify/require" -) - -type customErr struct { - err string -} - -func (e customErr) Error() string { - return e.err -} - -func TestCombineErrors(t *testing.T) { - err := combineErrors(nil, errors.New("first"), nil, customErr{"second"}) - require.EqualError(t, err, "first\nsecond") - - err = customErr{"custom error"} - require.Equal(t, err, combineErrors(nil, err, nil)) - - require.Nil(t, combineErrors(nil, nil, nil)) -} diff --git a/workhorse/internal/lsif_transformer/parser/hovers.go b/workhorse/internal/lsif_transformer/parser/hovers.go index 5889d595ade..a13c7e4c5c2 100644 --- a/workhorse/internal/lsif_transformer/parser/hovers.go +++ b/workhorse/internal/lsif_transformer/parser/hovers.go @@ -95,10 +95,15 @@ func (h *Hovers) For(refId Id) json.RawMessage { } func (h *Hovers) Close() error { - return combineErrors( + for _, err := range []error{ h.File.Close(), h.Offsets.Close(), - ) + } { + if err != nil { + return err + } + } + return nil } func (h *Hovers) addData(line []byte) error { diff --git a/workhorse/internal/lsif_transformer/parser/ranges.go b/workhorse/internal/lsif_transformer/parser/ranges.go index a11a66d70ca..3786e15186e 100644 --- a/workhorse/internal/lsif_transformer/parser/ranges.go +++ b/workhorse/internal/lsif_transformer/parser/ranges.go @@ -130,11 +130,16 @@ func (r *Ranges) Serialize(f io.Writer, rangeIds []Id, docs map[Id]string) error } func (r *Ranges) Close() error { - return combineErrors( + for _, err := range []error{ r.Cache.Close(), r.References.Close(), r.Hovers.Close(), - ) + } { + if err != nil { + return err + } + } + return nil } func (r *Ranges) definitionPathFor(docs map[Id]string, refId Id) string { diff --git a/workhorse/internal/lsif_transformer/parser/references.go b/workhorse/internal/lsif_transformer/parser/references.go index 58ff9a61c02..39c34105fd1 100644 --- a/workhorse/internal/lsif_transformer/parser/references.go +++ b/workhorse/internal/lsif_transformer/parser/references.go @@ -86,10 +86,15 @@ func (r *References) For(docs map[Id]string, refId Id) []SerializedReference { } func (r *References) Close() error { - return combineErrors( + for _, err := range []error{ r.Items.Close(), r.Offsets.Close(), - ) + } { + if err != nil { + return err + } + } + return nil } func (r *References) getItems(refId Id) []Item { |