Field = Name Type [ string_lit ] .
()
| 201 | |
| 202 | // Field = Name Type [ string_lit ] . |
| 203 | func (p *gc_parser) parse_field() *ast.Field { |
| 204 | var tag string |
| 205 | name, _ := p.parse_name() |
| 206 | typ := p.parse_type() |
| 207 | if p.tok == scanner.String { |
| 208 | tag = p.expect(scanner.String) |
| 209 | } |
| 210 | |
| 211 | var names []*ast.Ident |
| 212 | if name != "?" { |
| 213 | names = []*ast.Ident{ast.NewIdent(name)} |
| 214 | } |
| 215 | |
| 216 | return &ast.Field{ |
| 217 | Names: names, |
| 218 | Type: typ, |
| 219 | Tag: &ast.BasicLit{Kind: token.STRING, Value: tag}, |
| 220 | } |
| 221 | } |
| 222 | |
| 223 | // Parameter = ( identifier | "?" ) [ "..." ] Type [ string_lit ] . |
| 224 | func (p *gc_parser) parse_parameter() *ast.Field { |
no test coverage detected