From c00da3df66e3212ca3b6ab2a623e9fe5fe6d9e7f Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Wed, 8 Aug 2018 13:06:33 +0200 Subject: prog: collect all prog comments Parse and collect and prog comments. Will be needed for runtest annotations (e.g. "requires threaded mode", etc). --- prog/encoding.go | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'prog/encoding.go') diff --git a/prog/encoding.go b/prog/encoding.go index bdb00c7cc..92e2c47f0 100644 --- a/prog/encoding.go +++ b/prog/encoding.go @@ -188,10 +188,16 @@ func (target *Target) Deserialize(data []byte) (prog *Prog, err error) { comment := "" for p.Scan() { if p.EOF() { - comment = "" + if comment != "" { + prog.Comments = append(prog.Comments, comment) + comment = "" + } continue } if p.Char() == '#' { + if comment != "" { + prog.Comments = append(prog.Comments, comment) + } comment = strings.TrimSpace(p.s[p.i+1:]) continue } @@ -238,6 +244,9 @@ func (target *Target) Deserialize(data []byte) (prog *Prog, err error) { if p.Char() != '#' { return nil, fmt.Errorf("tailing data (line #%v)", p.l) } + if c.Comment != "" { + prog.Comments = append(prog.Comments, c.Comment) + } c.Comment = strings.TrimSpace(p.s[p.i+1:]) } for i := len(c.Args); i < len(meta.Args); i++ { @@ -251,6 +260,9 @@ func (target *Target) Deserialize(data []byte) (prog *Prog, err error) { } comment = "" } + if comment != "" { + prog.Comments = append(prog.Comments, comment) + } if err := p.Err(); err != nil { return nil, err } -- cgit mrf-deployment