@@ -152,8 +152,7 @@ macro_rules! impl_varcall_signature_for_tuple {
152
152
func: fn ( sys:: GDExtensionClassInstancePtr , Self :: Params ) -> Self :: Ret ,
153
153
method_name: & str ,
154
154
) {
155
- $crate:: out!( "varcall: {}" , method_name) ;
156
-
155
+ //$crate::out!("in_varcall: {method_name}");
157
156
let args = ( $(
158
157
unsafe { varcall_arg:: <$Pn, $n>( args_ptr, method_name) } ,
159
158
) * ) ;
@@ -170,7 +169,8 @@ macro_rules! impl_varcall_signature_for_tuple {
170
169
args: Self :: Params ,
171
170
varargs: & [ Variant ] ,
172
171
) -> Self :: Ret {
173
- eprintln!( "varcall: {method_name}" ) ;
172
+ //$crate::out!("out_class_varcall: {method_name}");
173
+
174
174
// Note: varcalls are not safe from failing, if the happen through an object pointer -> validity check necessary.
175
175
if let Some ( instance_id) = maybe_instance_id {
176
176
crate :: engine:: ensure_object_alive( instance_id, object_ptr, method_name) ;
@@ -211,6 +211,7 @@ macro_rules! impl_varcall_signature_for_tuple {
211
211
args: Self :: Params ,
212
212
varargs: & [ Variant ] ,
213
213
) -> Self :: Ret {
214
+ //$crate::out!("out_utility_ptrcall_varargs: {method_name}");
214
215
let explicit_args: [ Variant ; $PARAM_COUNT] = [
215
216
$(
216
217
<$Pn as ToVariant >:: to_variant( & args. $n) ,
@@ -262,8 +263,7 @@ macro_rules! impl_ptrcall_signature_for_tuple {
262
263
method_name: & ' static str ,
263
264
call_type: sys:: PtrcallType ,
264
265
) {
265
- // $crate::out!("ptrcall: {}", method_name);
266
-
266
+ // $crate::out!("in_ptrcall: {method_name}");
267
267
let args = ( $(
268
268
unsafe { ptrcall_arg:: <$Pn, $n>( args_ptr, method_name, call_type) } ,
269
269
) * ) ;
@@ -282,6 +282,7 @@ macro_rules! impl_ptrcall_signature_for_tuple {
282
282
maybe_instance_id: Option <InstanceId >, // if not static
283
283
args: Self :: Params ,
284
284
) -> Self :: Ret {
285
+ // $crate::out!("out_class_ptrcall: {method_name}");
285
286
if let Some ( instance_id) = maybe_instance_id {
286
287
crate :: engine:: ensure_object_alive( instance_id, object_ptr, method_name) ;
287
288
}
@@ -312,6 +313,7 @@ macro_rules! impl_ptrcall_signature_for_tuple {
312
313
type_ptr: sys:: GDExtensionTypePtr ,
313
314
args: Self :: Params ,
314
315
) -> Self :: Ret {
316
+ // $crate::out!("out_builtin_ptrcall: {method_name}");
315
317
#[ allow( clippy:: let_unit_value) ]
316
318
let marshalled_args = (
317
319
$(
@@ -335,6 +337,7 @@ macro_rules! impl_ptrcall_signature_for_tuple {
335
337
utility_fn: UtilityFunctionBind ,
336
338
args: Self :: Params ,
337
339
) -> Self :: Ret {
340
+ // $crate::out!("out_utility_ptrcall: {method_name}");
338
341
#[ allow( clippy:: let_unit_value) ]
339
342
let marshalled_args = (
340
343
$(
@@ -364,9 +367,10 @@ unsafe fn varcall_arg<P: FromVariant, const N: isize>(
364
367
args_ptr : * const sys:: GDExtensionConstVariantPtr ,
365
368
method_name : & str ,
366
369
) -> P {
367
- let variant = & * ( * args_ptr. offset ( N ) as * mut Variant ) ; // TODO from_var_sys
368
- P :: try_from_variant ( variant)
369
- . unwrap_or_else ( |_| param_error :: < P > ( method_name, N as i32 , variant) )
370
+ let variant_ref = & * Variant :: ptr_from_sys ( * args_ptr. offset ( N ) ) ;
371
+
372
+ P :: try_from_variant ( variant_ref)
373
+ . unwrap_or_else ( |_| param_error :: < P > ( method_name, N as i32 , variant_ref) )
370
374
}
371
375
372
376
/// Moves `ret_val` into `ret`.
@@ -380,7 +384,7 @@ unsafe fn varcall_return<R: ToVariant>(
380
384
ret : sys:: GDExtensionVariantPtr ,
381
385
err : * mut sys:: GDExtensionCallError ,
382
386
) {
383
- let ret_variant = ret_val. to_variant ( ) ; // TODO write_sys
387
+ let ret_variant = ret_val. to_variant ( ) ;
384
388
* ( ret as * mut Variant ) = ret_variant;
385
389
( * err) . error = sys:: GDEXTENSION_CALL_OK ;
386
390
}
0 commit comments