X-Git-Url: https://git.josue.xyz/?a=blobdiff_plain;f=.config%2Fcoc%2Fextensions%2Fcoc-go-data%2Ftools%2Fpkg%2Fmod%2Fgolang.org%2Fx%2Ftools%40v0.0.0-20201105173854-bc9fc8d8c4bc%2Finternal%2Flsp%2Fanalysis%2Ffillreturns%2Ftestdata%2Fsrc%2Fa%2Fa.go;fp=.config%2Fcoc%2Fextensions%2Fcoc-go-data%2Ftools%2Fpkg%2Fmod%2Fgolang.org%2Fx%2Ftools%40v0.0.0-20201105173854-bc9fc8d8c4bc%2Finternal%2Flsp%2Fanalysis%2Ffillreturns%2Ftestdata%2Fsrc%2Fa%2Fa.go;h=44cb25ffa30e64e2438588795b79ecb4c5e36790;hb=4d07c77cf4d78cab8639e13ddc3c22495e585b0b;hp=0000000000000000000000000000000000000000;hpb=b3950616b54221c40a7dab9099bda675007e5b6e;p=dotfiles%2F.git diff --git a/.config/coc/extensions/coc-go-data/tools/pkg/mod/golang.org/x/tools@v0.0.0-20201105173854-bc9fc8d8c4bc/internal/lsp/analysis/fillreturns/testdata/src/a/a.go b/.config/coc/extensions/coc-go-data/tools/pkg/mod/golang.org/x/tools@v0.0.0-20201105173854-bc9fc8d8c4bc/internal/lsp/analysis/fillreturns/testdata/src/a/a.go new file mode 100644 index 00000000..44cb25ff --- /dev/null +++ b/.config/coc/extensions/coc-go-data/tools/pkg/mod/golang.org/x/tools@v0.0.0-20201105173854-bc9fc8d8c4bc/internal/lsp/analysis/fillreturns/testdata/src/a/a.go @@ -0,0 +1,137 @@ +// Copyright 2020 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package fillreturns + +import ( + "errors" + "go/ast" + ast2 "go/ast" + "io" + "net/http" + . "net/http" + "net/url" + "strconv" +) + +type T struct{} +type T1 = T +type I interface{} +type I1 = I +type z func(string, http.Handler) error + +func x() error { + return errors.New("foo") +} + +func b() (string, int, error) { + return "", errors.New("foo") // want "wrong number of return values \\(want 3, got 2\\)" +} + +func c() (string, int, error) { + return 7, errors.New("foo") // want "wrong number of return values \\(want 3, got 2\\)" +} + +func d() (string, int, error) { + return "", 7 // want "wrong number of return values \\(want 3, got 2\\)" +} + +func e() (T, error, *bool) { + return (z(http.ListenAndServe))("", nil) // want "wrong number of return values \\(want 3, got 1\\)" +} + +func preserveLeft() (int, int, error) { + return 1, errors.New("foo") // want "wrong number of return values \\(want 3, got 2\\)" +} + +func matchValues() (int, error, string) { + return errors.New("foo"), 3 // want "wrong number of return values \\(want 3, got 2\\)" +} + +func preventDataOverwrite() (int, string) { + return errors.New("foo") // want "wrong number of return values \\(want 2, got 1\\)" +} + +func closure() (string, error) { + _ = func() (int, error) { + return // want "wrong number of return values \\(want 2, got 0\\)" + } + return // want "wrong number of return values \\(want 2, got 0\\)" +} + +func basic() (uint8, uint16, uint32, uint64, int8, int16, int32, int64, float32, float64, complex64, complex128, byte, rune, uint, int, uintptr, string, bool, error) { + return // want "wrong number of return values \\(want 20, got 0\\)" +} + +func complex() (*int, []int, [2]int, map[int]int) { + return // want "wrong number of return values \\(want 4, got 0\\)" +} + +func structsAndInterfaces() (T, url.URL, T1, I, I1, io.Reader, Client, ast2.Stmt) { + return // want "wrong number of return values \\(want 8, got 0\\)" +} + +func m() (int, error) { + if 1 == 2 { + return // want "wrong number of return values \\(want 2, got 0\\)" + } else if 1 == 3 { + return errors.New("foo") // want "wrong number of return values \\(want 2, got 1\\)" + } else { + return 1 // want "wrong number of return values \\(want 2, got 1\\)" + } + return // want "wrong number of return values \\(want 2, got 0\\)" +} + +func convertibleTypes() (ast2.Expr, int) { + return &ast2.ArrayType{} // want "wrong number of return values \\(want 2, got 1\\)" +} + +func assignableTypes() (map[string]int, int) { + type X map[string]int + var x X + return x // want "wrong number of return values \\(want 2, got 1\\)" +} + +func interfaceAndError() (I, int) { + return errors.New("foo") // want "wrong number of return values \\(want 2, got 1\\)" +} + +func funcOneReturn() (string, error) { + return strconv.Itoa(1) // want "wrong number of return values \\(want 2, got 1\\)" +} + +func funcMultipleReturn() (int, error, string) { + return strconv.Atoi("1") +} + +func localFuncMultipleReturn() (string, int, error, string) { + return b() +} + +func multipleUnused() (int, string, string, string) { + return 3, 4, 5 // want "wrong number of return values \\(want 4, got 3\\)" +} + +func gotTooMany() int { + if true { + return 0, "" // want "wrong number of return values \\(want 1, got 2\\)" + } else { + return 1, 0, nil // want "wrong number of return values \\(want 1, got 3\\)" + } + return 0, 5, false // want "wrong number of return values \\(want 1, got 3\\)" +} + +func fillVars() (int, string, ast.Node, bool, error) { + eint := 0 + s := "a" + var t bool + if true { + err := errors.New("fail") + return // want "wrong number of return values \\(want 5, got 0\\)" + } + n := ast.NewIdent("ident") + int := 3 + var b bool + return "" // want "wrong number of return values \\(want 5, got 1\\)" +}