Improve ScriptLanguage get keyword API.

This commit is contained in:
Yufeng Ying
2025-01-15 21:47:43 +08:00
parent 34f005d810
commit 1384e82c2c
13 changed files with 87 additions and 123 deletions

View File

@@ -255,11 +255,11 @@ public:
};
void get_core_type_words(List<String> *p_core_type_words) const;
virtual void get_reserved_words(List<String> *p_words) const = 0;
virtual Vector<String> get_reserved_words() const = 0;
virtual bool is_control_flow_keyword(const String &p_string) const = 0;
virtual void get_comment_delimiters(List<String> *p_delimiters) const = 0;
virtual void get_doc_comment_delimiters(List<String> *p_delimiters) const = 0;
virtual void get_string_delimiters(List<String> *p_delimiters) const = 0;
virtual Vector<String> get_comment_delimiters() const = 0;
virtual Vector<String> get_doc_comment_delimiters() const = 0;
virtual Vector<String> get_string_delimiters() const = 0;
virtual Ref<Script> make_template(const String &p_template, const String &p_class_name, const String &p_base_class_name) const { return Ref<Script>(); }
virtual Vector<ScriptTemplate> get_built_in_templates(const StringName &p_object) { return Vector<ScriptTemplate>(); }
virtual bool is_using_templates() { return false; }

View File

@@ -239,43 +239,35 @@ public:
GDVIRTUAL0RC_REQUIRED(Vector<String>, _get_reserved_words)
virtual void get_reserved_words(List<String> *p_words) const override {
virtual Vector<String> get_reserved_words() const override {
Vector<String> ret;
GDVIRTUAL_CALL(_get_reserved_words, ret);
for (int i = 0; i < ret.size(); i++) {
p_words->push_back(ret[i]);
}
return ret;
}
EXBIND1RC(bool, is_control_flow_keyword, const String &)
GDVIRTUAL0RC_REQUIRED(Vector<String>, _get_comment_delimiters)
virtual void get_comment_delimiters(List<String> *p_words) const override {
virtual Vector<String> get_comment_delimiters() const override {
Vector<String> ret;
GDVIRTUAL_CALL(_get_comment_delimiters, ret);
for (int i = 0; i < ret.size(); i++) {
p_words->push_back(ret[i]);
}
return ret;
}
GDVIRTUAL0RC(Vector<String>, _get_doc_comment_delimiters)
virtual void get_doc_comment_delimiters(List<String> *p_words) const override {
virtual Vector<String> get_doc_comment_delimiters() const override {
Vector<String> ret;
GDVIRTUAL_CALL(_get_doc_comment_delimiters, ret);
for (int i = 0; i < ret.size(); i++) {
p_words->push_back(ret[i]);
}
return ret;
}
GDVIRTUAL0RC_REQUIRED(Vector<String>, _get_string_delimiters)
virtual void get_string_delimiters(List<String> *p_words) const override {
virtual Vector<String> get_string_delimiters() const override {
Vector<String> ret;
GDVIRTUAL_CALL(_get_string_delimiters, ret);
for (int i = 0; i < ret.size(); i++) {
p_words->push_back(ret[i]);
}
return ret;
}
EXBIND3RC(Ref<Script>, make_template, const String &, const String &, const String &)