| 1240 | } |
| 1241 | |
| 1242 | LValuePtr LLVMGenerator::Visitor::BuildValueAndValidity(const ValueValidityPair& pair) { |
| 1243 | // generate code for value |
| 1244 | auto value_expr = pair.value_expr(); |
| 1245 | value_expr->Accept(*this); |
| 1246 | auto value = result()->data(); |
| 1247 | auto length = result()->length(); |
| 1248 | |
| 1249 | // generate code for validity |
| 1250 | auto validity = BuildCombinedValidity(pair.validity_exprs()); |
| 1251 | |
| 1252 | return std::make_shared<LValue>(value, length, validity); |
| 1253 | } |
| 1254 | |
| 1255 | LValuePtr LLVMGenerator::Visitor::BuildFunctionCall(const NativeFunction* func, |
| 1256 | DataTypePtr arrow_return_type, |