File tree Expand file tree Collapse file tree 1 file changed +15
-2
lines changed Expand file tree Collapse file tree 1 file changed +15
-2
lines changed Original file line number Diff line number Diff line change @@ -143,6 +143,19 @@ fn analyze_property(
143
143
let mut set_func_name = format ! ( "set_{name_for_func}" ) ;
144
144
let mut set_prop_name = Some ( format ! ( "set_property_{name_for_func}" ) ) ;
145
145
146
+ let has_getter = prop. getter . as_ref ( ) . is_some_and ( |getter| {
147
+ obj. functions
148
+ . matched ( getter)
149
+ . iter ( )
150
+ . all ( |f| f. status . need_generate ( ) )
151
+ } ) ;
152
+ let has_setter = prop. setter . as_ref ( ) . is_some_and ( |setter| {
153
+ obj. functions
154
+ . matched ( setter)
155
+ . iter ( )
156
+ . all ( |f| f. status . need_generate ( ) )
157
+ } ) ;
158
+
146
159
let mut readable = prop. readable ;
147
160
let mut writable = if prop. construct_only {
148
161
false
@@ -219,7 +232,7 @@ fn analyze_property(
219
232
220
233
let ( get_out_ref_mode, set_in_ref_mode, nullable) = get_property_ref_modes ( env, prop) ;
221
234
222
- let getter = if readable {
235
+ let getter = if readable && !has_getter {
223
236
if let Ok ( rust_type) = RustType :: builder ( env, prop. typ )
224
237
. direction ( library:: ParameterDirection :: Out )
225
238
. try_build ( )
@@ -249,7 +262,7 @@ fn analyze_property(
249
262
None
250
263
} ;
251
264
252
- let setter = if writable {
265
+ let setter = if writable && !has_setter {
253
266
if let Ok ( rust_type) = RustType :: builder ( env, prop. typ )
254
267
. direction ( library:: ParameterDirection :: In )
255
268
. try_build ( )
You can’t perform that action at this time.
0 commit comments