diff options
| author | Mel <einebeere@gmail.com> | 2022-05-27 16:44:22 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-05-27 16:49:02 +0000 |
| commit | 47c4cd3705bee9d7154c42ce95aef6f8a19e0661 (patch) | |
| tree | f6b2d502cbc256914a6f7181e2cf623460f9d912 /pkg/lang/vm/errors.go | |
| parent | c2d4bf51de9a2d721168c62b14b89f5281ed366e (diff) | |
| download | jinx-47c4cd3705bee9d7154c42ce95aef6f8a19e0661.tar.zst jinx-47c4cd3705bee9d7154c42ce95aef6f8a19e0661.zip | |
Add debug info to compiled VM code
Diffstat (limited to 'pkg/lang/vm/errors.go')
| -rw-r--r-- | pkg/lang/vm/errors.go | 10 |
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 |
