| // 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" |
| ) |
| |
| type emptyStruct struct{} |
| |
| var _ = emptyStruct{} |
| |
| type basicStruct struct { |
| foo int |
| } |
| |
| var _ = basicStruct{} // want "" |
| |
| type twoArgStruct struct { |
| foo int |
| bar string |
| } |
| |
| var _ = twoArgStruct{} // want "" |
| |
| var _ = twoArgStruct{ |
| bar: "bar", |
| } |
| |
| type nestedStruct struct { |
| bar string |
| basic basicStruct |
| } |
| |
| var _ = nestedStruct{} // want "" |
| |
| var _ = data.B{} // want "" |
| |
| type typedStruct struct { |
| m map[string]int |
| s []int |
| c chan int |
| c1 <-chan int |
| a [2]string |
| } |
| |
| var _ = typedStruct{} // want "" |
| |
| type funStruct struct { |
| fn func(i int) int |
| } |
| |
| var _ = funStruct{} // want "" |
| |
| type funStructCompex struct { |
| fn func(i int, s string) (string, int) |
| } |
| |
| var _ = funStructCompex{} // want "" |
| |
| type funStructEmpty struct { |
| fn func() |
| } |
| |
| var _ = funStructEmpty{} // want "" |
| |
| type Foo struct { |
| A int |
| } |
| |
| type Bar struct { |
| X *Foo |
| Y *Foo |
| } |
| |
| var _ = Bar{} // want "" |
| |
| 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 "" |
| |
| type pointerBuiltinStruct struct { |
| b *bool |
| s *string |
| i *int |
| } |
| |
| var _ = pointerBuiltinStruct{} // want "" |
| |
| var _ = []ast.BasicLit{ |
| {}, // want "" |
| } |
| |
| var _ = []ast.BasicLit{{}, // want "" |
| } |