(tagNameStr string, prec int)
| 706 | } |
| 707 | |
| 708 | func (p *parser) parseOutputTag(tagNameStr string, prec int) error { |
| 709 | s := p.s |
| 710 | t, err := expectTagContents(s) |
| 711 | if err != nil { |
| 712 | return err |
| 713 | } |
| 714 | if err = validateOutputTagValue(t.Value); err != nil { |
| 715 | return fmt.Errorf("invalid output tag value at %s: %s", s.Context(), err) |
| 716 | } |
| 717 | filter := "N" |
| 718 | switch tagNameStr { |
| 719 | case "s", "v", "q", "z", "j", "sz", "qz", "jz": |
| 720 | filter = "E" |
| 721 | } |
| 722 | if strings.HasSuffix(tagNameStr, "=") { |
| 723 | tagNameStr = tagNameStr[:len(tagNameStr)-1] |
| 724 | } |
| 725 | if tagNameStr == "f" && prec >= 0 { |
| 726 | p.Printf("qw%s.N().FPrec(%s, %d)", mangleSuffix, t.Value, prec) |
| 727 | } else { |
| 728 | tagNameStr = strings.ToUpper(tagNameStr) |
| 729 | p.Printf("qw%s.%s().%s(%s)", mangleSuffix, filter, tagNameStr, t.Value) |
| 730 | } |
| 731 | |
| 732 | return nil |
| 733 | } |
| 734 | |
| 735 | func (p *parser) parseOutputFunc(tagNameStr string) error { |
| 736 | s := p.s |
no test coverage detected