diff options
Diffstat (limited to 'gopls/internal/lsp/analysis/fillstruct/testdata/src/a/a.go')
-rw-r--r-- | gopls/internal/lsp/analysis/fillstruct/testdata/src/a/a.go | 113 |
1 files changed, 113 insertions, 0 deletions
diff --git a/gopls/internal/lsp/analysis/fillstruct/testdata/src/a/a.go b/gopls/internal/lsp/analysis/fillstruct/testdata/src/a/a.go new file mode 100644 index 000000000..9ee3860fc --- /dev/null +++ b/gopls/internal/lsp/analysis/fillstruct/testdata/src/a/a.go @@ -0,0 +1,113 @@ +// 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 fillstruct + +import ( + data "b" + "go/ast" + "go/token" + "unsafe" +) + +type emptyStruct struct{} + +var _ = emptyStruct{} + +type basicStruct struct { + foo int +} + +var _ = basicStruct{} // want `Fill basicStruct` + +type twoArgStruct struct { + foo int + bar string +} + +var _ = twoArgStruct{} // want `Fill twoArgStruct` + +var _ = twoArgStruct{ // want `Fill twoArgStruct` + bar: "bar", +} + +type nestedStruct struct { + bar string + basic basicStruct +} + +var _ = nestedStruct{} // want `Fill nestedStruct` + +var _ = data.B{} // want `Fill b.B` + +type typedStruct struct { + m map[string]int + s []int + c chan int + c1 <-chan int + a [2]string +} + +var _ = typedStruct{} // want `Fill typedStruct` + +type funStruct struct { + fn func(i int) int +} + +var _ = funStruct{} // want `Fill funStruct` + +type funStructComplex struct { + fn func(i int, s string) (string, int) +} + +var _ = funStructComplex{} // want `Fill funStructComplex` + +type funStructEmpty struct { + fn func() +} + +var _ = funStructEmpty{} // want `Fill funStructEmpty` + +type Foo struct { + A int +} + +type Bar struct { + X *Foo + Y *Foo +} + +var _ = Bar{} // want `Fill Bar` + +type importedStruct struct { + m map[*ast.CompositeLit]ast.Field + s []ast.BadExpr + a [3]token.Token + c chan ast.EmptyStmt + fn func(ast_decl ast.DeclStmt) ast.Ellipsis + st ast.CompositeLit +} + +var _ = importedStruct{} // want `Fill importedStruct` + +type pointerBuiltinStruct struct { + b *bool + s *string + i *int +} + +var _ = pointerBuiltinStruct{} // want `Fill pointerBuiltinStruct` + +var _ = []ast.BasicLit{ + {}, // want `Fill go/ast.BasicLit` +} + +var _ = []ast.BasicLit{{}, // want "go/ast.BasicLit" +} + +type unsafeStruct struct { + foo unsafe.Pointer +} + +var _ = unsafeStruct{} // want `Fill unsafeStruct` |