(core *parser.Select_coreContext)
| 573 | } |
| 574 | |
| 575 | func (c *cc) getCols(core *parser.Select_coreContext) []ast.Node { |
| 576 | var cols []ast.Node |
| 577 | for _, icol := range core.AllResult_column() { |
| 578 | col, ok := icol.(*parser.Result_columnContext) |
| 579 | if !ok { |
| 580 | continue |
| 581 | } |
| 582 | target := &ast.ResTarget{ |
| 583 | Location: col.GetStart().GetStart(), |
| 584 | } |
| 585 | var val ast.Node |
| 586 | iexpr := col.Expr() |
| 587 | switch { |
| 588 | case col.STAR() != nil: |
| 589 | val = c.convertWildCardField(col) |
| 590 | case iexpr != nil: |
| 591 | val = c.convert(iexpr) |
| 592 | } |
| 593 | |
| 594 | if val == nil { |
| 595 | continue |
| 596 | } |
| 597 | |
| 598 | if col.Column_alias() != nil { |
| 599 | name := identifier(col.Column_alias().GetText()) |
| 600 | target.Name = &name |
| 601 | } |
| 602 | |
| 603 | target.Val = val |
| 604 | cols = append(cols, target) |
| 605 | } |
| 606 | return cols |
| 607 | } |
| 608 | |
| 609 | func (c *cc) convertWildCardField(n *parser.Result_columnContext) *ast.ColumnRef { |
| 610 | items := []ast.Node{} |
no test coverage detected