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

Method matchTypeField

sup/parser-types.go:141–171  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

139}
140
141func (p *Parser) matchTypeField() (*ast.TypeField, error) {
142 l := p.lexer
143 symbol, ok, err := p.matchSymbol()
144 if err != nil {
145 return nil, err
146 }
147 if !ok {
148 return nil, nil
149 }
150 var opt bool
151 opt, err = l.match('?')
152 if err != nil {
153 return nil, err
154 }
155 ok, err = l.match(':')
156 if err != nil {
157 return nil, err
158 }
159 if !ok {
160 return nil, p.errorf("no type name found for field %q", symbol)
161 }
162 typ, err := p.parseType()
163 if err != nil {
164 return nil, err
165 }
166 return &ast.TypeField{
167 Name: symbol,
168 Type: typ,
169 Opt: opt,
170 }, nil
171}
172
173func (p *Parser) matchTypeArray() (*ast.TypeArray, error) {
174 l := p.lexer

Callers 1

matchTypeRecordMethod · 0.95

Calls 4

matchSymbolMethod · 0.95
errorfMethod · 0.95
parseTypeMethod · 0.95
matchMethod · 0.45

Tested by

no test coverage detected