TypeCheck implements the Expr interface.
( ctx context.Context, semaCtx *SemaContext, desired *types.T, )
| 1132 | |
| 1133 | // TypeCheck implements the Expr interface. |
| 1134 | func (expr *NullIfExpr) TypeCheck( |
| 1135 | ctx context.Context, semaCtx *SemaContext, desired *types.T, |
| 1136 | ) (TypedExpr, error) { |
| 1137 | typedSubExprs, retType, err := TypeCheckSameTypedExprs(ctx, semaCtx, desired, expr.Expr1, expr.Expr2) |
| 1138 | if err != nil { |
| 1139 | return nil, decorateTypeCheckError(err, "incompatible NULLIF expressions") |
| 1140 | } |
| 1141 | |
| 1142 | expr.Expr1, expr.Expr2 = typedSubExprs[0], typedSubExprs[1] |
| 1143 | expr.typ = retType |
| 1144 | return expr, nil |
| 1145 | } |
| 1146 | |
| 1147 | // TypeCheck implements the Expr interface. |
| 1148 | func (expr *OrExpr) TypeCheck( |
nothing calls this directly
no test coverage detected