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.go10
1 files changed, 7 insertions, 3 deletions
diff --git a/pkg/lang/vm/errors.go b/pkg/lang/vm/errors.go
index bbc66b8..37f3542 100644
--- a/pkg/lang/vm/errors.go
+++ b/pkg/lang/vm/errors.go
@@ -9,12 +9,16 @@ import (
 )
 
 type Error struct {
-	Pc  int
-	Err error
+	Pc   int
+	Line int
+	Err  error
 }
 
 func (e Error) Error() string {
-	return fmt.Sprintf("vm error at pc %d: %s", e.Pc, e.Err)
+	if e.Line == -1 {
+		return fmt.Sprintf("vm error at pc %d, unknown line: %v", e.Pc, e.Err)
+	}
+	return fmt.Sprintf("vm error at pc %d, line %d: %v", e.Pc, e.Line, e.Err)
 }
 
 // Fatal errors