Skip to content

Commit 01bff72

Browse files
committed
Refactor WhereClauseOptions
1 parent 1b10293 commit 01bff72

File tree

9 files changed

+130
-142
lines changed

9 files changed

+130
-142
lines changed

crates/bevy_reflect/bevy_reflect_derive/src/from_reflect.rs

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ use crate::container_attributes::REFLECT_DEFAULT;
22
use crate::derive_data::ReflectEnum;
33
use crate::enum_utility::{get_variant_constructors, EnumVariantConstructors};
44
use crate::field_attributes::DefaultBehavior;
5-
use crate::utility::{extend_where_clause, ident_or_index, WhereClauseOptions};
5+
use crate::utility::{ident_or_index, WhereClauseOptions};
66
use crate::{ReflectMeta, ReflectStruct};
77
use bevy_macro_utils::fq_std::{FQAny, FQClone, FQDefault, FQOption};
88
use proc_macro2::Span;
@@ -24,7 +24,7 @@ pub(crate) fn impl_value(meta: &ReflectMeta) -> proc_macro2::TokenStream {
2424
let bevy_reflect_path = meta.bevy_reflect_path();
2525
let (impl_generics, ty_generics, where_clause) = type_path.generics().split_for_impl();
2626
let where_from_reflect_clause =
27-
extend_where_clause(where_clause, &WhereClauseOptions::new_type_path(meta));
27+
WhereClauseOptions::new_type_path(meta).extend_where_clause(where_clause);
2828
quote! {
2929
impl #impl_generics #bevy_reflect_path::FromReflect for #type_path #ty_generics #where_from_reflect_clause {
3030
fn from_reflect(reflect: &dyn #bevy_reflect_path::Reflect) -> #FQOption<Self> {
@@ -51,7 +51,7 @@ pub(crate) fn impl_enum(reflect_enum: &ReflectEnum) -> proc_macro2::TokenStream
5151

5252
// Add FromReflect bound for each active field
5353
let where_from_reflect_clause =
54-
extend_where_clause(where_clause, &WhereClauseOptions::new(reflect_enum.meta()));
54+
WhereClauseOptions::new(reflect_enum.meta()).extend_where_clause(where_clause);
5555

5656
quote! {
5757
impl #impl_generics #bevy_reflect_path::FromReflect for #enum_path #ty_generics #where_from_reflect_clause {
@@ -130,10 +130,8 @@ fn impl_struct_internal(
130130
.split_for_impl();
131131

132132
// Add FromReflect bound for each active field
133-
let where_from_reflect_clause = extend_where_clause(
134-
where_clause,
135-
&WhereClauseOptions::new(reflect_struct.meta()),
136-
);
133+
let where_from_reflect_clause =
134+
WhereClauseOptions::new(reflect_struct.meta()).extend_where_clause(where_clause);
137135

138136
quote! {
139137
impl #impl_generics #bevy_reflect_path::FromReflect for #struct_path #ty_generics #where_from_reflect_clause {

crates/bevy_reflect/bevy_reflect_derive/src/impls/enums.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
use crate::derive_data::{EnumVariant, EnumVariantFields, ReflectEnum, StructField};
22
use crate::enum_utility::{get_variant_constructors, EnumVariantConstructors};
33
use crate::impls::{impl_type_path, impl_typed};
4-
use crate::utility::extend_where_clause;
54
use bevy_macro_utils::fq_std::{FQAny, FQBox, FQOption, FQResult};
65
use proc_macro2::{Ident, Span};
76
use quote::quote;
@@ -92,7 +91,7 @@ pub(crate) fn impl_enum(reflect_enum: &ReflectEnum) -> proc_macro2::TokenStream
9291
let (impl_generics, ty_generics, where_clause) =
9392
reflect_enum.meta().type_path().generics().split_for_impl();
9493

95-
let where_reflect_clause = extend_where_clause(where_clause, &where_clause_options);
94+
let where_reflect_clause = where_clause_options.extend_where_clause(where_clause);
9695

9796
quote! {
9897
#get_type_registration_impl

crates/bevy_reflect/bevy_reflect_derive/src/impls/structs.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
use crate::impls::{impl_type_path, impl_typed};
2-
use crate::utility::{extend_where_clause, ident_or_index};
2+
use crate::utility::ident_or_index;
33
use crate::ReflectStruct;
44
use bevy_macro_utils::fq_std::{FQAny, FQBox, FQDefault, FQOption, FQResult};
55
use quote::{quote, ToTokens};
@@ -99,7 +99,7 @@ pub(crate) fn impl_struct(reflect_struct: &ReflectStruct) -> proc_macro2::TokenS
9999
.generics()
100100
.split_for_impl();
101101

102-
let where_reflect_clause = extend_where_clause(where_clause, &where_clause_options);
102+
let where_reflect_clause = where_clause_options.extend_where_clause(where_clause);
103103

104104
quote! {
105105
#get_type_registration_impl

crates/bevy_reflect/bevy_reflect_derive/src/impls/tuple_structs.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
use crate::impls::{impl_type_path, impl_typed};
2-
use crate::utility::extend_where_clause;
32
use crate::ReflectStruct;
43
use bevy_macro_utils::fq_std::{FQAny, FQBox, FQDefault, FQOption, FQResult};
54
use quote::{quote, ToTokens};
@@ -90,7 +89,7 @@ pub(crate) fn impl_tuple_struct(reflect_struct: &ReflectStruct) -> proc_macro2::
9089
.generics()
9190
.split_for_impl();
9291

93-
let where_reflect_clause = extend_where_clause(where_clause, &where_clause_options);
92+
let where_reflect_clause = where_clause_options.extend_where_clause(where_clause);
9493

9594
quote! {
9695
#get_type_registration_impl

crates/bevy_reflect/bevy_reflect_derive/src/impls/typed.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use crate::utility::{extend_where_clause, StringExpr, WhereClauseOptions};
1+
use crate::utility::{StringExpr, WhereClauseOptions};
22
use quote::{quote, ToTokens};
33

44
use crate::{
@@ -101,7 +101,7 @@ pub(crate) fn impl_type_path(
101101
let (impl_generics, ty_generics, where_clause) = type_path.generics().split_for_impl();
102102

103103
// Add Typed bound for each active field
104-
let where_reflect_clause = extend_where_clause(where_clause, where_clause_options);
104+
let where_reflect_clause = where_clause_options.extend_where_clause(where_clause);
105105

106106
quote! {
107107
#primitive_assert
@@ -142,7 +142,7 @@ pub(crate) fn impl_typed(
142142

143143
let (impl_generics, ty_generics, where_clause) = type_path.generics().split_for_impl();
144144

145-
let where_reflect_clause = extend_where_clause(where_clause, where_clause_options);
145+
let where_reflect_clause = where_clause_options.extend_where_clause(where_clause);
146146

147147
quote! {
148148
impl #impl_generics #bevy_reflect_path::Typed for #type_path #ty_generics #where_reflect_clause {

crates/bevy_reflect/bevy_reflect_derive/src/impls/values.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
use crate::impls::{impl_type_path, impl_typed};
2-
use crate::utility::{extend_where_clause, WhereClauseOptions};
2+
use crate::utility::WhereClauseOptions;
33
use crate::ReflectMeta;
44
use bevy_macro_utils::fq_std::{FQAny, FQBox, FQClone, FQOption, FQResult};
55
use quote::quote;
@@ -34,7 +34,7 @@ pub(crate) fn impl_value(meta: &ReflectMeta) -> proc_macro2::TokenStream {
3434
let type_path_impl = impl_type_path(meta, &where_clause_options);
3535

3636
let (impl_generics, ty_generics, where_clause) = type_path.generics().split_for_impl();
37-
let where_reflect_clause = extend_where_clause(where_clause, &where_clause_options);
37+
let where_reflect_clause = where_clause_options.extend_where_clause(where_clause);
3838
let get_type_registration_impl = meta.get_type_registration(&where_clause_options);
3939

4040
quote! {

crates/bevy_reflect/bevy_reflect_derive/src/registration.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
33
use crate::derive_data::ReflectMeta;
44
use crate::serialization::SerializationDataDef;
5-
use crate::utility::{extend_where_clause, WhereClauseOptions};
5+
use crate::utility::WhereClauseOptions;
66
use quote::quote;
77

88
/// Creates the `GetTypeRegistration` impl for the given type data.
@@ -16,7 +16,7 @@ pub(crate) fn impl_get_type_registration(
1616
let bevy_reflect_path = meta.bevy_reflect_path();
1717
let registration_data = meta.traits().idents();
1818
let (impl_generics, ty_generics, where_clause) = type_path.generics().split_for_impl();
19-
let where_reflect_clause = extend_where_clause(where_clause, where_clause_options);
19+
let where_reflect_clause = where_clause_options.extend_where_clause(where_clause);
2020

2121
let from_reflect_data = if meta.from_reflect().should_auto_derive() {
2222
Some(quote! {

0 commit comments

Comments
 (0)