mirror of
https://github.com/golang/go
synced 2024-11-06 19:46:20 -07:00
5adc67163c
Now we always expect type names inside of *ast.FieldList. This expands the previous func signature logic to also work for *ast.StructType and *ast.InterfaceType. For example, we will now prefer type names in cases like: type myStruct struct { i i<> } Also, fix a check for anonymous fields to make sure the field is actually embedded. This fixes cases like this to properly have no completions: type myStruct struct { i<> i } where this will still give type name completions: type myStruct struct { i<> } I introduced a new error type source.ErrIsDefinition so source_test.go could avoid erroring out on tests that make sure definition identifiers have no completions. Fixes golang/go#34412. Change-Id: Ib56cb52af639f2e2b132274d1f04f8074c0d9353 Reviewed-on: https://go-review.googlesource.com/c/tools/+/196560 Run-TryBot: Rebecca Stambler <rstambler@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Rebecca Stambler <rstambler@golang.org>
28 lines
764 B
Go
28 lines
764 B
Go
package fieldlist
|
|
|
|
var myInt int //@item(flVar, "myInt", "int", "var")
|
|
type myType int //@item(flType, "myType", "int", "type")
|
|
|
|
func (my) _() {} //@complete(") _", flType, flVar)
|
|
func (my my) _() {} //@complete(" my)"),complete(") _", flType, flVar)
|
|
|
|
func (myType) _() {} //@complete(") {", flType, flVar)
|
|
|
|
func (myType) _(my my) {} //@complete(" my)"),complete(") {", flType, flVar)
|
|
|
|
func (myType) _() my {} //@complete(" {", flType, flVar)
|
|
|
|
func (myType) _() (my my) {} //@complete(" my"),complete(") {", flType, flVar)
|
|
|
|
func _() {
|
|
var _ struct {
|
|
//@complete("", flType, flVar)
|
|
m my //@complete(" my"),complete(" //", flType, flVar)
|
|
}
|
|
|
|
var _ interface {
|
|
//@complete("", flType, flVar)
|
|
m() my //@complete("("),complete(" //", flType, flVar)
|
|
}
|
|
}
|