@@ -19,6 +19,7 @@ use std::mem::MaybeUninit;
1919/// # fn dummy(function_name: &String) { let _ =
2020/// match_ignore_ascii_case! { &function_name,
2121/// "rgb" => parse_rgb(..),
22+ /// # #[cfg(not(something))]
2223/// "rgba" => parse_rgba(..),
2324/// "hsl" => parse_hsl(..),
2425/// "hsla" => parse_hsla(..),
@@ -35,6 +36,7 @@ use std::mem::MaybeUninit;
3536macro_rules! match_ignore_ascii_case {
3637 ( $input: expr,
3738 $(
39+ $( #[ $meta: meta] ) *
3840 $( $pattern: pat ) |+ $( if $guard: expr ) ? => $then: expr
3941 ) ,+
4042 $( , ) ?
@@ -46,15 +48,16 @@ macro_rules! match_ignore_ascii_case {
4648 // rather than expression/statement context,
4749 // even though the macro only expands to items.
4850 mod cssparser_internal {
49- $crate:: cssparser_internal__match_ignore_ascii_case__support ! {
51+ $crate:: _cssparser_internal_max_len ! {
5052 $( $( $pattern ) + ) +
5153 }
5254 }
53- cssparser_internal__to_lowercase !( $input, cssparser_internal:: MAX_LENGTH => lowercase) ;
55+ _cssparser_internal_to_lowercase !( $input, cssparser_internal:: MAX_LENGTH => lowercase) ;
5456 // "A" is a short string that we know is different for every string pattern,
5557 // since we’ve verified that none of them include ASCII upper case letters.
5658 match lowercase. unwrap_or( "A" ) {
5759 $(
60+ $( #[ $meta] ) *
5861 $( $pattern ) |+ $( if $guard ) ? => $then,
5962 ) +
6063 }
@@ -95,15 +98,19 @@ macro_rules! ascii_case_insensitive_phf_map {
9598 pub fn $name( input: & str ) -> Option <& ' static $ValueType> {
9699 // This dummy module works around a feature gate,
97100 // see comment on the similar module in `match_ignore_ascii_case!` above.
98- mod cssparser_internal {
99- use $crate:: _internal__phf:: { Map , phf_map} ;
100- #[ allow( unused) ] use super :: * ;
101- $crate:: cssparser_internal__ascii_case_insensitive_phf_map__support! {
102- $ValueType $( $key $value ) +
101+ mod _cssparser_internal {
102+ $crate:: _cssparser_internal_max_len! {
103+ $( $key ) +
103104 }
104105 }
105- cssparser_internal__to_lowercase!( input, cssparser_internal:: MAX_LENGTH => lowercase) ;
106- lowercase. and_then( |s| cssparser_internal:: MAP . get( s) )
106+ use $crate:: _cssparser_internal_phf as phf;
107+ static MAP : phf:: Map <& ' static str , $ValueType> = phf:: phf_map! {
108+ $(
109+ $key => $value,
110+ ) *
111+ } ;
112+ _cssparser_internal_to_lowercase!( input, _cssparser_internal:: MAX_LENGTH => lowercase) ;
113+ lowercase. and_then( |s| MAP . get( s) )
107114 }
108115 }
109116}
@@ -113,19 +120,19 @@ macro_rules! ascii_case_insensitive_phf_map {
113120/// **This macro is not part of the public API. It can change or be removed between any versions.**
114121///
115122/// Define a local variable named `$output`
116- /// and assign it the result of calling `_internal__to_lowercase `
123+ /// and assign it the result of calling `_cssparser_internal_to_lowercase `
117124/// with a stack-allocated buffer of length `$BUFFER_SIZE`.
118125#[ macro_export]
119126#[ doc( hidden) ]
120- macro_rules! cssparser_internal__to_lowercase {
127+ macro_rules! _cssparser_internal_to_lowercase {
121128 ( $input: expr, $BUFFER_SIZE: expr => $output: ident) => {
122129 #[ allow( unsafe_code) ]
123130 let mut buffer = unsafe {
124131 :: std:: mem:: MaybeUninit :: <[ :: std:: mem:: MaybeUninit <u8 >; $BUFFER_SIZE] >:: uninit( )
125132 . assume_init( )
126133 } ;
127134 let input: & str = $input;
128- let $output = $crate:: _internal__to_lowercase ( & mut buffer, input) ;
135+ let $output = $crate:: _cssparser_internal_to_lowercase ( & mut buffer, input) ;
129136 } ;
130137}
131138
@@ -137,7 +144,7 @@ macro_rules! cssparser_internal__to_lowercase {
137144/// Otherwise, return `input` ASCII-lowercased, using `buffer` as temporary space if necessary.
138145#[ doc( hidden) ]
139146#[ allow( non_snake_case) ]
140- pub fn _internal__to_lowercase < ' a > (
147+ pub fn _cssparser_internal_to_lowercase < ' a > (
141148 buffer : & ' a mut [ MaybeUninit < u8 > ] ,
142149 input : & ' a str ,
143150) -> Option < & ' a str > {
0 commit comments