(fields []Field)
| 160 | } |
| 161 | |
| 162 | func duplicateField(fields []Field) (string, bool) { |
| 163 | if len(fields) < 2 { |
| 164 | return "", false |
| 165 | } |
| 166 | names := namesPool.Get().(*[]string) |
| 167 | defer namesPool.Put(names) |
| 168 | *names = (*names)[:0] |
| 169 | for _, f := range fields { |
| 170 | *names = append(*names, f.Name) |
| 171 | } |
| 172 | sort.Strings(*names) |
| 173 | prev := (*names)[0] |
| 174 | for _, n := range (*names)[1:] { |
| 175 | if n == prev { |
| 176 | return n, true |
| 177 | } |
| 178 | prev = n |
| 179 | } |
| 180 | return "", false |
| 181 | } |
| 182 | |
| 183 | func (c *Context) MustLookupTypeRecord(fields []Field) *TypeRecord { |
| 184 | r, err := c.LookupTypeRecord(fields) |
no test coverage detected