1package b
2
3import (
4	"fmt"
5
6	"golang.org/x/tools/internal/lsp/godef/a"
7)
8
9func useThings() {
10	t := a.Thing{}      //@mark(bStructType, "ing")
11	fmt.Print(t.Member) //@mark(bMember, "ember")
12	fmt.Print(a.Other)  //@mark(bVar, "ther")
13	a.Things()          //@mark(bFunc, "ings")
14}
15
16/*@
17godef(bStructType, Thing)
18godef(bMember, Member)
19godef(bVar, Other)
20godef(bFunc, Things)
21*/
22
23func _() {
24	var x interface{}      //@mark(eInterface, "interface{}")
25	switch x := x.(type) { //@hover("x", eInterface)
26	case string: //@mark(eString, "string")
27		fmt.Println(x) //@hover("x", eString)
28	case int: //@mark(eInt, "int")
29		fmt.Println(x) //@hover("x", eInt)
30	}
31}
32