Merge pull request #1292 from Repiteo/GDCLASS-style-sync

`GDCLASS` synced by ending with "private:"
pull/1302/head
David Snopek 2023-11-08 16:22:46 +01:00 committed by GitHub
commit d239312e7b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 101 additions and 97 deletions

View File

@ -365,105 +365,109 @@ public:
_gde_binding_create_callback, \ _gde_binding_create_callback, \
_gde_binding_free_callback, \ _gde_binding_free_callback, \
_gde_binding_reference_callback, \ _gde_binding_reference_callback, \
}; }; \
\
private:
// Don't use this for your classes, use GDCLASS() instead. // Don't use this for your classes, use GDCLASS() instead.
#define GDEXTENSION_CLASS_ALIAS(m_class, m_alias_for, m_inherits) \ #define GDEXTENSION_CLASS_ALIAS(m_class, m_alias_for, m_inherits) /******************************************************************************************************************/ \
private: \ private: \
inline static ::godot::internal::EngineClassRegistration<m_class> _gde_engine_class_registration_helper; \ inline static ::godot::internal::EngineClassRegistration<m_class> _gde_engine_class_registration_helper; \
void operator=(const m_class &p_rval) {} \ void operator=(const m_class &p_rval) {} \
\ \
protected: \ protected: \
virtual const GDExtensionInstanceBindingCallbacks *_get_bindings_callbacks() const override { \ virtual const GDExtensionInstanceBindingCallbacks *_get_bindings_callbacks() const override { \
return &_gde_binding_callbacks; \ return &_gde_binding_callbacks; \
} \ } \
\ \
m_class(const char *p_godot_class) : m_inherits(p_godot_class) {} \ m_class(const char *p_godot_class) : m_inherits(p_godot_class) {} \
m_class(GodotObject *p_godot_object) : m_inherits(p_godot_object) {} \ m_class(GodotObject *p_godot_object) : m_inherits(p_godot_object) {} \
\ \
static void (*_get_bind_methods())() { \ static void (*_get_bind_methods())() { \
return nullptr; \ return nullptr; \
} \ } \
\ \
static void (Wrapped::*_get_notification())(int) { \ static void (Wrapped::*_get_notification())(int) { \
return nullptr; \ return nullptr; \
} \ } \
\ \
static bool (Wrapped::*_get_set())(const ::godot::StringName &p_name, const Variant &p_property) { \ static bool (Wrapped::*_get_set())(const ::godot::StringName &p_name, const Variant &p_property) { \
return nullptr; \ return nullptr; \
} \ } \
\ \
static bool (Wrapped::*_get_get())(const ::godot::StringName &p_name, Variant &r_ret) const { \ static bool (Wrapped::*_get_get())(const ::godot::StringName &p_name, Variant &r_ret) const { \
return nullptr; \ return nullptr; \
} \ } \
\ \
static inline bool has_get_property_list() { \ static inline bool has_get_property_list() { \
return false; \ return false; \
} \ } \
\ \
static void (Wrapped::*_get_get_property_list())(List<PropertyInfo> * p_list) const { \ static void (Wrapped::*_get_get_property_list())(List<PropertyInfo> * p_list) const { \
return nullptr; \ return nullptr; \
} \ } \
\ \
static bool (Wrapped::*_get_property_can_revert())(const ::godot::StringName &p_name) const { \ static bool (Wrapped::*_get_property_can_revert())(const ::godot::StringName &p_name) const { \
return nullptr; \ return nullptr; \
} \ } \
\ \
static bool (Wrapped::*_get_property_get_revert())(const ::godot::StringName &p_name, Variant &) const { \ static bool (Wrapped::*_get_property_get_revert())(const ::godot::StringName &p_name, Variant &) const { \
return nullptr; \ return nullptr; \
} \ } \
\ \
static void (Wrapped::*_get_validate_property())(::godot::PropertyInfo & p_property) const { \ static void (Wrapped::*_get_validate_property())(::godot::PropertyInfo & p_property) const { \
return nullptr; \ return nullptr; \
} \ } \
\ \
static String (Wrapped::*_get_to_string())() const { \ static String (Wrapped::*_get_to_string())() const { \
return nullptr; \ return nullptr; \
} \ } \
\ \
public: \ public: \
typedef m_class self_type; \ typedef m_class self_type; \
\ \
static void initialize_class() {} \ static void initialize_class() {} \
\ \
static ::godot::StringName &get_class_static() { \ static ::godot::StringName &get_class_static() { \
static ::godot::StringName string_name = ::godot::StringName(#m_alias_for); \ static ::godot::StringName string_name = ::godot::StringName(#m_alias_for); \
return string_name; \ return string_name; \
} \ } \
\ \
static ::godot::StringName &get_parent_class_static() { \ static ::godot::StringName &get_parent_class_static() { \
return m_inherits::get_class_static(); \ return m_inherits::get_class_static(); \
} \ } \
\ \
static GDExtensionObjectPtr create(void *data) { \ static GDExtensionObjectPtr create(void *data) { \
return nullptr; \ return nullptr; \
} \ } \
\ \
static GDExtensionClassInstancePtr recreate(void *data, GDExtensionObjectPtr obj) { \ static GDExtensionClassInstancePtr recreate(void *data, GDExtensionObjectPtr obj) { \
return nullptr; \ return nullptr; \
} \ } \
\ \
static void free(void *data, GDExtensionClassInstancePtr ptr) { \ static void free(void *data, GDExtensionClassInstancePtr ptr) { \
} \ } \
\ \
static void *_gde_binding_create_callback(void *p_token, void *p_instance) { \ static void *_gde_binding_create_callback(void *p_token, void *p_instance) { \
/* Do not call memnew here, we don't want the post-initializer to be called */ \ /* Do not call memnew here, we don't want the post-initializer to be called */ \
return new ("") m_class((GodotObject *)p_instance); \ return new ("") m_class((GodotObject *)p_instance); \
} \ } \
static void _gde_binding_free_callback(void *p_token, void *p_instance, void *p_binding) { \ static void _gde_binding_free_callback(void *p_token, void *p_instance, void *p_binding) { \
/* Explicitly call the deconstructor to ensure proper lifecycle for non-trivial members */ \ /* Explicitly call the deconstructor to ensure proper lifecycle for non-trivial members */ \
reinterpret_cast<m_class *>(p_binding)->~m_class(); \ reinterpret_cast<m_class *>(p_binding)->~m_class(); \
Memory::free_static(reinterpret_cast<m_class *>(p_binding)); \ Memory::free_static(reinterpret_cast<m_class *>(p_binding)); \
} \ } \
static GDExtensionBool _gde_binding_reference_callback(void *p_token, void *p_instance, GDExtensionBool p_reference) { \ static GDExtensionBool _gde_binding_reference_callback(void *p_token, void *p_instance, GDExtensionBool p_reference) { \
return true; \ return true; \
} \ } \
static constexpr GDExtensionInstanceBindingCallbacks _gde_binding_callbacks = { \ static constexpr GDExtensionInstanceBindingCallbacks _gde_binding_callbacks = { \
_gde_binding_create_callback, \ _gde_binding_create_callback, \
_gde_binding_free_callback, \ _gde_binding_free_callback, \
_gde_binding_reference_callback, \ _gde_binding_reference_callback, \
}; \ }; \
m_class() : m_class(#m_alias_for) {} m_class() : m_class(#m_alias_for) {} \
\
private:
// Don't use this for your classes, use GDCLASS() instead. // Don't use this for your classes, use GDCLASS() instead.
#define GDEXTENSION_CLASS(m_class, m_inherits) GDEXTENSION_CLASS_ALIAS(m_class, m_class, m_inherits) #define GDEXTENSION_CLASS(m_class, m_inherits) GDEXTENSION_CLASS_ALIAS(m_class, m_class, m_inherits)