From 37cb60a0b5d929f4a677cbe20d6f7af01855daf8 Mon Sep 17 00:00:00 2001 From: Anna Shaleva Date: Thu, 26 Mar 2020 16:34:54 +0300 Subject: [PATCH] compiler/interop: add missing methods to interop.Iterator Add Next() and Value() to interop.Iterator and corresponding syscalls to compiler --- pkg/compiler/syscall.go | 2 ++ pkg/interop/iterator/iterator.go | 11 +++++++++++ 2 files changed, 13 insertions(+) diff --git a/pkg/compiler/syscall.go b/pkg/compiler/syscall.go index 62e24f4c9..01234955b 100644 --- a/pkg/compiler/syscall.go +++ b/pkg/compiler/syscall.go @@ -86,6 +86,8 @@ var syscalls = map[string]map[string]string{ "Create": "Neo.Iterator.Create", "Key": "Neo.Iterator.Key", "Keys": "Neo.Iterator.Keys", + "Next": "Neo.Iterator.Next", + "Value": "Neo.Iterator.Value", "Values": "Neo.Iterator.Values", }, } diff --git a/pkg/interop/iterator/iterator.go b/pkg/interop/iterator/iterator.go index 2dd17d2eb..84e85310e 100644 --- a/pkg/interop/iterator/iterator.go +++ b/pkg/interop/iterator/iterator.go @@ -22,6 +22,17 @@ func Keys(it Iterator) []interface{} { return nil } +// Next advances the iterator, return true if it is was successful +// and false otherwise. +func Next(it Iterator) bool { + return true +} + +// Value returns the current iterator value. +func Value(it Iterator) interface{} { + return nil +} + // Values returns the iterator values. func Values(it Iterator) []interface{} { return nil