(builder: IRBuilder, expr: CallExpr, callee: Expression)
| 398 | |
| 399 | |
| 400 | def translate_call(builder: IRBuilder, expr: CallExpr, callee: Expression) -> Value: |
| 401 | # The common case of calls is refexprs |
| 402 | if isinstance(callee, RefExpr): |
| 403 | return apply_function_specialization(builder, expr, callee) or translate_refexpr_call( |
| 404 | builder, expr, callee |
| 405 | ) |
| 406 | |
| 407 | function = builder.accept(callee) |
| 408 | args = [builder.accept(arg) for arg in expr.args] |
| 409 | return builder.py_call( |
| 410 | function, args, expr.line, arg_kinds=expr.arg_kinds, arg_names=expr.arg_names |
| 411 | ) |
| 412 | |
| 413 | |
| 414 | def translate_refexpr_call(builder: IRBuilder, expr: CallExpr, callee: RefExpr) -> Value: |
no test coverage detected
searching dependent graphs…