update: docs in generator & codegen_register

This commit is contained in:
Wataru Otsubo 2025-02-02 04:25:29 +09:00
parent 4131ce1880
commit 28b2b198a8
2 changed files with 7 additions and 2 deletions

View file

@ -209,6 +209,7 @@ impl CodeGen for Block {
mod codegen_register; mod codegen_register;
mod codegen_registerspec_impl; mod codegen_registerspec_impl;
/// Internally calls functions in [`codegen_register`]
impl CodeGen for Register { impl CodeGen for Register {
fn generate_register_interface(self) -> Result<proc_macro2::TokenStream, CodeGenError> { fn generate_register_interface(self) -> Result<proc_macro2::TokenStream, CodeGenError> {
let snake_case_name = util::parse_to_ident(&self.name.to_snake_case())?; let snake_case_name = util::parse_to_ident(&self.name.to_snake_case())?;

View file

@ -210,7 +210,7 @@ fn generate_field(
/// ///
/// - field is `bool` => [`generate_single_bool_field`] /// - field is `bool` => [`generate_single_bool_field`]
/// - field is `u8`/`u16`/`u32` => [`generate_single_ux_field`] /// - field is `u8`/`u16`/`u32` => [`generate_single_ux_field`]
/// - field is custom [`Value`] => [`generate_custom_values_mask_enumdef`] & [`generate_single_custom_values_field`] /// - field is custom [`Value`] => [`generate_custom_values_const_enumdef`] & [`generate_single_custom_values_field`]
/// ///
/// For the details of types of register/field, see [`DataType`]. /// For the details of types of register/field, see [`DataType`].
/// Note that in both cases, mask definitions are the same. /// Note that in both cases, mask definitions are the same.
@ -317,6 +317,8 @@ fn custom_value_const_name(field_name: &Ident, value_name: &str) -> Ident {
} }
/// Generate const var and value enum definition. /// Generate const var and value enum definition.
///
/// Both for single & multiple.
fn generate_custom_values_const_enumdef( fn generate_custom_values_const_enumdef(
base_type: &Ident, base_type: &Ident,
field_name: &Ident, field_name: &Ident,
@ -348,6 +350,7 @@ fn generate_custom_values_const_enumdef(
} }
} }
/// Generate custom [`Value`] "single" field definition (getter, setter).
fn generate_single_custom_values_field( fn generate_single_custom_values_field(
mask_name: Ident, mask_name: Ident,
snake_case_name: Ident, snake_case_name: Ident,
@ -404,7 +407,7 @@ fn generate_single_custom_values_field(
/// ///
/// - fields are `bool` => [`generate_multiple_bool_field`] /// - fields are `bool` => [`generate_multiple_bool_field`]
/// - fields are `u8`/`u16`/`u32` => [`generate_multiple_ux_field`] /// - fields are `u8`/`u16`/`u32` => [`generate_multiple_ux_field`]
/// - fields are custom [`Value`] => todo /// - fields are custom [`Value`] => [`generate_custom_values_const_enumdef`] & [`generate_multiple_custom_values_field`]
fn generate_multiple_field( fn generate_multiple_field(
mask_name: Ident, mask_name: Ident,
base_type: Ident, base_type: Ident,
@ -542,6 +545,7 @@ fn generate_multiple_ux_field(
(code_getter, code_setter) (code_getter, code_setter)
} }
/// Generate custom [`Value`] "single" field definition (getter, setter).
fn generate_multiple_custom_values_field( fn generate_multiple_custom_values_field(
mask_name: Ident, mask_name: Ident,
base_type: Ident, base_type: Ident,