operator-iter-value.go: now operates on Iterator instead of *dataCursor

This commit is contained in:
Celestino Amoroso 2024-05-04 00:47:20 +02:00
parent e463bd61d8
commit 04e71a1b3f

View File

@ -4,7 +4,6 @@
// operator-iter-value.go // operator-iter-value.go
package expr package expr
//-------- iter value term //-------- iter value term
func newIterValueTerm(tk *Token) (inst *term) { func newIterValueTerm(tk *Token) (inst *term) {
@ -18,16 +17,18 @@ func newIterValueTerm(tk *Token) (inst *term) {
} }
func evalIterValue(ctx ExprContext, self *term) (v any, err error) { func evalIterValue(ctx ExprContext, self *term) (v any, err error) {
var leftValue any var childValue any
if leftValue, err = self.evalPrefix(ctx); err != nil { if childValue, err = self.evalPrefix(ctx); err != nil {
return return
} }
if dc, ok := leftValue.(*dataCursor); ok { /*if dc, ok := childValue.(*dataCursor); ok {
v, err = dc.Current() v, err = dc.Current()
} else*/if it, ok := childValue.(Iterator); ok {
v, err = it.Current()
} else { } else {
err = self.errIncompatibleType(leftValue) err = self.errIncompatibleType(childValue)
} }
return return
} }