Fix named enums to use int64 type
This commit is contained in:
parent
2f0d3d5424
commit
f11b66b084
|
@ -2432,9 +2432,8 @@ Error GDScriptCompiler::_parse_class_level(GDScript *p_script, const GDScriptPar
|
|||
// TODO: Make enums not be just a dictionary?
|
||||
Dictionary new_enum;
|
||||
for (int j = 0; j < enum_n->values.size(); j++) {
|
||||
int value = enum_n->values[j].value;
|
||||
// Needs to be string because Variant::get will convert to String.
|
||||
new_enum[String(enum_n->values[j].identifier->name)] = value;
|
||||
new_enum[String(enum_n->values[j].identifier->name)] = enum_n->values[j].value;
|
||||
}
|
||||
|
||||
p_script->constants.insert(enum_n->identifier->name, new_enum);
|
||||
|
|
|
@ -3802,7 +3802,7 @@ bool GDScriptParser::export_annotations(const AnnotationNode *p_annotation, Node
|
|||
|
||||
String enum_hint_string;
|
||||
bool first = true;
|
||||
for (const KeyValue<StringName, int> &E : export_type.enum_values) {
|
||||
for (const KeyValue<StringName, int64_t> &E : export_type.enum_values) {
|
||||
if (!first) {
|
||||
enum_hint_string += ",";
|
||||
} else {
|
||||
|
|
|
@ -131,7 +131,7 @@ public:
|
|||
ClassNode *class_type = nullptr;
|
||||
|
||||
MethodInfo method_info; // For callable/signals.
|
||||
HashMap<StringName, int> enum_values; // For enums.
|
||||
HashMap<StringName, int64_t> enum_values; // For enums.
|
||||
|
||||
_FORCE_INLINE_ bool is_set() const { return kind != UNRESOLVED; }
|
||||
_FORCE_INLINE_ bool has_no_type() const { return type_source == UNDETECTED; }
|
||||
|
|
Loading…
Reference in New Issue