mirror of https://github.com/golang/go.git
75 lines
1.4 KiB
Go
75 lines
1.4 KiB
Go
// Package a is a package for testing go to definition.
|
|
package a //@mark(aPackage, "a "),hover("a ", aPackage)
|
|
|
|
import (
|
|
"fmt"
|
|
"go/types"
|
|
"sync"
|
|
)
|
|
|
|
var (
|
|
// x is a variable.
|
|
x string //@x,hover("x", x)
|
|
)
|
|
|
|
// Constant block. When I hover on h, I should see this comment.
|
|
const (
|
|
// When I hover on g, I should see this comment.
|
|
g = 1 //@g,hover("g", g)
|
|
|
|
h = 2 //@h,hover("h", h)
|
|
)
|
|
|
|
// z is a variable too.
|
|
var z string //@z,hover("z", z)
|
|
|
|
type A string //@mark(AString, "A")
|
|
|
|
func AStuff() { //@AStuff
|
|
x := 5
|
|
Random2(x) //@godef("dom2", Random2)
|
|
Random() //@godef("()", Random)
|
|
|
|
var err error //@err
|
|
fmt.Printf("%v", err) //@godef("err", err)
|
|
|
|
var y string //@string,hover("string", string)
|
|
_ = make([]int, 0) //@make,hover("make", make)
|
|
|
|
var mu sync.Mutex
|
|
mu.Lock() //@Lock,hover("Lock", Lock)
|
|
|
|
var typ *types.Named //@mark(typesImport, "types"),hover("types", typesImport)
|
|
typ.Obj().Name() //@Name,hover("Name", Name)
|
|
}
|
|
|
|
type A struct {
|
|
}
|
|
|
|
func (_ A) Hi() {} //@mark(AHi, "Hi")
|
|
|
|
type S struct {
|
|
Field int //@mark(AField, "Field")
|
|
R // embed a struct
|
|
H // embed an interface
|
|
}
|
|
|
|
type R struct {
|
|
Field2 int //@mark(AField2, "Field2")
|
|
}
|
|
|
|
func (_ R) Hey() {} //@mark(AHey, "Hey")
|
|
|
|
type H interface {
|
|
Goodbye() //@mark(AGoodbye, "Goodbye")
|
|
}
|
|
|
|
type I interface {
|
|
B() //@mark(AB, "B")
|
|
J
|
|
}
|
|
|
|
type J interface {
|
|
Hello() //@mark(AHello, "Hello")
|
|
}
|