about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMel <einebeere@gmail.com>2022-06-01 16:20:01 +0000
committerGitHub <noreply@github.com>2022-06-01 16:20:01 +0000
commite6bb876b7c6b307af7c5d9d2db815acf0fe09bc4 (patch)
treec6bd4fc2e0a64b95d25b4ad5debc685b009e3a40
parentc42d7b969f519e3a001bef71f198f5b1fba64400 (diff)
downloadjinx-e6bb876b7c6b307af7c5d9d2db815acf0fe09bc4.tar.zst
jinx-e6bb876b7c6b307af7c5d9d2db815acf0fe09bc4.zip
Make VM GetResult independent of call base
-rw-r--r--pkg/lang/vm/vm.go6
1 files changed, 5 insertions, 1 deletions
diff --git a/pkg/lang/vm/vm.go b/pkg/lang/vm/vm.go
index 8422299..966ec9f 100644
--- a/pkg/lang/vm/vm.go
+++ b/pkg/lang/vm/vm.go
@@ -29,7 +29,11 @@ func New(code *code.Code) *VM {
 }
 
 func (vm *VM) GetResult() (string, error) {
-	res, err := vm.stack.Pop()
+	if vm.stack.Len() == 0 {
+		return "", stack.ErrStackUnderflow
+	}
+
+	res, err := vm.stack.Get(vm.stack.Len() - 1)
 	if err != nil {
 		return "", err
 	}