gotools/gopls/internal/test/marker/testdata/hover/comment.txt

This test checks hovering over doc links in comments.

Requires go1.20+ for the unsafe package test.

-- flags --
-min_go=go1.20

-- go.mod --
module mod.com

go 1.20

-- a.go --
package p

import (
	"unsafe"

	"mod.com/util" //@hover(`"mod.com/util"`, `"mod.com/util"`, strconv)
)

// [NumberBase] is the base to use for number parsing. //@hover("NumberBase", "NumberBase", NumberBase)
const NumberBase = 10

// [Conv] converts s to an int. //@hover("Conv", "Conv", Conv)
func Conv(s string) int {
	// [util.ParseInt] parses s and returns the integer corresponding to it. //@hover("util", "util", util),hover("ParseInt", "ParseInt", strconvParseInt)
	// [NumberBase] is the base to use for number parsing.
	i, _ := util.ParseInt(s, NumberBase, 64)
	return int(i)
}

// unsafeConv converts s to a byte slice using [unsafe.Pointer]. hover("Pointer", "Pointer", unsafePointer)
func unsafeConv(s string) []byte {
	p := unsafe.StringData(s)
	b := unsafe.Slice(p, len(s))
	return b
}

-- util/conv.go --
// Package util provides utility functions.
package util

import "strconv"

// ParseInt interprets a string s in the given base (0, 2 to 36) and
// bit size (0 to 64) and returns the corresponding value i.
func ParseInt(s string, base int, bitSize int) (int64, error) {
	return strconv.ParseInt(s, base, bitSize)
}

-- @Conv --
```go
func Conv(s string) int
```

\[Conv] converts s to an int. //@hover("Conv", "Conv", Conv)


[`p.Conv` on pkg.go.dev](https://pkg.go.dev/mod.com#Conv)
-- @NumberBase --
```go
const NumberBase untyped int = 10
```

\[NumberBase] is the base to use for number parsing. //@hover("NumberBase", "NumberBase", NumberBase)


[`p.NumberBase` on pkg.go.dev](https://pkg.go.dev/mod.com#NumberBase)
-- @strconv --
Package util provides utility functions.
-- @strconvParseInt --
```go
func ParseInt(s string, base int, bitSize int) (int64, error)
```

ParseInt interprets a string s in the given base (0, 2 to 36) and bit size (0 to 64) and returns the corresponding value i.


[`util.ParseInt` on pkg.go.dev](https://pkg.go.dev/mod.com/util#ParseInt)
-- @util --
Package util provides utility functions.