.gitignore added
[dotfiles/.git] / .config / coc / extensions / coc-go-data / tools / pkg / mod / golang.org / x / tools@v0.1.1-0.20210319172145-bda8f5cee399 / internal / lsp / testdata / rank / type_switch_rank.go.in
diff --git a/.config/coc/extensions/coc-go-data/tools/pkg/mod/golang.org/x/tools@v0.1.1-0.20210319172145-bda8f5cee399/internal/lsp/testdata/rank/type_switch_rank.go.in b/.config/coc/extensions/coc-go-data/tools/pkg/mod/golang.org/x/tools@v0.1.1-0.20210319172145-bda8f5cee399/internal/lsp/testdata/rank/type_switch_rank.go.in
new file mode 100644 (file)
index 0000000..1ed12b7
--- /dev/null
@@ -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)
+       }
+}