l0_backend_convert.py

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.