mirror of
https://github.com/golang/go
synced 2024-11-18 14:14:46 -07:00
6f4f008689
Now we downrank candidates that have already been used in other switch cases. For example: switch time.Now().Weekday() { case time.Monday: case time.<> // downrank time.Monday } It wasn't quite as simple as tracking the seen types.Objects. Consider this example: type foo struct { i int } var a, b foo switch 123 { case a.i: case <> } At <> we don't want to downrank "b.i" even though "i" is represented as the same types.Object for "a.i" and "b.i". To accommodate this, we track having seen ["a", "i"] together. We will downrank "a.i", but not "b.i". I applied only a minor 0.9 downranking when the candidate has already been used in another case clause. It is hard to know what the user is planning. For instance, in the preceding example the user could intend to write "a.i + 1", so we mustn't downrank "a.i" too much. Change-Id: I62debc5be3d5d310deb69d11770cf5f8bd9add1d Reviewed-on: https://go-review.googlesource.com/c/tools/+/247337 Run-TryBot: Muir Manders <muir@mnd.rs> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Rebecca Stambler <rstambler@golang.org> |
||
---|---|---|
.. | ||
call_hierarchy.go | ||
code_lens.go | ||
command.go | ||
comment_test.go | ||
comment.go | ||
completion_builtin.go | ||
completion_format.go | ||
completion_keywords.go | ||
completion_labels.go | ||
completion_literal.go | ||
completion_snippet.go | ||
completion_statements.go | ||
completion.go | ||
deep_completion_test.go | ||
deep_completion.go | ||
diagnostics.go | ||
extract.go | ||
folding_range.go | ||
format_test.go | ||
format.go | ||
gc_annotations.go | ||
highlight.go | ||
hover.go | ||
identifier_test.go | ||
identifier.go | ||
implementation.go | ||
options.go | ||
references.go | ||
rename_check.go | ||
rename.go | ||
signature_help.go | ||
source_test.go | ||
symbols.go | ||
types_format.go | ||
util.go | ||
view.go | ||
workspace_symbol.go |