Core: Fix built-in enum constant bindings

This commit is contained in:
Danil Alexeev
2024-11-22 14:03:21 +03:00
parent f952bfe998
commit 03b05cf9ac
24 changed files with 279 additions and 109 deletions

View File

@ -908,6 +908,23 @@ void DocTools::generate(BitField<GenerateFlags> p_flags) {
c.properties.sort();
List<StringName> enums;
Variant::get_enums_for_type(Variant::Type(i), &enums);
for (const StringName &E : enums) {
List<StringName> enumerations;
Variant::get_enumerations_for_enum(Variant::Type(i), E, &enumerations);
for (const StringName &F : enumerations) {
DocData::ConstantDoc constant;
constant.name = F;
constant.value = itos(Variant::get_enum_value(Variant::Type(i), E, F));
constant.is_value_valid = true;
constant.enumeration = E;
c.constants.push_back(constant);
}
}
List<StringName> constants;
Variant::get_constants_for_type(Variant::Type(i), &constants);