diff options
| author | Mel <einebeere@gmail.com> | 2022-07-02 14:49:07 +0200 |
|---|---|---|
| committer | Mel <einebeere@gmail.com> | 2022-07-02 14:49:07 +0200 |
| commit | 4774f6373d3e41acba54cb4c63ca51f1b3de2ddd (patch) | |
| tree | f3619458a31e059ca60dee9a4c6920321ef1e8b1 /pkg | |
| parent | 18c7ab70ded45c76abb0b35c090b942a7bfcc3b4 (diff) | |
| download | jinx-4774f6373d3e41acba54cb4c63ca51f1b3de2ddd.tar.zst jinx-4774f6373d3e41acba54cb4c63ca51f1b3de2ddd.zip | |
Rename ErrEnvNotSet to ErrNullPtrDereference
Diffstat (limited to 'pkg')
| -rw-r--r-- | pkg/lang/vm/errors.go | 11 | ||||
| -rw-r--r-- | pkg/lang/vm/utils.go | 2 |
2 files changed, 8 insertions, 5 deletions
diff --git a/pkg/lang/vm/errors.go b/pkg/lang/vm/errors.go index fb37726..bfc8a34 100644 --- a/pkg/lang/vm/errors.go +++ b/pkg/lang/vm/errors.go @@ -1,7 +1,6 @@ package vm import ( - "errors" "fmt" "jinx/pkg/lang/vm/code" "jinx/pkg/lang/vm/mem" @@ -24,9 +23,13 @@ func (e Error) Error() string { // Fatal errors -var ( - ErrEnvNotSet = errors.New("env not set") -) +type ErrNullPtrDereference struct { + At mem.Ptr +} + +func (e ErrNullPtrDereference) Error() string { + return fmt.Sprintf("null pointer dereference at %v", e.At) +} type ErrInvalidOp struct { Op uint8 diff --git a/pkg/lang/vm/utils.go b/pkg/lang/vm/utils.go index 46eccb1..00311ef 100644 --- a/pkg/lang/vm/utils.go +++ b/pkg/lang/vm/utils.go @@ -30,7 +30,7 @@ func (vm *VM) popCallAndDrop() (int, error) { func (vm *VM) getMemCell(ptr mem.Ptr, kind mem.CellKind, allowNil bool) (mem.CellData, error) { if ptr.IsNull() { - return nil, ErrEnvNotSet // TODO: Rename + return nil, ErrNullPtrDereference{At: ptr} } if !vm.memory.Is(ptr, kind) { |
