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

Function derive_struct_body

crates/csskit_derives/src/parse.rs:1096–1118  ·  view source on GitHub ↗
(
	data: &DataStruct,
	parse_mode: FieldParseMode,
	post_parse_steps: &TokenStream,
	where_collector: &mut WhereCollector,
)

Source from the content-addressed store, hash-verified

1094}
1095
1096fn derive_struct_body(
1097 data: &DataStruct,
1098 parse_mode: FieldParseMode,
1099 post_parse_steps: &TokenStream,
1100 where_collector: &mut WhereCollector,
1101) -> Result<TokenStream> {
1102 let fields = Field::from_fields(&data.fields)?;
1103 let members = members_tokens(&data.fields);
1104 Ok(if parse_mode == FieldParseMode::Sequential {
1105 SequentialPlan { fields: &fields, members: &members, post_parse_steps, constructor: quote! { Self } }
1106 .render(where_collector)
1107 } else {
1108 MustOccurPlan {
1109 fields: &fields,
1110 members: &members,
1111 post_parse_steps,
1112 parse_mode,
1113 constructor: quote! { Self },
1114 hoisted: &[],
1115 }
1116 .render(where_collector)
1117 })
1118}
1119
1120fn derive_enum_body(
1121 data: &DataEnum,

Callers 1

deriveFunction · 0.85

Calls 2

members_tokensFunction · 0.85
renderMethod · 0.80

Tested by

no test coverage detected