diff options
Diffstat (limited to 'binding_generator.py')
-rw-r--r-- | binding_generator.py | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/binding_generator.py b/binding_generator.py index c8be0d1..3b45a97 100644 --- a/binding_generator.py +++ b/binding_generator.py @@ -179,7 +179,7 @@ def generate_builtin_bindings(api, output_dir, build_config): builtin_header.append("") for builtin in builtin_classes: - builtin_header.append(f'#include <godot_cpp/variant/{camel_to_snake(builtin)}.hpp>') + builtin_header.append(f"#include <godot_cpp/variant/{camel_to_snake(builtin)}.hpp>") builtin_header.append("") @@ -229,7 +229,9 @@ def generate_builtin_class_header(builtin_api, size, used_classes, fully_used_cl result.append(f"class {class_name} {{") result.append(f"\tstatic constexpr size_t {snake_class_name}_SIZE = {size};") result.append(f"\tuint8_t opaque[{snake_class_name}_SIZE] {{ 0 }};") - result.append(f"\tGDNativeTypePtr ptr = const_cast<uint8_t (*)[{snake_class_name}_SIZE]>(&opaque);") + result.append( + f"\t_FORCE_INLINE_ GDNativeTypePtr ptr() const {{ return const_cast<uint8_t (*)[{snake_class_name}_SIZE]>(&opaque); }}" + ) result.append("") result.append("\tfriend class Variant;") @@ -1007,10 +1009,10 @@ def generate_engine_class_source(class_api, used_classes, fully_used_classes, us if is_pod_type(return_type) or is_variant(return_type) or is_enum(return_type): method_call += f"return internal::_call_native_mb_ret<{correct_type(return_type, meta_type)}>(___method_bind, _owner" elif is_refcounted(return_type): - method_call += f"return Ref<{return_type}>::___internal_constructor(internal::_call_native_mb_ret_obj<{class_name}>(___method_bind, _owner" + method_call += f"return Ref<{return_type}>::___internal_constructor(internal::_call_native_mb_ret_obj<{return_type}>(___method_bind, _owner" is_ref = True else: - method_call += f"return ({correct_type(return_type)})internal::_call_native_mb_ret_obj<{class_name}>(___method_bind, _owner" + method_call += f"return ({correct_type(return_type)})internal::_call_native_mb_ret_obj<{return_type}>(___method_bind, _owner" else: method_call += f"internal::_call_native_mb_no_ret(___method_bind, _owner" @@ -1029,7 +1031,7 @@ def generate_engine_class_source(class_api, used_classes, fully_used_classes, us else: # vararg. result.append("\tGDNativeCallError error;") result.append("\tVariant ret;") - method_call += "internal::interface->object_method_bind_call(___method_bind, _owner, (const GDNativeVariantPtr *)args, arg_count, ret, &error" + method_call += "internal::interface->object_method_bind_call(___method_bind, _owner, (const GDNativeVariantPtr *)args, arg_count, &ret, &error" if is_ref: method_call += ")" # Close Ref<> constructor. |