44
55extern crate proc_macro;
66
7- use proc_macro:: { TokenStream , TokenTree , Group , Delimiter , token_stream } ;
7+ use proc_macro:: { token_stream , Delimiter , Group , TokenStream , TokenTree } ;
88
99fn expect_ident ( it : & mut token_stream:: IntoIter ) -> String {
1010 if let TokenTree :: Ident ( ident) = it. next ( ) . unwrap ( ) {
@@ -78,13 +78,24 @@ fn get_byte_string(it: &mut token_stream::IntoIter, expected_name: &str) -> Stri
7878 byte_string[ 2 ..byte_string. len ( ) - 1 ] . to_string ( )
7979}
8080
81- fn __build_modinfo_string_base ( module : & str , field : & str , content : & str , variable : & str , builtin : bool ) -> String {
81+ fn __build_modinfo_string_base (
82+ module : & str ,
83+ field : & str ,
84+ content : & str ,
85+ variable : & str ,
86+ builtin : bool ,
87+ ) -> String {
8288 let string = if builtin {
8389 // Built-in modules prefix their modinfo strings by `module.`
84- format ! ( "{module}.{field}={content}" , module=module, field=field, content=content)
90+ format ! (
91+ "{module}.{field}={content}" ,
92+ module = module,
93+ field = field,
94+ content = content
95+ )
8596 } else {
8697 // Loadable modules' modinfo strings go as-is
87- format ! ( "{field}={content}" , field= field, content= content)
98+ format ! ( "{field}={content}" , field = field, content = content)
8899 } ;
89100
90101 format ! (
@@ -94,23 +105,39 @@ fn __build_modinfo_string_base(module: &str, field: &str, content: &str, variabl
94105 #[used]
95106 pub static {variable}: [u8; {length}] = *b\" {string}\\ 0\" ;
96107 " ,
97- cfg = if builtin { "#[cfg(not(MODULE))]" } else { "#[cfg(MODULE)]" } ,
108+ cfg = if builtin {
109+ "#[cfg(not(MODULE))]"
110+ } else {
111+ "#[cfg(MODULE)]"
112+ } ,
98113 variable = variable,
99114 length = string. len( ) + 1 ,
100115 string = string,
101116 )
102117}
103118
104119fn __build_modinfo_string_variable ( module : & str , field : & str ) -> String {
105- format ! ( "__{module}_{field}" , module= module, field= field)
120+ format ! ( "__{module}_{field}" , module = module, field = field)
106121}
107122
108123fn build_modinfo_string_only_builtin ( module : & str , field : & str , content : & str ) -> String {
109- __build_modinfo_string_base ( module, field, content, & __build_modinfo_string_variable ( module, field) , true )
124+ __build_modinfo_string_base (
125+ module,
126+ field,
127+ content,
128+ & __build_modinfo_string_variable ( module, field) ,
129+ true ,
130+ )
110131}
111132
112133fn build_modinfo_string_only_loadable ( module : & str , field : & str , content : & str ) -> String {
113- __build_modinfo_string_base ( module, field, content, & __build_modinfo_string_variable ( module, field) , false )
134+ __build_modinfo_string_base (
135+ module,
136+ field,
137+ content,
138+ & __build_modinfo_string_variable ( module, field) ,
139+ false ,
140+ )
114141}
115142
116143fn build_modinfo_string ( module : & str , field : & str , content : & str ) -> String {
@@ -119,8 +146,13 @@ fn build_modinfo_string(module: &str, field: &str, content: &str) -> String {
119146}
120147
121148fn build_modinfo_string_param ( module : & str , field : & str , param : & str , content : & str ) -> String {
122- let variable = format ! ( "__{module}_{field}_{param}" , module=module, field=field, param=param) ;
123- let content = format ! ( "{param}:{content}" , param=param, content=content) ;
149+ let variable = format ! (
150+ "__{module}_{field}_{param}" ,
151+ module = module,
152+ field = field,
153+ param = param
154+ ) ;
155+ let content = format ! ( "{param}:{content}" , param = param, content = content) ;
124156 __build_modinfo_string_base ( module, field, & content, & variable, true )
125157 + & __build_modinfo_string_base ( module, field, & content, & variable, false )
126158}
@@ -202,8 +234,18 @@ pub fn module(ts: TokenStream) -> TokenStream {
202234 t => panic ! ( "Unrecognized type {}" , t) ,
203235 } ;
204236
205- params_modinfo. push_str ( & build_modinfo_string_param ( & name, "parmtype" , & param_name, & param_kernel_type) ) ;
206- params_modinfo. push_str ( & build_modinfo_string_param ( & name, "parm" , & param_name, & param_description) ) ;
237+ params_modinfo. push_str ( & build_modinfo_string_param (
238+ & name,
239+ "parmtype" ,
240+ & param_name,
241+ & param_kernel_type,
242+ ) ) ;
243+ params_modinfo. push_str ( & build_modinfo_string_param (
244+ & name,
245+ "parm" ,
246+ & param_name,
247+ & param_description,
248+ ) ) ;
207249 params_modinfo. push_str (
208250 & format ! (
209251 "
@@ -352,4 +394,3 @@ pub fn module(ts: TokenStream) -> TokenStream {
352394 initcall_section = ".initcall6.init"
353395 ) . parse ( ) . unwrap ( )
354396}
355-
0 commit comments