1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-04 12:00:25 +00:00

GDScript: Change parser representation of class extends

This commit is contained in:
Dmitrii Maganov
2023-03-08 22:06:29 +02:00
parent 550a779851
commit 4e34cf238a
10 changed files with 43 additions and 26 deletions

View File

@@ -2483,7 +2483,7 @@ String GDScriptLanguage::get_global_class_name(const String &p_path, String *r_b
subclass = nullptr;
break;
} else {
Vector<StringName> extend_classes = subclass->extends;
Vector<GDScriptParser::IdentifierNode *> extend_classes = subclass->extends;
Ref<FileAccess> subfile = FileAccess::open(subclass->extends_path, FileAccess::READ);
if (subfile.is_null()) {
@@ -2513,7 +2513,7 @@ String GDScriptLanguage::get_global_class_name(const String &p_path, String *r_b
}
const GDScriptParser::ClassNode *inner_class = subclass->members[i].m_class;
if (inner_class->identifier->name == extend_classes[0]) {
if (inner_class->identifier->name == extend_classes[0]->name) {
extend_classes.remove_at(0);
found = true;
subclass = inner_class;
@@ -2527,7 +2527,7 @@ String GDScriptLanguage::get_global_class_name(const String &p_path, String *r_b
}
}
} else if (subclass->extends.size() == 1) {
*r_base_type = subclass->extends[0];
*r_base_type = subclass->extends[0]->name;
subclass = nullptr;
} else {
break;