allow enclosing type signatures in parenthesis
This commit is contained in:
parent
e48bda7e98
commit
bf29e6c3dd
1 changed files with 12 additions and 2 deletions
|
|
@ -960,7 +960,17 @@ func (p *Parser) parseParams() ([]FunctionParameter, error) {
|
|||
func (p *Parser) parseSignature() (TypeSignature, error) {
|
||||
var s TypeSignature
|
||||
|
||||
if p.accept(TokenFunc) {
|
||||
if p.accept(TokenOpenParenthesis) {
|
||||
is, err := p.parseSignature()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if err := p.expect(TokenCloseParenthesis, "expected closing parenthesis"); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
s = is
|
||||
} else if p.accept(TokenFunc) {
|
||||
if err := p.expect(TokenOpenParenthesis, "func signature must have parentheses for parameters"); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
|
@ -1017,7 +1027,7 @@ func (p *Parser) parseSignature() (TypeSignature, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
if err := p.expect(TokenCloseBracket, "list must close parameter list"); err != nil {
|
||||
if err := p.expect(TokenCloseBracket, "square brackets enclose list content signature"); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue