Exec implements the InterpretableV2 interface method.
(frame *ExecutionFrame)
| 437 | |
| 438 | // Exec implements the InterpretableV2 interface method. |
| 439 | func (eq *evalEq) Exec(frame *ExecutionFrame) ref.Val { |
| 440 | lVal := eq.lhs.Exec(frame) |
| 441 | if types.IsError(lVal) { |
| 442 | return lVal |
| 443 | } |
| 444 | rVal := eq.rhs.Exec(frame) |
| 445 | if types.IsError(rVal) { |
| 446 | return rVal |
| 447 | } |
| 448 | var unk *types.Unknown |
| 449 | unk, _ = types.MaybeMergeUnknowns(lVal, unk) |
| 450 | unk, _ = types.MaybeMergeUnknowns(rVal, unk) |
| 451 | if unk != nil { |
| 452 | return unk |
| 453 | } |
| 454 | return types.Equal(lVal, rVal) |
| 455 | } |
| 456 | |
| 457 | // Eval implements the Interpretable interface method. |
| 458 | func (eq *evalEq) Eval(ctx Activation) ref.Val { |
no test coverage detected