Compare commits

...

2 commits

Author SHA1 Message Date
5ef9387d33 fix: path of RegisterSpec 2025-05-30 05:24:34 +09:00
2baf19a190 update(generator): use full path RegisterSpec traits
to avoid unused `use` warning
2025-05-30 05:20:16 +09:00
4 changed files with 9 additions and 9 deletions

View file

@ -17,6 +17,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Improve error message from syn in generator. !15 - Improve error message from syn in generator. !15
- Removed top level module (register_interface), and now it can have arbitrary name. - Removed top level module (register_interface), and now it can have arbitrary name.
- Use full path `RegisterSpec`s to avoid unused `use`
## [0.3.1] - 2025-04-11 ## [0.3.1] - 2025-04-11

View file

@ -455,7 +455,6 @@ impl CodeGen for Register {
use std::marker::PhantomData; use std::marker::PhantomData;
use crate::axic2c1::spec::AxiC2c1Spec; use crate::axic2c1::spec::AxiC2c1Spec;
use crate::register_spec::{DataConversionError, Modifiable, Readable, RegisterSpec, Writable};
const OFFSET: usize = #addr; const OFFSET: usize = #addr;

View file

@ -76,7 +76,7 @@ fn reg_type_def_masked(
#[derive(Debug, Clone, Copy, Default)] #[derive(Debug, Clone, Copy, Default)]
pub struct #upper_camel_name(pub #type_ux); pub struct #upper_camel_name(pub #type_ux);
impl TryFrom<#type_ux> for #upper_camel_name { impl TryFrom<#type_ux> for #upper_camel_name {
type Error = DataConversionError<#type_ux, Self>; type Error = crate::register_spec::DataConversionError<#type_ux, Self>;
fn try_from(value: #type_ux) -> Result<Self, Self::Error> { fn try_from(value: #type_ux) -> Result<Self, Self::Error> {
Ok(Self(value & #mask)) Ok(Self(value & #mask))
@ -137,7 +137,7 @@ fn reg_type_def_with_field(
#(#code_setters)* #(#code_setters)*
} }
impl TryFrom<#type_ux> for #upper_camel_name { impl TryFrom<#type_ux> for #upper_camel_name {
type Error = DataConversionError<#type_ux, Self>; type Error = crate::register_spec::DataConversionError<#type_ux, Self>;
fn try_from(value: #type_ux) -> Result<Self, Self::Error> { fn try_from(value: #type_ux) -> Result<Self, Self::Error> {
Ok(Self { inner: value }) Ok(Self { inner: value })

View file

@ -11,19 +11,19 @@ pub(super) fn gen_registerspec_impl(
) -> TokenStream { ) -> TokenStream {
let impl_rw = match modf { let impl_rw = match modf {
RwSpecifier::R => quote! { RwSpecifier::R => quote! {
impl<T: AxiC2c1Spec> Readable for #reg_name<'_, T> {} impl<T: AxiC2c1Spec> crate::register_spec::Readable for #reg_name<'_, T> {}
}, },
RwSpecifier::W => quote! { RwSpecifier::W => quote! {
impl<T: AxiC2c1Spec> Writable for #reg_name<'_, T> {} impl<T: AxiC2c1Spec> crate::register_spec::Writable for #reg_name<'_, T> {}
}, },
RwSpecifier::RW => quote! { RwSpecifier::RW => quote! {
impl<T: AxiC2c1Spec> Readable for #reg_name<'_, T> {} impl<T: AxiC2c1Spec> crate::register_spec::Readable for #reg_name<'_, T> {}
impl<T: AxiC2c1Spec> Writable for #reg_name<'_, T> {} impl<T: AxiC2c1Spec> crate::register_spec::Writable for #reg_name<'_, T> {}
impl<T: AxiC2c1Spec> Modifiable for #reg_name<'_, T> {} impl<T: AxiC2c1Spec> crate::register_spec::Modifiable for #reg_name<'_, T> {}
}, },
}; };
quote! { quote! {
impl<T: AxiC2c1Spec> RegisterSpec for #reg_name<'_, T> { impl<T: AxiC2c1Spec> crate::register_spec::RegisterSpec for #reg_name<'_, T> {
type Ux = #type_ux; type Ux = #type_ux;
type T = #type_t; type T = #type_t;