@@ -29,9 +29,6 @@ pub fn handle_storage_struct<'db, 'a>(
2929 let full_generic_arg_str = starknet_module_kind. get_full_generic_arg_str ( ) ;
3030 let full_state_struct_name = starknet_module_kind. get_full_state_struct_name ( ) ;
3131
32- let mut members_struct_code = vec ! [ ] ;
33- let mut members_struct_code_mut = vec ! [ ] ;
34- let mut members_init_code = vec ! [ ] ;
3532 let mut substorage_members_struct_code = vec ! [ ] ;
3633 let mut substorage_members_init_code = vec ! [ ] ;
3734 let mut storage_struct_members = vec ! [ ] ;
@@ -53,12 +50,7 @@ pub fn handle_storage_struct<'db, 'a>(
5350 ) ) ;
5451 }
5552 }
56- let SimpleMemberGeneratedCode { struct_code, struct_code_mut, init_code, storage_member } =
57- get_simple_member_code ( db, & member, config, metadata) ;
58- members_struct_code. push ( struct_code) ;
59- members_struct_code_mut. push ( struct_code_mut) ;
60- members_init_code. push ( init_code) ;
61- storage_struct_members. push ( storage_member) ;
53+ storage_struct_members. push ( get_simple_member_code ( db, & member, config, metadata) ) ;
6254 }
6355
6456 let module_kind = starknet_module_kind. to_str_lower ( ) ;
@@ -129,12 +121,6 @@ pub fn handle_storage_struct<'db, 'a>(
129121 "substorage_members_init_code" . to_string ( ) ,
130122 RewriteNode :: new_modified ( substorage_members_init_code) ,
131123 ) ,
132- ( "members_struct_code" . to_string ( ) , RewriteNode :: new_modified ( members_struct_code) ) ,
133- (
134- "members_struct_code_mut" . to_string ( ) ,
135- RewriteNode :: new_modified ( members_struct_code_mut) ,
136- ) ,
137- ( "members_init_code" . to_string ( ) , RewriteNode :: new_modified ( members_init_code) ) ,
138124 ]
139125 . into ( ) ,
140126 )
@@ -206,75 +192,28 @@ fn get_substorage_member_code<'db>(
206192 }
207193}
208194
209- struct SimpleMemberGeneratedCode < ' db > {
210- struct_code : RewriteNode < ' db > ,
211- struct_code_mut : RewriteNode < ' db > ,
212- init_code : RewriteNode < ' db > ,
213- storage_member : RewriteNode < ' db > ,
214- }
215-
216- /// Returns the relevant code for a substorage storage member.
195+ /// Returns the relevant code for a storage member.
217196fn get_simple_member_code < ' db > (
218197 db : & ' db dyn Database ,
219198 member : & ast:: Member < ' db > ,
220- config : & StorageMemberConfig ,
199+ _config : & StorageMemberConfig ,
221200 metadata : & MacroPluginMetadata < ' _ > ,
222- ) -> SimpleMemberGeneratedCode < ' db > {
223- let member_wrapper_type = RewriteNode :: text (
224- if matches ! ( config. kind, StorageMemberKind :: SubStorage | StorageMemberKind :: Flat ) {
225- "FlattenedStorage"
226- } else {
227- "StorageBase"
228- } ,
229- ) ;
201+ ) -> RewriteNode < ' db > {
230202 let member_visibility = if backwards_compatible_storage ( metadata. edition ) {
231203 RewriteNode :: text ( "pub" )
232204 } else {
233205 RewriteNode :: from_ast ( & member. visibility ( db) )
234206 } ;
235207 let member_name = RewriteNode :: from_ast_trimmed ( & member. name ( db) ) ;
236- let member_selector_name =
237- config. rename . as_deref ( ) . map_or_else ( || member_name. clone ( ) , RewriteNode :: text) ;
238- let patches = [
239- ( "attributes" . to_string ( ) , RewriteNode :: from_ast ( & member. attributes ( db) ) ) ,
240- ( "member_visibility" . to_string ( ) , member_visibility) ,
241- ( "member_wrapper_type" . to_string ( ) , member_wrapper_type) ,
242- ( "member_name" . to_string ( ) , member_name) ,
243- ( "member_selector_name" . to_string ( ) , member_selector_name) ,
244- ( "member_type" . to_string ( ) , RewriteNode :: from_ast_trimmed ( & member. type_clause ( db) . ty ( db) ) ) ,
245- ]
246- . into ( ) ;
247-
248- SimpleMemberGeneratedCode {
249- struct_code : RewriteNode :: interpolate_patched (
250- "\n $attributes$ $member_visibility$ $member_name$: \
251- starknet::storage::$member_wrapper_type$<$member_type$>,",
252- & patches,
253- )
254- . mapped ( db, member) ,
255- struct_code_mut : RewriteNode :: interpolate_patched (
256- "\n $attributes$ $member_visibility$ $member_name$: \
257- starknet::storage::$member_wrapper_type$<starknet::storage::Mutable<$member_type$>>,",
258- & patches,
259- )
260- . mapped ( db, member) ,
261- init_code : if member. has_attr ( db, SUBSTORAGE_ATTR ) || member. has_attr ( db, FLAT_ATTR ) {
262- RewriteNode :: interpolate_patched (
263- "\n $member_name$: starknet::storage::FlattenedStorage{}," ,
264- & patches,
265- )
266- } else {
267- RewriteNode :: interpolate_patched (
268- "\n $member_name$: starknet::storage::StorageBase{ address: \
269- selector!(\" $member_selector_name$\" ) },",
270- & patches,
271- )
272- }
273- . mapped ( db, member) ,
274- storage_member : RewriteNode :: interpolate_patched (
275- "\n $attributes$ $member_visibility$ $member_name$: $member_type$," ,
276- & patches,
277- )
278- . mapped ( db, member) ,
279- }
208+ RewriteNode :: interpolate_patched (
209+ "\n $attributes$ $member_visibility$ $member_name$: $member_type$," ,
210+ & [
211+ ( "attributes" . to_string ( ) , RewriteNode :: from_ast ( & member. attributes ( db) ) ) ,
212+ ( "member_visibility" . to_string ( ) , member_visibility) ,
213+ ( "member_name" . to_string ( ) , member_name) ,
214+ ( "member_type" . to_string ( ) , RewriteNode :: from_ast_trimmed ( & member. type_clause ( db) . ty ( db) ) ) ,
215+ ]
216+ . into ( ) ,
217+ )
218+ . mapped ( db, member)
280219}
0 commit comments