self param replaced as opTerm
This commit is contained in:
+6
-6
@@ -15,17 +15,17 @@ func newDotTerm(tk *Token) (inst *term) {
|
||||
}
|
||||
}
|
||||
|
||||
func evalDot(ctx ExprContext, self *term) (v any, err error) {
|
||||
func evalDot(ctx ExprContext, opTerm *term) (v any, err error) {
|
||||
var leftValue, rightValue any
|
||||
|
||||
if err = self.checkOperands(); err != nil {
|
||||
if err = opTerm.checkOperands(); err != nil {
|
||||
return
|
||||
}
|
||||
if leftValue, err = self.children[0].compute(ctx); err != nil {
|
||||
if leftValue, err = opTerm.children[0].compute(ctx); err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
indexTerm := self.children[1]
|
||||
indexTerm := opTerm.children[1]
|
||||
|
||||
switch unboxedValue := leftValue.(type) {
|
||||
case ExtIterator:
|
||||
@@ -41,8 +41,8 @@ func evalDot(ctx ExprContext, self *term) (v any, err error) {
|
||||
err = indexTerm.tk.ErrorExpectedGot("identifier")
|
||||
}
|
||||
default:
|
||||
if rightValue, err = self.children[1].compute(ctx); err == nil {
|
||||
err = self.errIncompatibleTypes(leftValue, rightValue)
|
||||
if rightValue, err = opTerm.children[1].compute(ctx); err == nil {
|
||||
err = opTerm.errIncompatibleTypes(leftValue, rightValue)
|
||||
}
|
||||
}
|
||||
return
|
||||
|
||||
Reference in New Issue
Block a user