Merge pull request #6055 from eska014/native-bind-rettype
Allow documenting unexposed return types in bind_native_method
This commit is contained in:
commit
5d9967ef00
3 changed files with 12 additions and 3 deletions
|
@ -1651,7 +1651,7 @@ void Object::_bind_methods() {
|
|||
}
|
||||
|
||||
|
||||
ObjectTypeDB::bind_native_method(METHOD_FLAGS_DEFAULT,"call",&Object::_call_bind,mi,defargs);
|
||||
ObjectTypeDB::bind_native_method(METHOD_FLAGS_DEFAULT,"call:Variant",&Object::_call_bind,mi,defargs);
|
||||
}
|
||||
|
||||
{
|
||||
|
|
|
@ -415,7 +415,7 @@ public:
|
|||
|
||||
#endif
|
||||
template<class M>
|
||||
static MethodBind* bind_native_method(uint32_t p_flags, const StringName& p_name, M p_method,const MethodInfo& p_info=MethodInfo(),const Vector<Variant>& p_default_args=Vector<Variant>()) {
|
||||
static MethodBind* bind_native_method(uint32_t p_flags, StringName p_name, M p_method,const MethodInfo& p_info=MethodInfo(),const Vector<Variant>& p_default_args=Vector<Variant>()) {
|
||||
|
||||
GLOBAL_LOCK_FUNCTION;
|
||||
|
||||
|
@ -423,6 +423,13 @@ public:
|
|||
|
||||
MethodBind *bind = create_native_method_bind(p_method,p_info);
|
||||
ERR_FAIL_COND_V(!bind,NULL);
|
||||
|
||||
String rettype;
|
||||
if (p_name.operator String().find(":")!=-1) {
|
||||
rettype = p_name.operator String().get_slice(":",1);
|
||||
p_name = p_name.operator String().get_slice(":",0);
|
||||
}
|
||||
|
||||
bind->set_name(p_name);
|
||||
bind->set_default_arguments(p_default_args);
|
||||
|
||||
|
@ -442,6 +449,8 @@ public:
|
|||
}
|
||||
type->method_map[p_name]=bind;
|
||||
#ifdef DEBUG_METHODS_ENABLED
|
||||
if (!rettype.empty())
|
||||
bind->set_return_type(rettype);
|
||||
type->method_order.push_back(p_name);
|
||||
#endif
|
||||
|
||||
|
|
|
@ -707,7 +707,7 @@ void GDScript::_get_property_list(List<PropertyInfo> *p_properties) const {
|
|||
|
||||
void GDScript::_bind_methods() {
|
||||
|
||||
ObjectTypeDB::bind_native_method(METHOD_FLAGS_DEFAULT,"new",&GDScript::_new,MethodInfo("new"));
|
||||
ObjectTypeDB::bind_native_method(METHOD_FLAGS_DEFAULT,"new",&GDScript::_new,MethodInfo(Variant::OBJECT,"new"));
|
||||
|
||||
ObjectTypeDB::bind_method(_MD("get_as_byte_code"),&GDScript::get_as_byte_code);
|
||||
|
||||
|
|
Loading…
Reference in a new issue