+++ /dev/null
-// Package signature has tests for signature help.
-package signature
-
-import (
- "bytes"
- "encoding/json"
- "math/big"
-)
-
-func Foo(a string, b int) (c bool) {
- return
-}
-
-func Bar(float64, ...byte) {
-}
-
-type myStruct struct{}
-
-func (*myStruct) foo(e *json.Decoder) (*big.Int, error) {
- return nil, nil
-}
-
-type MyType struct{}
-
-type MyFunc func(foo int) string
-
-type Alias = int
-type OtherAlias = int
-type StringAlias = string
-
-func AliasSlice(a []*Alias) (b Alias) { return 0 }
-func AliasMap(a map[*Alias]StringAlias) (b, c map[*Alias]StringAlias) { return nil, nil }
-func OtherAliasMap(a, b map[Alias]OtherAlias) map[Alias]OtherAlias { return nil }
-
-func Qux() {
- Foo("foo", 123) //@signature("(", "Foo(a string, b int) (c bool)", 0)
- Foo("foo", 123) //@signature("123", "Foo(a string, b int) (c bool)", 1)
- Foo("foo", 123) //@signature(",", "Foo(a string, b int) (c bool)", 0)
- Foo("foo", 123) //@signature(" 1", "Foo(a string, b int) (c bool)", 1)
- Foo("foo", 123) //@signature(")", "Foo(a string, b int) (c bool)", 1)
-
- Bar(13.37, 0x13) //@signature("13.37", "Bar(float64, ...byte)", 0)
- Bar(13.37, 0x37) //@signature("0x37", "Bar(float64, ...byte)", 1)
- Bar(13.37, 1, 2, 3, 4) //@signature("4", "Bar(float64, ...byte)", 1)
-
- fn := func(hi, there string) func(i int) rune {
- return func(int) rune { return 0 }
- }
-
- fn("hi", "there") //@signature("hi", "fn(hi string, there string) func(i int) rune", 0)
- fn("hi", "there")(1) //@signature("1", "func(i int) rune", 0)
-
- fnPtr := &fn
- (*fnPtr)("hi", "there") //@signature("hi", "func(hi string, there string) func(i int) rune", 0)
-
- var fnIntf interface{} = Foo
- fnIntf.(func(string, int) bool)("hi", 123) //@signature("123", "func(string, int) bool", 1)
-
- (&bytes.Buffer{}).Next(2) //@signature("2", "Next(n int) []byte", 0)
-
- myFunc := MyFunc(func(n int) string { return "" })
- myFunc(123) //@signature("123", "myFunc(foo int) string", 0)
-
- var ms myStruct
- ms.foo(nil) //@signature("nil", "foo(e *json.Decoder) (*big.Int, error)", 0)
-
- _ = make([]int, 1, 2) //@signature("2", "make(t Type, size ...int) Type", 1)
-
- Foo(myFunc(123), 456) //@signature("myFunc", "Foo(a string, b int) (c bool)", 0)
- Foo(myFunc(123), 456) //@signature("123", "myFunc(foo int) string", 0)
-
- panic("oops!") //@signature("oops", "panic(v interface{})", 0)
- println("hello", "world") //@signature("world", "println(args ...Type)", 0)
-
- Hello(func() {
- //@signature("//", "", 0)
- })
-
- AliasSlice() //@signature(")", "AliasSlice(a []*Alias) (b Alias)", 0)
- AliasMap() //@signature(")", "AliasMap(a map[*Alias]StringAlias) (b map[*Alias]StringAlias, c map[*Alias]StringAlias)", 0)
- OtherAliasMap() //@signature(")", "OtherAliasMap(a map[Alias]OtherAlias, b map[Alias]OtherAlias) map[Alias]OtherAlias", 0)
-}
-
-func Hello(func()) {}