Example #1
0
func (p *parser) readMessage(msg *ast.Message) *parseError {
	if err := p.readToken("message"); err != nil {
		return err
	}
	msg.Position = p.cur.astPosition()

	tok := p.next()
	if tok.err != nil {
		return tok.err
	}
	msg.Name = tok.value // TODO: validate

	if err := p.readToken("{"); err != nil {
		return err
	}

	if err := p.readMessageContents(msg); err != nil {
		return err
	}

	return p.readToken("}")
}