Add UID support to GDScript files

This commit is contained in:
kobewi 2022-10-09 15:12:52 +02:00
parent 107f2961cc
commit c7f68a27ec
15 changed files with 307 additions and 15 deletions

View file

@ -736,6 +736,8 @@ public:
IdentifierNode *identifier = nullptr;
String icon_path;
String simplified_icon_path;
String uid_string;
Vector2i uid_lines = Vector2i(-1, -1);
Vector<Member> members;
HashMap<StringName, int> members_indices;
ClassNode *outer = nullptr;
@ -1318,6 +1320,7 @@ private:
friend class GDScriptAnalyzer;
bool _is_tool = false;
bool _has_uid = false;
String script_path;
bool for_completion = false;
bool panic_mode = false;
@ -1473,6 +1476,7 @@ private:
static bool register_annotation(const MethodInfo &p_info, uint32_t p_target_kinds, AnnotationAction p_apply, const Vector<Variant> &p_default_arguments = Vector<Variant>(), bool p_is_vararg = false);
bool validate_annotation_arguments(AnnotationNode *p_annotation);
void clear_unused_annotations();
bool uid_annotation(const AnnotationNode *p_annotation, Node *p_target, ClassNode *p_class);
bool tool_annotation(const AnnotationNode *p_annotation, Node *p_target, ClassNode *p_class);
bool icon_annotation(const AnnotationNode *p_annotation, Node *p_target, ClassNode *p_class);
bool onready_annotation(const AnnotationNode *p_annotation, Node *p_target, ClassNode *p_class);