Make overridden properties link to parent definition

Co-authored-by: Josh DeGraw <joshmdegraw@gmail.com>
This commit is contained in:
Yuri Sizov
2021-12-02 23:15:17 +03:00
parent 144e3cd31f
commit 1cf6d21f69
63 changed files with 137 additions and 111 deletions

View File

@@ -282,11 +282,17 @@ void DocData::generate(bool p_basic_types) {
}
PropertyDoc prop;
prop.name = E->get().name;
prop.overridden = inherited;
if (inherited) {
String parent = ClassDB::get_parent_class(c.name);
while (!ClassDB::has_property(parent, prop.name, true)) {
parent = ClassDB::get_parent_class(parent);
}
prop.overrides = parent;
}
bool default_value_valid = false;
Variant default_value;
@@ -1127,7 +1133,7 @@ Error DocData::save_classes(const String &p_default_path, const Map<String, Stri
const PropertyDoc &p = c.properties[i];
if (c.properties[i].overridden) {
_write_string(f, 2, "<member name=\"" + p.name + "\" type=\"" + p.type + "\" setter=\"" + p.setter + "\" getter=\"" + p.getter + "\" override=\"true\"" + additional_attributes + " />");
_write_string(f, 2, "<member name=\"" + p.name + "\" type=\"" + p.type + "\" setter=\"" + p.setter + "\" getter=\"" + p.getter + "\" overrides=\"" + p.overrides + "\"" + additional_attributes + " />");
} else {
_write_string(f, 2, "<member name=\"" + p.name + "\" type=\"" + p.type + "\" setter=\"" + p.setter + "\" getter=\"" + p.getter + "\"" + additional_attributes + ">");
_write_string(f, 3, p.description.strip_edges().xml_escape());

View File

@@ -72,6 +72,7 @@ public:
String setter, getter;
String default_value;
bool overridden;
String overrides;
bool operator<(const PropertyDoc &p_prop) const {
return name < p_prop.name;
}