Skip to content

Commit cb7495d

Browse files
committed
Emit hex bitfield masks
1 parent 5dbdadc commit cb7495d

24 files changed

+483
-476
lines changed

src/codegen/helpers.rs

+7
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,13 @@ pub mod ast_ty {
143143
tokens
144144
}
145145

146+
/// Returns hex representation of the given value.
147+
pub fn hex_expr(val: u64) -> quote::Tokens {
148+
let mut tokens = quote! {};
149+
tokens.append(format!("{:#x}", val));
150+
tokens
151+
}
152+
146153
pub fn byte_array_expr(bytes: &[u8]) -> quote::Tokens {
147154
let mut bytes: Vec<_> = bytes.iter().cloned().collect();
148155
bytes.push(0);

src/codegen/mod.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1121,7 +1121,7 @@ impl Bitfield {
11211121
let bitfield_int_ty = helpers::blob(bitfield_ty_layout);
11221122

11231123
let offset = self.offset_into_unit();
1124-
let mask = self.mask();
1124+
let mask = helpers::ast_ty::hex_expr(self.mask());
11251125

11261126
// Don't use variables or blocks because const functions do not allow
11271127
// them.
@@ -1304,7 +1304,7 @@ impl<'a> FieldCodegen<'a> for Bitfield {
13041304
bitfield_ty.to_rust_ty_or_opaque(ctx, bitfield_ty_item);
13051305

13061306
let offset = self.offset_into_unit();
1307-
let mask = self.mask();
1307+
let mask = helpers::ast_ty::hex_expr(self.mask());
13081308

13091309
methods.extend(Some(quote! {
13101310
#[inline]

0 commit comments

Comments
 (0)