View Source Unifex.CodeGenerator.Utils (Unifex v1.0.0)
Utilities for code generation.
Link to this section Summary
Functions
Traverses Elixir specification AST and creates C data types serialization
with serializers
.
Sigil used for templating generated code.
Link to this section Functions
@spec generate_enums_definitions( config :: Enumerable.t(), generator :: (term(), map() -> Unifex.CodeGenerator.code_t()), ctx :: map() ) :: Unifex.CodeGenerator.code_t()
@spec generate_functions( config :: Enumerable.t(), generator :: (term(), map() -> Unifex.CodeGenerator.code_t()), ctx :: map() ) :: Unifex.CodeGenerator.code_t()
@spec generate_functions_declarations( config :: Enumerable.t(), generator :: (term(), map() -> Unifex.CodeGenerator.code_t()), ctx :: map() ) :: Unifex.CodeGenerator.code_t()
@spec generate_serialization( ast :: Macro.t(), serializers :: %{ arg_serializer: (type :: Unifex.CodeGenerator.BaseType.t(), name :: atom() -> output), tuple_serializer: ([output] -> output) } ) :: {output, label: atom(), arg: {name :: atom(), type :: Unifex.CodeGenerator.BaseType.t()}} when output: term()
Traverses Elixir specification AST and creates C data types serialization
with serializers
.
@spec generate_structs_definitions( config :: Enumerable.t(), generator :: (term(), map() -> Unifex.CodeGenerator.code_t()), ctx :: map() ) :: Unifex.CodeGenerator.code_t()
Sigil used for templating generated code.