refactor: remove to_shouty_snake_case & inline mask variable in reg_type_def_masked

This commit is contained in:
Wataru Otsubo 2025-02-02 02:48:56 +09:00
parent 80ce358aee
commit 49a9698a32

View file

@ -1,7 +1,7 @@
//! Generator for [`Register`].
//! The entry point is [`reg_type_def`].
use heck::{ToShoutySnekCase, ToSnakeCase};
use heck::{ToShoutySnakeCase, ToSnakeCase, ToUpperCamelCase};
use itertools::Itertools;
use proc_macro2::{Ident, Literal, TokenStream};
use quote::quote;
@ -79,8 +79,7 @@ fn reg_type_def_masked(
type Error = DataConversionError<#type_ux, Self>;
fn try_from(value: #type_ux) -> Result<Self, Self::Error> {
let mask = #mask;
Ok(SlId(value & mask))
Ok(SlId(value & #mask))
}
}
impl From<#upper_camel_name> for #type_ux {
@ -169,7 +168,7 @@ fn generate_field(
field: &Field,
basetype: &DataType,
) -> Result<(TokenStream, TokenStream, TokenStream), CodeGenError> {
let mask_name = util::parse_to_ident(&format!("{}_MASK", field.name.TO_SHOUTY_SNEK_CASE()))?;
let mask_name = util::parse_to_ident(&format!("{}_MASK", field.name.to_shouty_snake_case()))?;
let base_type = util::RustUxTypes::from(basetype).to_rust_type_token();
let snake_case_name = util::parse_to_ident(&field.name.to_snake_case())?;