php-parser/errors/error.go

32 lines
559 B
Go
Raw Normal View History

2018-04-09 20:08:29 +00:00
package errors
import (
"fmt"
"github.com/z7zmey/php-parser/position"
"github.com/z7zmey/php-parser/scanner"
2018-04-09 20:08:29 +00:00
)
// Error parsing error
type Error struct {
Msg string
Pos *position.Position
2018-04-09 20:08:29 +00:00
}
// NewError creates and returns new Error
func NewError(msg string, t *scanner.Token) *Error {
2018-04-09 20:08:29 +00:00
return &Error{
Msg: msg,
2018-06-24 07:19:44 +00:00
Pos: &position.Position{
StartLine: t.StartLine,
EndLine: t.EndLine,
StartPos: t.StartPos,
EndPos: t.EndPos,
},
2018-04-09 20:08:29 +00:00
}
}
func (e *Error) String() string {
return fmt.Sprintf("%s at line %d", e.Msg, e.Pos.StartLine)
}