From 28b2b198a84c4a2b118d4de4bd9b7b41bfd4dd09 Mon Sep 17 00:00:00 2001 From: Wataru Otsubo Date: Sun, 2 Feb 2025 04:25:29 +0900 Subject: [PATCH] update: docs in generator & codegen_register --- src/generator.rs | 1 + src/generator/codegen_register.rs | 8 ++++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/generator.rs b/src/generator.rs index d1d1b4f..7cb33fc 100644 --- a/src/generator.rs +++ b/src/generator.rs @@ -209,6 +209,7 @@ impl CodeGen for Block { mod codegen_register; mod codegen_registerspec_impl; +/// Internally calls functions in [`codegen_register`] impl CodeGen for Register { fn generate_register_interface(self) -> Result { let snake_case_name = util::parse_to_ident(&self.name.to_snake_case())?; diff --git a/src/generator/codegen_register.rs b/src/generator/codegen_register.rs index 0195490..73d9c0d 100644 --- a/src/generator/codegen_register.rs +++ b/src/generator/codegen_register.rs @@ -210,7 +210,7 @@ fn generate_field( /// /// - field is `bool` => [`generate_single_bool_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`]. /// 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. +/// +/// Both for single & multiple. fn generate_custom_values_const_enumdef( base_type: &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( mask_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 `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( mask_name: Ident, base_type: Ident, @@ -542,6 +545,7 @@ fn generate_multiple_ux_field( (code_getter, code_setter) } +/// Generate custom [`Value`] "single" field definition (getter, setter). fn generate_multiple_custom_values_field( mask_name: Ident, base_type: Ident,