Giant blob of minor changes
[dotfiles/.git] / .config / coc / extensions / coc-go-data / tools / pkg / mod / github.com / google / go-cmp@v0.5.1 / cmp / internal / testprotos / protos.go
1 // Copyright 2017, The Go Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style
3 // license that can be found in the LICENSE.md file.
4
5 package testprotos
6
7 func Equal(x, y Message) bool {
8         if x == nil || y == nil {
9                 return x == nil && y == nil
10         }
11         return x.String() == y.String()
12 }
13
14 type Message interface {
15         Proto()
16         String() string
17 }
18
19 type proto interface {
20         Proto()
21 }
22
23 type notComparable struct {
24         unexportedField func()
25 }
26
27 type Stringer struct{ X string }
28
29 func (s *Stringer) String() string { return s.X }
30
31 // Project1 protocol buffers
32 type (
33         Eagle_States         int
34         Eagle_MissingCalls   int
35         Dreamer_States       int
36         Dreamer_MissingCalls int
37         Slap_States          int
38         Goat_States          int
39         Donkey_States        int
40         SummerType           int
41
42         Eagle struct {
43                 proto
44                 notComparable
45                 Stringer
46         }
47         Dreamer struct {
48                 proto
49                 notComparable
50                 Stringer
51         }
52         Slap struct {
53                 proto
54                 notComparable
55                 Stringer
56         }
57         Goat struct {
58                 proto
59                 notComparable
60                 Stringer
61         }
62         Donkey struct {
63                 proto
64                 notComparable
65                 Stringer
66         }
67 )
68
69 // Project2 protocol buffers
70 type (
71         Germ struct {
72                 proto
73                 notComparable
74                 Stringer
75         }
76         Dish struct {
77                 proto
78                 notComparable
79                 Stringer
80         }
81 )
82
83 // Project3 protocol buffers
84 type (
85         Dirt struct {
86                 proto
87                 notComparable
88                 Stringer
89         }
90         Wizard struct {
91                 proto
92                 notComparable
93                 Stringer
94         }
95         Sadistic struct {
96                 proto
97                 notComparable
98                 Stringer
99         }
100 )
101
102 // Project4 protocol buffers
103 type (
104         HoneyStatus int
105         PoisonType  int
106         MetaData    struct {
107                 proto
108                 notComparable
109                 Stringer
110         }
111         Restrictions struct {
112                 proto
113                 notComparable
114                 Stringer
115         }
116 )