about summary refs log tree commit diff
path: root/pkg/lang/vm/exec.go
diff options
context:
space:
mode:
authorMel <einebeere@gmail.com>2022-05-29 20:08:12 +0000
committerGitHub <noreply@github.com>2022-05-29 21:36:39 +0000
commit11bcf772bf8d9aa353eb4c04bfb85378ba392b1e (patch)
tree3cc247b13cd2fdeb343549c8aeb331819389f32c /pkg/lang/vm/exec.go
parenta8e90423a6d29d7241b7d1f5ab60d607edffef9f (diff)
downloadjinx-11bcf772bf8d9aa353eb4c04bfb85378ba392b1e.tar.zst
jinx-11bcf772bf8d9aa353eb4c04bfb85378ba392b1e.zip
VM Native Functions
Diffstat (limited to 'pkg/lang/vm/exec.go')
-rw-r--r--pkg/lang/vm/exec.go13
1 files changed, 13 insertions, 0 deletions
diff --git a/pkg/lang/vm/exec.go b/pkg/lang/vm/exec.go
index bd4cdf5..10ac604 100644
--- a/pkg/lang/vm/exec.go
+++ b/pkg/lang/vm/exec.go
@@ -447,6 +447,19 @@ func (vm *VM) execCall() error {
 		return err
 	}
 
+	if fn.Native() != nil {
+		// TODO: Arguments
+		val, err := fn.Native()([]value.Value{})
+		if err != nil {
+			return err
+		}
+
+		if !val.IsEmpty() {
+			vm.stack.Push(val)
+		}
+
+		return nil
+	}
 	vm.pc = fn.Pc()
 
 	return nil