tree 214756dab423e5f29f551ef0c62f99e6de001226
parent 4d205d81b5a0f7cb051584b8964b7a0fd6d502c2
author Nikita Shoshin <shoshin_nikita@fastmail.com> 1680279760 +0000
committer Robert Findley <rfindley@google.com> 1680716929 +0000

gopls/internal/lsp/source: show both the original declaration and the value of constants in hover

This change improves the hover information for constants by showing
both the original declaration and the value. The value is displayed
as an inline comment. If the original declaration and the value are
the same, there will be no inline comment.

Examples:

```go
const duration time.Duration = 15*time.Minute + 10*time.Second // 15m10s

const octal untyped int = 0o777 // 511

const expr untyped int = 2 << (0b111&0b101 - 2) // 16

const boolean untyped bool = (55 - 3) == (26 * 2) // true

const dec untyped int = 500
```

Other changes:

- Calls to `objectString` that format methods or variables have been
  replaced with `types.ObjectString`.
- The logic of inferred signature formatting has been extracted from
  `objectString` to a new function `inferredSignatureString`.
- Remove unused function `extractFieldList`.
- Port `gopls/internal/lsp/testdata/godef/a/g.go` to the new marker
  tests.
- Fix `-min_go` constraint for marker tests by replacing hardcoded
  `1.18` with an actual flag value.

Fixes golang/go#47453

Change-Id: Ib9012dae8554a3b646c3059d2f8967e425974fbf
GitHub-Last-Rev: 8cc75a79d5651b3f5e1e3a0a7bfc4e3795d77763
GitHub-Pull-Request: golang/tools#432
Reviewed-on: https://go-review.googlesource.com/c/tools/+/480695
Run-TryBot: Robert Findley <rfindley@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Michael Knyszek <mknyszek@google.com>
gopls-CI: kokoro <noreply+kokoro@google.com>
Reviewed-by: Robert Findley <rfindley@google.com>
