about summary refs log tree commit diff
path: root/pkg/lang/vm/errors.go
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/lang/vm/errors.go')
-rw-r--r--pkg/lang/vm/errors.go9
1 files changed, 9 insertions, 0 deletions
diff --git a/pkg/lang/vm/errors.go b/pkg/lang/vm/errors.go
index 9859feb..045f9a9 100644
--- a/pkg/lang/vm/errors.go
+++ b/pkg/lang/vm/errors.go
@@ -47,6 +47,15 @@ func (e ErrInvalidOp) Error() string {
 
 // Non-fatal errors, which will later be implemented as catchable exceptions
 
+type ErrInvalidOperandType struct {
+	Op code.Op
+	X  value.Type
+}
+
+func (e ErrInvalidOperandType) Error() string {
+	return fmt.Sprintf("invalid operand type for op %s: %v", text.OpToString(e.Op), e.X)
+}
+
 type ErrInvalidOperandTypes struct {
 	Op code.Op
 	X  value.Type