28 lines
492 B
Go
28 lines
492 B
Go
package object
|
|
|
|
// error encountered. This object is tracked through the evaluator and when
|
|
// encountered stops evaluation of the program or body of a function.
|
|
type Error struct {
|
|
Message string
|
|
}
|
|
|
|
func (e *Error) Bool() bool {
|
|
return false
|
|
}
|
|
|
|
func (e *Error) Type() Type {
|
|
return ErrorType
|
|
}
|
|
|
|
func (e *Error) Inspect() string {
|
|
return "Error: " + e.Message
|
|
}
|
|
|
|
func (e *Error) Clone() Object {
|
|
return &Error{Message: e.Message}
|
|
}
|
|
|
|
func (e *Error) String() string {
|
|
return e.Message
|
|
}
|