expr typechecks expression e and initializes x with the expression value. The result must be a single value. If an error occurred, x.mode is set to invalid.
(x *operand, e Expr)
| 1771 | // If an error occurred, x.mode is set to invalid. |
| 1772 | // |
| 1773 | func (check *Checker) expr(x *operand, e Expr) { |
| 1774 | check.rawExpr(x, e, nil, false) |
| 1775 | check.exclude(x, 1<<novalue|1<<builtin|1<<typexpr) |
| 1776 | check.singleValue(x) |
| 1777 | } |
| 1778 | |
| 1779 | // multiExpr is like expr but the result may also be a multi-value. |
| 1780 | func (check *Checker) multiExpr(x *operand, e Expr) { |