Bladeren bron

DocData: Fix enums for proxy classes

Ignacio Etcheverry 8 jaren geleden
bovenliggende
commit
7e2c337162
1 gewijzigde bestanden met toevoegingen van 4 en 0 verwijderingen
  1. 4 0
      editor/doc/doc_data.cpp

+ 4 - 0
editor/doc/doc_data.cpp

@@ -170,6 +170,8 @@ static void return_doc_from_retinfo(DocData::MethodDoc &p_method, const Property
 
 	if (p_retinfo.type == Variant::INT && p_retinfo.usage & PROPERTY_USAGE_CLASS_IS_ENUM) {
 		p_method.return_enum = p_retinfo.class_name;
+		if (p_method.return_enum.begins_with("_")) //proxy class
+			p_method.return_enum = p_method.return_enum.substr(1, p_method.return_enum.length());
 		p_method.return_type = "int";
 	} else if (p_retinfo.class_name != StringName()) {
 		p_method.return_type = p_retinfo.class_name;
@@ -190,6 +192,8 @@ static void argument_doc_from_arginfo(DocData::ArgumentDoc &p_argument, const Pr
 
 	if (p_arginfo.type == Variant::INT && p_arginfo.usage & PROPERTY_USAGE_CLASS_IS_ENUM) {
 		p_argument.enumeration = p_arginfo.class_name;
+		if (p_argument.enumeration.begins_with("_")) //proxy class
+			p_argument.enumeration = p_argument.enumeration.substr(1, p_argument.enumeration.length());
 		p_argument.type = "int";
 	} else if (p_arginfo.class_name != StringName()) {
 		p_argument.type = p_arginfo.class_name;