diff options
Diffstat (limited to 'gopls/internal/lsp/testdata/rank/type_switch_rank.go.in')
-rw-r--r-- | gopls/internal/lsp/testdata/rank/type_switch_rank.go.in | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/gopls/internal/lsp/testdata/rank/type_switch_rank.go.in b/gopls/internal/lsp/testdata/rank/type_switch_rank.go.in new file mode 100644 index 000000000..1ed12b7c1 --- /dev/null +++ b/gopls/internal/lsp/testdata/rank/type_switch_rank.go.in @@ -0,0 +1,31 @@ +package rank + +import ( + "fmt" + "go/ast" +) + +func _() { + type basket int //@item(basket, "basket", "int", "type") + var banana string //@item(banana, "banana", "string", "var") + + switch interface{}(pear).(type) { + case b: //@complete(":", basket) + b //@complete(" //", banana, basket) + } + + Ident //@item(astIdent, "Ident", "struct{...}", "struct") + IfStmt //@item(astIfStmt, "IfStmt", "struct{...}", "struct") + + switch ast.Node(nil).(type) { + case *ast.Ident: + case *ast.I: //@rank(":", astIfStmt, astIdent) + } + + Stringer //@item(fmtStringer, "Stringer", "interface{...}", "interface") + GoStringer //@item(fmtGoStringer, "GoStringer", "interface{...}", "interface") + + switch interface{}(nil).(type) { + case fmt.Stringer: //@rank(":", fmtStringer, fmtGoStringer) + } +} |