aboutsummaryrefslogtreecommitdiff
path: root/gopls/internal/lsp/analysis/fillstruct/testdata/src/a/a.go
diff options
context:
space:
mode:
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.go113
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`