some deletions
[dotfiles/.git] / .config / coc / extensions / coc-go-data / tools / pkg / mod / honnef.co / go / tools@v0.0.1-2020.1.5 / pattern / pattern.go
diff --git a/.config/coc/extensions/coc-go-data/tools/pkg/mod/honnef.co/go/tools@v0.0.1-2020.1.5/pattern/pattern.go b/.config/coc/extensions/coc-go-data/tools/pkg/mod/honnef.co/go/tools@v0.0.1-2020.1.5/pattern/pattern.go
deleted file mode 100644 (file)
index d746056..0000000
+++ /dev/null
@@ -1,497 +0,0 @@
-package pattern
-
-import (
-       "fmt"
-       "go/token"
-       "reflect"
-       "strings"
-)
-
-var (
-       _ Node = Ellipsis{}
-       _ Node = Binding{}
-       _ Node = RangeStmt{}
-       _ Node = AssignStmt{}
-       _ Node = IndexExpr{}
-       _ Node = Ident{}
-       _ Node = Builtin{}
-       _ Node = String("")
-       _ Node = Any{}
-       _ Node = ValueSpec{}
-       _ Node = List{}
-       _ Node = GenDecl{}
-       _ Node = BinaryExpr{}
-       _ Node = ForStmt{}
-       _ Node = ArrayType{}
-       _ Node = DeferStmt{}
-       _ Node = MapType{}
-       _ Node = ReturnStmt{}
-       _ Node = SliceExpr{}
-       _ Node = StarExpr{}
-       _ Node = UnaryExpr{}
-       _ Node = SendStmt{}
-       _ Node = SelectStmt{}
-       _ Node = ImportSpec{}
-       _ Node = IfStmt{}
-       _ Node = GoStmt{}
-       _ Node = Field{}
-       _ Node = SelectorExpr{}
-       _ Node = StructType{}
-       _ Node = KeyValueExpr{}
-       _ Node = FuncType{}
-       _ Node = FuncLit{}
-       _ Node = FuncDecl{}
-       _ Node = Token(0)
-       _ Node = ChanType{}
-       _ Node = CallExpr{}
-       _ Node = CaseClause{}
-       _ Node = CommClause{}
-       _ Node = CompositeLit{}
-       _ Node = EmptyStmt{}
-       _ Node = SwitchStmt{}
-       _ Node = TypeSwitchStmt{}
-       _ Node = TypeAssertExpr{}
-       _ Node = TypeSpec{}
-       _ Node = InterfaceType{}
-       _ Node = BranchStmt{}
-       _ Node = IncDecStmt{}
-       _ Node = BasicLit{}
-       _ Node = Nil{}
-       _ Node = Object{}
-       _ Node = Function{}
-       _ Node = Not{}
-       _ Node = Or{}
-)
-
-type Function struct {
-       Name Node
-}
-
-type Token token.Token
-
-type Nil struct {
-}
-
-type Ellipsis struct {
-       Elt Node
-}
-
-type IncDecStmt struct {
-       X   Node
-       Tok Node
-}
-
-type BranchStmt struct {
-       Tok   Node
-       Label Node
-}
-
-type InterfaceType struct {
-       Methods Node
-}
-
-type TypeSpec struct {
-       Name Node
-       Type Node
-}
-
-type TypeAssertExpr struct {
-       X    Node
-       Type Node
-}
-
-type TypeSwitchStmt struct {
-       Init   Node
-       Assign Node
-       Body   Node
-}
-
-type SwitchStmt struct {
-       Init Node
-       Tag  Node
-       Body Node
-}
-
-type EmptyStmt struct {
-}
-
-type CompositeLit struct {
-       Type Node
-       Elts Node
-}
-
-type CommClause struct {
-       Comm Node
-       Body Node
-}
-
-type CaseClause struct {
-       List Node
-       Body Node
-}
-
-type CallExpr struct {
-       Fun  Node
-       Args Node
-       // XXX handle ellipsis
-}
-
-// TODO(dh): add a ChanDir node, and a way of instantiating it.
-
-type ChanType struct {
-       Dir   Node
-       Value Node
-}
-
-type FuncDecl struct {
-       Recv Node
-       Name Node
-       Type Node
-       Body Node
-}
-
-type FuncLit struct {
-       Type Node
-       Body Node
-}
-
-type FuncType struct {
-       Params  Node
-       Results Node
-}
-
-type KeyValueExpr struct {
-       Key   Node
-       Value Node
-}
-
-type StructType struct {
-       Fields Node
-}
-
-type SelectorExpr struct {
-       X   Node
-       Sel Node
-}
-
-type Field struct {
-       Names Node
-       Type  Node
-       Tag   Node
-}
-
-type GoStmt struct {
-       Call Node
-}
-
-type IfStmt struct {
-       Init Node
-       Cond Node
-       Body Node
-       Else Node
-}
-
-type ImportSpec struct {
-       Name Node
-       Path Node
-}
-
-type SelectStmt struct {
-       Body Node
-}
-
-type ArrayType struct {
-       Len Node
-       Elt Node
-}
-
-type DeferStmt struct {
-       Call Node
-}
-
-type MapType struct {
-       Key   Node
-       Value Node
-}
-
-type ReturnStmt struct {
-       Results Node
-}
-
-type SliceExpr struct {
-       X    Node
-       Low  Node
-       High Node
-       Max  Node
-}
-
-type StarExpr struct {
-       X Node
-}
-
-type UnaryExpr struct {
-       Op Node
-       X  Node
-}
-
-type SendStmt struct {
-       Chan  Node
-       Value Node
-}
-
-type Binding struct {
-       Name string
-       Node Node
-}
-
-type RangeStmt struct {
-       Key   Node
-       Value Node
-       Tok   Node
-       X     Node
-       Body  Node
-}
-
-type AssignStmt struct {
-       Lhs Node
-       Tok Node
-       Rhs Node
-}
-
-type IndexExpr struct {
-       X     Node
-       Index Node
-}
-
-type Node interface {
-       String() string
-       isNode()
-}
-
-type Ident struct {
-       Name Node
-}
-
-type Object struct {
-       Name Node
-}
-
-type Builtin struct {
-       Name Node
-}
-
-type String string
-
-type Any struct{}
-
-type ValueSpec struct {
-       Names  Node
-       Type   Node
-       Values Node
-}
-
-type List struct {
-       Head Node
-       Tail Node
-}
-
-type GenDecl struct {
-       Tok   Node
-       Specs Node
-}
-
-type BasicLit struct {
-       Kind  Node
-       Value Node
-}
-
-type BinaryExpr struct {
-       X  Node
-       Op Node
-       Y  Node
-}
-
-type ForStmt struct {
-       Init Node
-       Cond Node
-       Post Node
-       Body Node
-}
-
-type Or struct {
-       Nodes []Node
-}
-
-type Not struct {
-       Node Node
-}
-
-func stringify(n Node) string {
-       v := reflect.ValueOf(n)
-       var parts []string
-       parts = append(parts, v.Type().Name())
-       for i := 0; i < v.NumField(); i++ {
-               //lint:ignore S1025 false positive in staticcheck 2019.2.3
-               parts = append(parts, fmt.Sprintf("%s", v.Field(i)))
-       }
-       return "(" + strings.Join(parts, " ") + ")"
-}
-
-func (stmt AssignStmt) String() string     { return stringify(stmt) }
-func (expr IndexExpr) String() string      { return stringify(expr) }
-func (id Ident) String() string            { return stringify(id) }
-func (spec ValueSpec) String() string      { return stringify(spec) }
-func (decl GenDecl) String() string        { return stringify(decl) }
-func (lit BasicLit) String() string        { return stringify(lit) }
-func (expr BinaryExpr) String() string     { return stringify(expr) }
-func (stmt ForStmt) String() string        { return stringify(stmt) }
-func (stmt RangeStmt) String() string      { return stringify(stmt) }
-func (typ ArrayType) String() string       { return stringify(typ) }
-func (stmt DeferStmt) String() string      { return stringify(stmt) }
-func (typ MapType) String() string         { return stringify(typ) }
-func (stmt ReturnStmt) String() string     { return stringify(stmt) }
-func (expr SliceExpr) String() string      { return stringify(expr) }
-func (expr StarExpr) String() string       { return stringify(expr) }
-func (expr UnaryExpr) String() string      { return stringify(expr) }
-func (stmt SendStmt) String() string       { return stringify(stmt) }
-func (spec ImportSpec) String() string     { return stringify(spec) }
-func (stmt SelectStmt) String() string     { return stringify(stmt) }
-func (stmt IfStmt) String() string         { return stringify(stmt) }
-func (stmt IncDecStmt) String() string     { return stringify(stmt) }
-func (stmt GoStmt) String() string         { return stringify(stmt) }
-func (field Field) String() string         { return stringify(field) }
-func (expr SelectorExpr) String() string   { return stringify(expr) }
-func (typ StructType) String() string      { return stringify(typ) }
-func (expr KeyValueExpr) String() string   { return stringify(expr) }
-func (typ FuncType) String() string        { return stringify(typ) }
-func (lit FuncLit) String() string         { return stringify(lit) }
-func (decl FuncDecl) String() string       { return stringify(decl) }
-func (stmt BranchStmt) String() string     { return stringify(stmt) }
-func (expr CallExpr) String() string       { return stringify(expr) }
-func (clause CaseClause) String() string   { return stringify(clause) }
-func (typ ChanType) String() string        { return stringify(typ) }
-func (clause CommClause) String() string   { return stringify(clause) }
-func (lit CompositeLit) String() string    { return stringify(lit) }
-func (stmt EmptyStmt) String() string      { return stringify(stmt) }
-func (typ InterfaceType) String() string   { return stringify(typ) }
-func (stmt SwitchStmt) String() string     { return stringify(stmt) }
-func (expr TypeAssertExpr) String() string { return stringify(expr) }
-func (spec TypeSpec) String() string       { return stringify(spec) }
-func (stmt TypeSwitchStmt) String() string { return stringify(stmt) }
-func (nil Nil) String() string             { return "nil" }
-func (builtin Builtin) String() string     { return stringify(builtin) }
-func (obj Object) String() string          { return stringify(obj) }
-func (fn Function) String() string         { return stringify(fn) }
-func (el Ellipsis) String() string         { return stringify(el) }
-func (not Not) String() string             { return stringify(not) }
-
-func (or Or) String() string {
-       s := "(Or"
-       for _, node := range or.Nodes {
-               s += " "
-               s += node.String()
-       }
-       s += ")"
-       return s
-}
-
-func isProperList(l List) bool {
-       if l.Head == nil && l.Tail == nil {
-               return true
-       }
-       switch tail := l.Tail.(type) {
-       case nil:
-               return false
-       case List:
-               return isProperList(tail)
-       default:
-               return false
-       }
-}
-
-func (l List) String() string {
-       if l.Head == nil && l.Tail == nil {
-               return "[]"
-       }
-
-       if isProperList(l) {
-               // pretty-print the list
-               var objs []string
-               for l.Head != nil {
-                       objs = append(objs, l.Head.String())
-                       l = l.Tail.(List)
-               }
-               return fmt.Sprintf("[%s]", strings.Join(objs, " "))
-       }
-
-       return fmt.Sprintf("%s:%s", l.Head, l.Tail)
-}
-
-func (bind Binding) String() string {
-       if bind.Node == nil {
-               return bind.Name
-       }
-       return fmt.Sprintf("%s@%s", bind.Name, bind.Node)
-}
-
-func (s String) String() string { return fmt.Sprintf("%q", string(s)) }
-
-func (tok Token) String() string {
-       return fmt.Sprintf("%q", strings.ToUpper(token.Token(tok).String()))
-}
-
-func (Any) String() string { return "_" }
-
-func (AssignStmt) isNode()     {}
-func (IndexExpr) isNode()      {}
-func (Ident) isNode()          {}
-func (ValueSpec) isNode()      {}
-func (GenDecl) isNode()        {}
-func (BasicLit) isNode()       {}
-func (BinaryExpr) isNode()     {}
-func (ForStmt) isNode()        {}
-func (RangeStmt) isNode()      {}
-func (ArrayType) isNode()      {}
-func (DeferStmt) isNode()      {}
-func (MapType) isNode()        {}
-func (ReturnStmt) isNode()     {}
-func (SliceExpr) isNode()      {}
-func (StarExpr) isNode()       {}
-func (UnaryExpr) isNode()      {}
-func (SendStmt) isNode()       {}
-func (ImportSpec) isNode()     {}
-func (SelectStmt) isNode()     {}
-func (IfStmt) isNode()         {}
-func (IncDecStmt) isNode()     {}
-func (GoStmt) isNode()         {}
-func (Field) isNode()          {}
-func (SelectorExpr) isNode()   {}
-func (StructType) isNode()     {}
-func (KeyValueExpr) isNode()   {}
-func (FuncType) isNode()       {}
-func (FuncLit) isNode()        {}
-func (FuncDecl) isNode()       {}
-func (BranchStmt) isNode()     {}
-func (CallExpr) isNode()       {}
-func (CaseClause) isNode()     {}
-func (ChanType) isNode()       {}
-func (CommClause) isNode()     {}
-func (CompositeLit) isNode()   {}
-func (EmptyStmt) isNode()      {}
-func (InterfaceType) isNode()  {}
-func (SwitchStmt) isNode()     {}
-func (TypeAssertExpr) isNode() {}
-func (TypeSpec) isNode()       {}
-func (TypeSwitchStmt) isNode() {}
-func (Nil) isNode()            {}
-func (Builtin) isNode()        {}
-func (Object) isNode()         {}
-func (Function) isNode()       {}
-func (Ellipsis) isNode()       {}
-func (Or) isNode()             {}
-func (List) isNode()           {}
-func (String) isNode()         {}
-func (Token) isNode()          {}
-func (Any) isNode()            {}
-func (Binding) isNode()        {}
-func (Not) isNode()            {}