TypeCheck implements the Expr interface.
( ctx context.Context, semaCtx *SemaContext, desired *types.T, )
| 1119 | |
| 1120 | // TypeCheck implements the Expr interface. |
| 1121 | func (expr *IsNotNullExpr) TypeCheck( |
| 1122 | ctx context.Context, semaCtx *SemaContext, desired *types.T, |
| 1123 | ) (TypedExpr, error) { |
| 1124 | exprTyped, err := expr.Expr.TypeCheck(ctx, semaCtx, types.Any) |
| 1125 | if err != nil { |
| 1126 | return nil, err |
| 1127 | } |
| 1128 | expr.Expr = exprTyped |
| 1129 | expr.typ = types.Bool |
| 1130 | return expr, nil |
| 1131 | } |
| 1132 | |
| 1133 | // TypeCheck implements the Expr interface. |
| 1134 | func (expr *NullIfExpr) TypeCheck( |