diff options
| author | Mel <einebeere@gmail.com> | 2022-06-01 19:51:40 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-06-01 19:51:40 +0000 |
| commit | edca72c160967f1918b65c91a40de89ecd8badda (patch) | |
| tree | b79feabc0889a3f6cfddf09906a486d09e5c60a1 /pkg/lang/vm/vm.go | |
| parent | 33671436680e7922001df9921ee582c486c7c3f4 (diff) | |
| download | jinx-edca72c160967f1918b65c91a40de89ecd8badda.tar.zst jinx-edca72c160967f1918b65c91a40de89ecd8badda.zip | |
Implement proper object types
Diffstat (limited to 'pkg/lang/vm/vm.go')
| -rw-r--r-- | pkg/lang/vm/vm.go | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/pkg/lang/vm/vm.go b/pkg/lang/vm/vm.go index 966ec9f..41334a6 100644 --- a/pkg/lang/vm/vm.go +++ b/pkg/lang/vm/vm.go @@ -109,6 +109,11 @@ func (vm *VM) step(op code.Op) (stepDecision, error) { vm.execPushFunction(int(x)) case code.OpPushObject: err = vm.execPushObject() + case code.OpPushType: + name, advance := vm.code.GetString(vm.pc) + vm.pc += advance + + err = vm.execPushType(name) case code.OpDrop: _, err = vm.stack.Pop() @@ -147,6 +152,9 @@ func (vm *VM) step(op code.Op) (stepDecision, error) { err = vm.execAddToEnv(int(local)) + case code.OpAnchorType: + err = vm.execAnchorType() + case code.OpAdd: err = vm.execAdd() case code.OpSub: |
