l0_backend_convert.py
Module: l0_backend_convert
Source: compiler/stage1_py/l0_backend_convert.py Language: Python
Symbols
Namespace l0_backend_convert
Class l0_backend_convert::OwnershipConversion
Checked pointer access and ownership-preserving value conversions.
Member Data l0_backend_convert.OwnershipConversion.state
1
BackendState state
Function l0_backend_convert.OwnershipConversion._sizeof_expr_for_type
1
str l0_backend_convert.OwnershipConversion._sizeof_expr_for_type(self, Type ty)
Return a C sizeof expression for the runtime access extent.
Function l0_backend_convert.OwnershipConversion._alignof_expr_for_type
1
str l0_backend_convert.OwnershipConversion._alignof_expr_for_type(self, Type ty)
Return a C alignment expression for the runtime access target.
Function l0_backend_convert.OwnershipConversion._emit_checked_pointer_expr
1
str l0_backend_convert.OwnershipConversion._emit_checked_pointer_expr(self, str c_ptr_expr, Type ptr_ty, Node|None node=None, str access_mode="_RT_ACCESS_READ")
Emit a pointer expression checked for one pointee-sized access.
Function l0_backend_convert.OwnershipConversion._emit_pointer_index_lvalue
1
str l0_backend_convert.OwnershipConversion._emit_pointer_index_lvalue(self, str c_base, str c_index, Type base_ty, Node|None node=None, str access_mode="_RT_ACCESS_WRITE")
Emit a checked pointer-index lvalue expression.
Function l0_backend_convert.OwnershipConversion._convert_expr_with_expected_type
1
str l0_backend_convert.OwnershipConversion._convert_expr_with_expected_type(self, str c_expr, Type|None natural_ty, Type expected)
Convert a pre-emitted expression into the expected type when required.
Parameters:
c_expr: The C expression string.natural_ty: The natural type of the expression.expected: The expected type.
Returns: A C expression string, potentially wrapped or widened.
Function l0_backend_convert.OwnershipConversion._emit_unwrap
1
str l0_backend_convert.OwnershipConversion._emit_unwrap(self, str c_dst, str c_inner, NullableType src_ty)
Emit code to unwrap a nullable value.
Parameters:
c_dst: C type of destination.c_inner: C expression of nullable value.src_ty: The NullableType.
Returns: C code for unwrapped value.
Function l0_backend_convert.OwnershipConversion._emit_sizeof_intrinsic
1
str l0_backend_convert.OwnershipConversion._emit_sizeof_intrinsic(self, CallExpr expr)
Emit sizeof intrinsic.
Parameters:
expr: The sizeof call expression.
Returns: A C sizeof expression string.