Merge pull request #71535 from raulsntos/dotnet/pointers-are-yabai

C#: Skip methods with pointer parameters
This commit is contained in:
Rémi Verschelde 2023-01-26 23:44:28 +01:00
commit 4f572d1587
No known key found for this signature in database
GPG key ID: C3336907360768E1

View file

@ -2807,6 +2807,18 @@ bool BindingsGenerator::_arg_default_value_is_assignable_to_type(const Variant &
return false; return false;
} }
bool method_has_ptr_parameter(MethodInfo p_method_info) {
if (p_method_info.return_val.type == Variant::INT && p_method_info.return_val.hint == PROPERTY_HINT_INT_IS_POINTER) {
return true;
}
for (PropertyInfo arg : p_method_info.arguments) {
if (arg.type == Variant::INT && arg.hint == PROPERTY_HINT_INT_IS_POINTER) {
return true;
}
}
return false;
}
bool BindingsGenerator::_populate_object_type_interfaces() { bool BindingsGenerator::_populate_object_type_interfaces() {
obj_types.clear(); obj_types.clear();
@ -2950,6 +2962,11 @@ bool BindingsGenerator::_populate_object_type_interfaces() {
continue; continue;
} }
if (method_has_ptr_parameter(method_info)) {
// Pointers are not supported.
continue;
}
MethodInterface imethod; MethodInterface imethod;
imethod.name = method_info.name; imethod.name = method_info.name;
imethod.cname = cname; imethod.cname = cname;