MCPcopy Create free account
hub / github.com/brimdata/super / matchFields

Method matchFields

sup/parser-values.go:299–324  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

297}
298
299func (p *Parser) matchFields() ([]ast.Field, error) {
300 l := p.lexer
301 var fields []ast.Field
302 seen := make(map[string]struct{})
303 for {
304 field, err := p.matchField()
305 if err != nil {
306 return nil, err
307 }
308 if field == nil {
309 break
310 }
311 if _, ok := seen[field.Name]; !ok {
312 fields = append(fields, *field)
313 }
314 seen[field.Name] = struct{}{}
315 ok, err := l.match(',')
316 if err != nil {
317 return nil, err
318 }
319 if !ok {
320 break
321 }
322 }
323 return fields, nil
324}
325
326func (p *Parser) matchField() (*ast.Field, error) {
327 l := p.lexer

Callers 1

matchRecordMethod · 0.95

Calls 2

matchFieldMethod · 0.95
matchMethod · 0.45

Tested by

no test coverage detected