diff options
Diffstat (limited to 'pkg/lang/vm/exec.go')
| -rw-r--r-- | pkg/lang/vm/exec.go | 53 |
1 files changed, 0 insertions, 53 deletions
diff --git a/pkg/lang/vm/exec.go b/pkg/lang/vm/exec.go index 0ace13a..bca4e03 100644 --- a/pkg/lang/vm/exec.go +++ b/pkg/lang/vm/exec.go @@ -1077,56 +1077,3 @@ func (vm *VM) execRet() error { vm.setPos(pos) return nil } - -func (vm *VM) execTempArrLen() error { - a, err := vm.stack.Pop() - if err != nil { - return err - } - - switch a.Type() { - case value.ArrayType: - arr := a.Data().(value.ArrayData) - len, err := arr.Len(vm.memory) - if err != nil { - return err - } - res := value.NewInt(int64(len)) - vm.stack.Push(res) - - if err := a.Drop(vm.memory); err != nil { - return err - } - default: - return ErrInvalidOperandTypes{ - Op: code.OpTempArrLen, - X: a.Type(), - } - } - - return nil -} - -func (vm *VM) execTempArrPush() error { - e, err := vm.popAndDrop() - if err != nil { - return err - } - a, err := vm.popAndDrop() - if err != nil { - return err - } - - switch a.Type() { - case value.ArrayType: - arr := a.Data().(value.ArrayData) - arr.Push(vm.memory, e) - default: - return ErrInvalidOperandType{ - Op: code.OpTempArrPush, - X: a.Type(), - } - } - - return nil -} |
