diff options
| author | Marc Vertes <mvertes@free.fr> | 2024-06-30 15:23:02 +0200 |
|---|---|---|
| committer | Marc Vertes <mvertes@free.fr> | 2024-06-30 15:23:02 +0200 |
| commit | 0ad649db1e886f98002f4d90488a8e4adbac3de8 (patch) | |
| tree | 32be6a4cecf83487dd6a91e8a9aa1da709840b0f /parser/type.go | |
| parent | 4acaa8e1630a359117d535a20b0af9554058d1e3 (diff) | |
improve parser errorsfix-untyped-assign
Diffstat (limited to 'parser/type.go')
| -rw-r--r-- | parser/type.go | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/parser/type.go b/parser/type.go index ba60e8f..e25431a 100644 --- a/parser/type.go +++ b/parser/type.go @@ -20,10 +20,12 @@ const ( // Type parsing error definitions. var ( - ErrInvalidType = errors.New("invalid type") - ErrMissingType = errors.New("missing type") - ErrSyntax = errors.New("syntax error") - ErrTypeNotImplemented = errors.New("not implemented") + ErrFuncType = errors.New("invalid function type") + ErrInvalidType = errors.New("invalid type") + ErrMissingType = errors.New("missing type") + ErrSize = errors.New("invalid size") + ErrSyntax = errors.New("syntax error") + ErrNotImplemented = errors.New("not implemented") ) func (p *Parser) parseTypeExpr(in Tokens) (typ *vm.Type, err error) { @@ -44,7 +46,7 @@ func (p *Parser) parseTypeExpr(in Tokens) (typ *vm.Type, err error) { } size, ok := constValue(cval).(int) if !ok { - return nil, fmt.Errorf("invalid size") + return nil, ErrSize } return vm.ArrayOf(size, typ), nil } @@ -71,7 +73,7 @@ func (p *Parser) parseTypeExpr(in Tokens) (typ *vm.Type, err error) { case l >= 2 && in1.Tok == lang.ParenBlock: indexArgs, out = 1, in[2:] default: - return nil, fmt.Errorf("invalid func signature") + return nil, ErrFuncType } // We can now parse function input and output parameter types. @@ -125,7 +127,7 @@ func (p *Parser) parseTypeExpr(in Tokens) (typ *vm.Type, err error) { return vm.StructOf(fields), nil default: - return nil, fmt.Errorf("%w: %v", ErrTypeNotImplemented, in[0].Name()) + return nil, fmt.Errorf("%w: %v", ErrNotImplemented, in[0].Name()) } } |
