l0_backend_initializers.py

l0_backend_initializers.py

Module: l0_backend_initializers

Source: compiler/stage1_py/l0_backend_initializers.py Language: Python

Symbols

Namespace l0_backend_initializers

Class l0_backend_initializers::StaticInitializers

Static initializer classification and constructor recursion.

Member Data l0_backend_initializers.StaticInitializers.state

1
BackendState state

Function l0_backend_initializers.StaticInitializers._emit_let_initializer

1
str l0_backend_initializers.StaticInitializers._emit_let_initializer(self, Expr expr, Type expected_type)

Generate C initializer expression for a top-level let.

Supports compile-time constant literals and struct/enum construction.

Parameters:

  • expr: The initializer expression.
  • expected_type: The expected type of the constant.

Returns: A C initializer expression string.

Function l0_backend_initializers.StaticInitializers._emit_bare_variant_static_initializer

1
str l0_backend_initializers.StaticInitializers._emit_bare_variant_static_initializer(self, VarRef expr, Type expected_type)

Emit a bare zero-argument enum variant for static initialization.

Function l0_backend_initializers.StaticInitializers._emit_const_constructor

1
str l0_backend_initializers.StaticInitializers._emit_const_constructor(self, CallExpr expr, Type expected_type)

Emit a constant struct or enum constructor for static initialization.

Similar to _try_emit_constructor but only handles constant expressions.

Parameters:

  • expr: The constructor call expression.
  • expected_type: The expected struct or enum type.

Returns: A C initializer string.

Function l0_backend_initializers.StaticInitializers._emit_const_struct_constructor

1
str l0_backend_initializers.StaticInitializers._emit_const_struct_constructor(self, CallExpr expr, StructType struct_type)

Emit constant struct constructor for static initialization.

Parameters:

  • expr: The constructor call expression.
  • struct_type: The struct type.

Returns: A C struct initializer string.

Function l0_backend_initializers.StaticInitializers._emit_const_variant_constructor

1
str l0_backend_initializers.StaticInitializers._emit_const_variant_constructor(self, CallExpr expr, EnumType enum_type)

Emit constant enum variant constructor for static initialization.

Parameters:

  • expr: The variant call expression.
  • enum_type: The enum type.

Returns: A C enum variant initializer string.