MCPcopy Create free account
hub / github.com/csskit/csskit / str_to_bits

Method str_to_bits

crates/css_lexer/src/dyn_atom_registry.rs:155–168  ·  view source on GitHub ↗
(&self, keyword: &str)

Source from the content-addressed store, hash-verified

153
154impl<T: AtomSet> DynAtomSet for DynAtomRegistry<T> {
155 fn str_to_bits(&self, keyword: &str) -> u32 {
156 let static_atom = T::from_str(keyword);
157 let default_bits = T::default().as_bits();
158
159 if static_atom.as_bits() != default_bits {
160 let bits = static_atom.as_bits();
161 debug_assert!(bits & (1 << ATOM_DYNAMIC_BIT) == 0, "Static atoms must have dynamic bit = 0");
162 return bits;
163 }
164
165 let bits = self.atomize(keyword);
166 debug_assert!(bits & (1 << ATOM_DYNAMIC_BIT) != 0, "Dynamic atoms must have dynamic bit = 1");
167 bits
168 }
169
170 fn bits_to_str(&self, bits: u32) -> &'static str {
171 if Self::is_dynamic(bits) {

Calls 2

as_bitsMethod · 0.80
atomizeMethod · 0.80