mirror of
https://github.com/tiennm99/godot.git
synced 2026-08-08 22:25:15 +00:00
Replace NULL with nullptr
This commit is contained in:
@@ -114,13 +114,13 @@ GDScriptInstance *GDScript::_create_instance(const Variant **p_args, int p_argco
|
||||
|
||||
if (r_error.error != Callable::CallError::CALL_OK) {
|
||||
instance->script = Ref<GDScript>();
|
||||
instance->owner->set_script_instance(NULL);
|
||||
instance->owner->set_script_instance(nullptr);
|
||||
{
|
||||
MutexLock lock(GDScriptLanguage::singleton->lock);
|
||||
instances.erase(p_owner);
|
||||
}
|
||||
|
||||
ERR_FAIL_COND_V(r_error.error != Callable::CallError::CALL_OK, NULL); //error constructing
|
||||
ERR_FAIL_COND_V(r_error.error != Callable::CallError::CALL_OK, nullptr); //error constructing
|
||||
}
|
||||
|
||||
//@TODO make thread safe
|
||||
@@ -138,7 +138,7 @@ Variant GDScript::_new(const Variant **p_args, int p_argcount, Callable::CallErr
|
||||
|
||||
r_error.error = Callable::CallError::CALL_OK;
|
||||
REF ref;
|
||||
Object *owner = NULL;
|
||||
Object *owner = nullptr;
|
||||
|
||||
GDScript *_baseptr = this;
|
||||
while (_baseptr->_base) {
|
||||
@@ -158,7 +158,7 @@ Variant GDScript::_new(const Variant **p_args, int p_argcount, Callable::CallErr
|
||||
ref = REF(r);
|
||||
}
|
||||
|
||||
GDScriptInstance *instance = _create_instance(p_args, p_argcount, owner, r != NULL, r_error);
|
||||
GDScriptInstance *instance = _create_instance(p_args, p_argcount, owner, r != nullptr, r_error);
|
||||
if (!instance) {
|
||||
if (ref.is_null()) {
|
||||
memdelete(owner); //no owner, sorry
|
||||
@@ -318,12 +318,12 @@ ScriptInstance *GDScript::instance_create(Object *p_this) {
|
||||
if (EngineDebugger::is_active()) {
|
||||
GDScriptLanguage::get_singleton()->debug_break_parse(get_path(), 1, "Script inherits from native type '" + String(top->native->get_name()) + "', so it can't be instanced in object of type: '" + p_this->get_class() + "'");
|
||||
}
|
||||
ERR_FAIL_V_MSG(NULL, "Script inherits from native type '" + String(top->native->get_name()) + "', so it can't be instanced in object of type '" + p_this->get_class() + "'" + ".");
|
||||
ERR_FAIL_V_MSG(nullptr, "Script inherits from native type '" + String(top->native->get_name()) + "', so it can't be instanced in object of type '" + p_this->get_class() + "'" + ".");
|
||||
}
|
||||
}
|
||||
|
||||
Callable::CallError unchecked_error;
|
||||
return _create_instance(NULL, 0, p_this, Object::cast_to<Reference>(p_this) != NULL, unchecked_error);
|
||||
return _create_instance(nullptr, 0, p_this, Object::cast_to<Reference>(p_this) != nullptr, unchecked_error);
|
||||
}
|
||||
|
||||
PlaceHolderScriptInstance *GDScript::placeholder_instance_create(Object *p_this) {
|
||||
@@ -333,7 +333,7 @@ PlaceHolderScriptInstance *GDScript::placeholder_instance_create(Object *p_this)
|
||||
_update_exports();
|
||||
return si;
|
||||
#else
|
||||
return NULL;
|
||||
return nullptr;
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -688,7 +688,7 @@ Variant GDScript::call(const StringName &p_method, const Variant **p_args, int p
|
||||
|
||||
ERR_FAIL_COND_V_MSG(!E->get()->is_static(), Variant(), "Can't call non-static function '" + String(p_method) + "' in script.");
|
||||
|
||||
return E->get()->call(NULL, p_args, p_argcount, r_error);
|
||||
return E->get()->call(nullptr, p_args, p_argcount, r_error);
|
||||
}
|
||||
top = top->_base;
|
||||
}
|
||||
@@ -938,9 +938,9 @@ GDScript::GDScript() :
|
||||
|
||||
valid = false;
|
||||
subclass_count = 0;
|
||||
initializer = NULL;
|
||||
_base = NULL;
|
||||
_owner = NULL;
|
||||
initializer = nullptr;
|
||||
_base = nullptr;
|
||||
_owner = nullptr;
|
||||
tool = false;
|
||||
#ifdef TOOLS_ENABLED
|
||||
source_changed_cache = false;
|
||||
@@ -964,7 +964,7 @@ void GDScript::_save_orphaned_subclasses() {
|
||||
Vector<ClassRefWithName> weak_subclasses;
|
||||
// collect subclasses ObjectID and name
|
||||
for (Map<StringName, Ref<GDScript>>::Element *E = subclasses.front(); E; E = E->next()) {
|
||||
E->get()->_owner = NULL; //bye, you are no longer owned cause I died
|
||||
E->get()->_owner = nullptr; //bye, you are no longer owned cause I died
|
||||
ClassRefWithName subclass;
|
||||
subclass.id = E->get()->get_instance_id();
|
||||
subclass.fully_qualified_name = E->get()->fully_qualified_name;
|
||||
@@ -1028,7 +1028,7 @@ void GDScript::_init_rpc_methods_properties() {
|
||||
if (sub_E)
|
||||
cscript = sub_E->get().ptr();
|
||||
else
|
||||
cscript = NULL;
|
||||
cscript = nullptr;
|
||||
}
|
||||
|
||||
// Sort so we are 100% that they are always the same.
|
||||
@@ -1120,7 +1120,7 @@ bool GDScriptInstance::get(const StringName &p_name, Variant &r_ret) const {
|
||||
if (E) {
|
||||
if (E->get().getter) {
|
||||
Callable::CallError err;
|
||||
r_ret = const_cast<GDScriptInstance *>(this)->call(E->get().getter, NULL, 0, err);
|
||||
r_ret = const_cast<GDScriptInstance *>(this)->call(E->get().getter, nullptr, 0, err);
|
||||
if (err.error == Callable::CallError::CALL_OK) {
|
||||
return true;
|
||||
}
|
||||
@@ -1194,7 +1194,7 @@ void GDScriptInstance::get_property_list(List<PropertyInfo> *p_properties) const
|
||||
if (E) {
|
||||
|
||||
Callable::CallError err;
|
||||
Variant ret = const_cast<GDScriptFunction *>(E->get())->call(const_cast<GDScriptInstance *>(this), NULL, 0, err);
|
||||
Variant ret = const_cast<GDScriptFunction *>(E->get())->call(const_cast<GDScriptInstance *>(this), nullptr, 0, err);
|
||||
if (err.error == Callable::CallError::CALL_OK) {
|
||||
|
||||
ERR_FAIL_COND_MSG(ret.get_type() != Variant::ARRAY, "Wrong type for _get_property_list, must be an array of dictionaries.");
|
||||
@@ -1351,7 +1351,7 @@ void GDScriptInstance::notification(int p_notification) {
|
||||
String GDScriptInstance::to_string(bool *r_valid) {
|
||||
if (has_method(CoreStringNames::get_singleton()->_to_string)) {
|
||||
Callable::CallError ce;
|
||||
Variant ret = call(CoreStringNames::get_singleton()->_to_string, NULL, 0, ce);
|
||||
Variant ret = call(CoreStringNames::get_singleton()->_to_string, nullptr, 0, ce);
|
||||
if (ce.error == Callable::CallError::CALL_OK) {
|
||||
if (ret.get_type() != Variant::STRING) {
|
||||
if (r_valid)
|
||||
@@ -1450,7 +1450,7 @@ void GDScriptInstance::reload_members() {
|
||||
}
|
||||
|
||||
GDScriptInstance::GDScriptInstance() {
|
||||
owner = NULL;
|
||||
owner = nullptr;
|
||||
base_ref = false;
|
||||
}
|
||||
|
||||
@@ -1464,7 +1464,7 @@ GDScriptInstance::~GDScriptInstance() {
|
||||
|
||||
/************* SCRIPT LANGUAGE **************/
|
||||
|
||||
GDScriptLanguage *GDScriptLanguage::singleton = NULL;
|
||||
GDScriptLanguage *GDScriptLanguage::singleton = nullptr;
|
||||
|
||||
String GDScriptLanguage::get_name() const {
|
||||
|
||||
@@ -1900,7 +1900,7 @@ void GDScriptLanguage::get_reserved_words(List<String> *p_words) const {
|
||||
"remotesync",
|
||||
"mastersync",
|
||||
"puppetsync",
|
||||
0
|
||||
nullptr
|
||||
};
|
||||
|
||||
const char **w = _reserved_words;
|
||||
@@ -1933,7 +1933,7 @@ String GDScriptLanguage::get_global_class_name(const String &p_path, String *r_b
|
||||
String source = f->get_as_utf8_string();
|
||||
|
||||
GDScriptParser parser;
|
||||
parser.parse(source, p_path.get_base_dir(), true, p_path, false, NULL, true);
|
||||
parser.parse(source, p_path.get_base_dir(), true, p_path, false, nullptr, true);
|
||||
|
||||
if (parser.get_parse_tree() && parser.get_parse_tree()->type == GDScriptParser::Node::TYPE_CLASS) {
|
||||
|
||||
@@ -1954,7 +1954,7 @@ String GDScriptLanguage::get_global_class_name(const String &p_path, String *r_b
|
||||
if (subclass->extends_file) {
|
||||
if (subclass->extends_class.size() == 0) {
|
||||
get_global_class_name(subclass->extends_file, r_base_type);
|
||||
subclass = NULL;
|
||||
subclass = nullptr;
|
||||
break;
|
||||
} else {
|
||||
Vector<StringName> extend_classes = subclass->extends_class;
|
||||
@@ -1973,7 +1973,7 @@ String GDScriptLanguage::get_global_class_name(const String &p_path, String *r_b
|
||||
subpath = path.get_base_dir().plus_file(subpath).simplify_path();
|
||||
}
|
||||
|
||||
if (OK != subparser.parse(subsource, subpath.get_base_dir(), true, subpath, false, NULL, true)) {
|
||||
if (OK != subparser.parse(subsource, subpath.get_base_dir(), true, subpath, false, nullptr, true)) {
|
||||
break;
|
||||
}
|
||||
path = subpath;
|
||||
@@ -1994,20 +1994,20 @@ String GDScriptLanguage::get_global_class_name(const String &p_path, String *r_b
|
||||
}
|
||||
}
|
||||
if (!found) {
|
||||
subclass = NULL;
|
||||
subclass = nullptr;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if (subclass->extends_class.size() == 1) {
|
||||
*r_base_type = subclass->extends_class[0];
|
||||
subclass = NULL;
|
||||
subclass = nullptr;
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
*r_base_type = "Reference";
|
||||
subclass = NULL;
|
||||
subclass = nullptr;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2168,7 +2168,7 @@ String GDScriptWarning::get_name_from_code(Code p_code) {
|
||||
"UNSAFE_CALL_ARGUMENT",
|
||||
"DEPRECATED_KEYWORD",
|
||||
"STANDALONE_TERNARY",
|
||||
NULL
|
||||
nullptr
|
||||
};
|
||||
|
||||
return names[(int)p_code];
|
||||
@@ -2215,7 +2215,7 @@ GDScriptLanguage::GDScriptLanguage() {
|
||||
|
||||
} else {
|
||||
_debug_max_call_stack = 0;
|
||||
_call_stack = NULL;
|
||||
_call_stack = nullptr;
|
||||
}
|
||||
|
||||
#ifdef DEBUG_ENABLED
|
||||
@@ -2236,7 +2236,7 @@ GDScriptLanguage::~GDScriptLanguage() {
|
||||
if (_call_stack) {
|
||||
memdelete_arr(_call_stack);
|
||||
}
|
||||
singleton = NULL;
|
||||
singleton = nullptr;
|
||||
}
|
||||
|
||||
void GDScriptLanguage::add_orphan_subclass(const String &p_qualified_name, const ObjectID &p_subclass) {
|
||||
@@ -2319,7 +2319,7 @@ void ResourceFormatLoaderGDScript::get_dependencies(const String &p_path, List<S
|
||||
}
|
||||
|
||||
GDScriptParser parser;
|
||||
if (OK != parser.parse(source, p_path.get_base_dir(), true, p_path, false, NULL, true)) {
|
||||
if (OK != parser.parse(source, p_path.get_base_dir(), true, p_path, false, nullptr, true)) {
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -2363,5 +2363,5 @@ void ResourceFormatSaverGDScript::get_recognized_extensions(const RES &p_resourc
|
||||
}
|
||||
bool ResourceFormatSaverGDScript::recognize(const RES &p_resource) const {
|
||||
|
||||
return Object::cast_to<GDScript>(*p_resource) != NULL;
|
||||
return Object::cast_to<GDScript>(*p_resource) != nullptr;
|
||||
}
|
||||
|
||||
@@ -260,7 +260,7 @@ public:
|
||||
virtual bool set(const StringName &p_name, const Variant &p_value);
|
||||
virtual bool get(const StringName &p_name, Variant &r_ret) const;
|
||||
virtual void get_property_list(List<PropertyInfo> *p_properties) const;
|
||||
virtual Variant::Type get_property_type(const StringName &p_name, bool *r_is_valid = NULL) const;
|
||||
virtual Variant::Type get_property_type(const StringName &p_name, bool *r_is_valid = nullptr) const;
|
||||
|
||||
virtual void get_method_list(List<MethodInfo> *p_list) const;
|
||||
virtual bool has_method(const StringName &p_method) const;
|
||||
@@ -483,7 +483,7 @@ public:
|
||||
virtual Ref<Script> get_template(const String &p_class_name, const String &p_base_class_name) const;
|
||||
virtual bool is_using_templates();
|
||||
virtual void make_template(const String &p_class_name, const String &p_base_class_name, Ref<Script> &p_script);
|
||||
virtual bool validate(const String &p_script, int &r_line_error, int &r_col_error, String &r_test_error, const String &p_path = "", List<String> *r_functions = NULL, List<ScriptLanguage::Warning> *r_warnings = NULL, Set<int> *r_safe_lines = NULL) const;
|
||||
virtual bool validate(const String &p_script, int &r_line_error, int &r_col_error, String &r_test_error, const String &p_path = "", List<String> *r_functions = nullptr, List<ScriptLanguage::Warning> *r_warnings = nullptr, Set<int> *r_safe_lines = nullptr) const;
|
||||
virtual Script *create_script() const;
|
||||
virtual bool has_named_classes() const;
|
||||
virtual bool supports_builtin_mode() const;
|
||||
@@ -534,7 +534,7 @@ public:
|
||||
/* GLOBAL CLASSES */
|
||||
|
||||
virtual bool handles_global_class_type(const String &p_type) const;
|
||||
virtual String get_global_class_name(const String &p_path, String *r_base_type = NULL, String *r_icon_path = NULL) const;
|
||||
virtual String get_global_class_name(const String &p_path, String *r_base_type = nullptr, String *r_icon_path = nullptr) const;
|
||||
|
||||
void add_orphan_subclass(const String &p_qualified_name, const ObjectID &p_subclass);
|
||||
Ref<GDScript> get_orphan_subclass(const String &p_qualified_name);
|
||||
@@ -545,7 +545,7 @@ public:
|
||||
|
||||
class ResourceFormatLoaderGDScript : public ResourceFormatLoader {
|
||||
public:
|
||||
virtual RES load(const String &p_path, const String &p_original_path = "", Error *r_error = NULL, bool p_use_sub_threads = false, float *r_progress = nullptr);
|
||||
virtual RES load(const String &p_path, const String &p_original_path = "", Error *r_error = nullptr, bool p_use_sub_threads = false, float *r_progress = nullptr);
|
||||
virtual void get_recognized_extensions(List<String> *p_extensions) const;
|
||||
virtual bool handles_type(const String &p_type) const;
|
||||
virtual String get_resource_type(const String &p_path) const;
|
||||
|
||||
@@ -46,7 +46,7 @@ bool GDScriptCompiler::_is_class_member_property(CodeGen &codegen, const StringN
|
||||
bool GDScriptCompiler::_is_class_member_property(GDScript *owner, const StringName &p_name) {
|
||||
|
||||
GDScript *scr = owner;
|
||||
GDScriptNativeClass *nc = NULL;
|
||||
GDScriptNativeClass *nc = nullptr;
|
||||
while (scr) {
|
||||
|
||||
if (scr->native.is_valid())
|
||||
@@ -265,7 +265,7 @@ int GDScriptCompiler::_parse_expression(CodeGen &codegen, const GDScriptParser::
|
||||
while (owner) {
|
||||
|
||||
GDScript *scr = owner;
|
||||
GDScriptNativeClass *nc = NULL;
|
||||
GDScriptNativeClass *nc = nullptr;
|
||||
while (scr) {
|
||||
|
||||
if (scr->constants.has(identifier)) {
|
||||
@@ -1700,14 +1700,14 @@ Error GDScriptCompiler::_parse_function(GDScript *p_script, const GDScriptParser
|
||||
gdfunc->_constant_count = codegen.constant_map.size();
|
||||
gdfunc->constants.resize(codegen.constant_map.size());
|
||||
gdfunc->_constants_ptr = gdfunc->constants.ptrw();
|
||||
const Variant *K = NULL;
|
||||
const Variant *K = nullptr;
|
||||
while ((K = codegen.constant_map.next(K))) {
|
||||
int idx = codegen.constant_map[*K];
|
||||
gdfunc->constants.write[idx] = *K;
|
||||
}
|
||||
} else {
|
||||
|
||||
gdfunc->_constants_ptr = NULL;
|
||||
gdfunc->_constants_ptr = nullptr;
|
||||
gdfunc->_constant_count = 0;
|
||||
}
|
||||
//global names
|
||||
@@ -1722,7 +1722,7 @@ Error GDScriptCompiler::_parse_function(GDScript *p_script, const GDScriptParser
|
||||
gdfunc->_global_names_count = gdfunc->global_names.size();
|
||||
|
||||
} else {
|
||||
gdfunc->_global_names_ptr = NULL;
|
||||
gdfunc->_global_names_ptr = nullptr;
|
||||
gdfunc->_global_names_count = 0;
|
||||
}
|
||||
|
||||
@@ -1746,7 +1746,7 @@ Error GDScriptCompiler::_parse_function(GDScript *p_script, const GDScriptParser
|
||||
|
||||
} else {
|
||||
|
||||
gdfunc->_code_ptr = NULL;
|
||||
gdfunc->_code_ptr = nullptr;
|
||||
gdfunc->_code_size = 0;
|
||||
}
|
||||
|
||||
@@ -1757,7 +1757,7 @@ Error GDScriptCompiler::_parse_function(GDScript *p_script, const GDScriptParser
|
||||
gdfunc->_default_arg_ptr = &gdfunc->default_arguments[0];
|
||||
} else {
|
||||
gdfunc->_default_arg_count = 0;
|
||||
gdfunc->_default_arg_ptr = NULL;
|
||||
gdfunc->_default_arg_ptr = nullptr;
|
||||
}
|
||||
|
||||
gdfunc->_argument_count = p_func ? p_func->arguments.size() : 0;
|
||||
@@ -1838,7 +1838,7 @@ Error GDScriptCompiler::_parse_class_level(GDScript *p_script, const GDScriptPar
|
||||
|
||||
p_script->native = Ref<GDScriptNativeClass>();
|
||||
p_script->base = Ref<GDScript>();
|
||||
p_script->_base = NULL;
|
||||
p_script->_base = nullptr;
|
||||
p_script->members.clear();
|
||||
p_script->constants.clear();
|
||||
for (Map<StringName, GDScriptFunction *>::Element *E = p_script->member_functions.front(); E; E = E->next()) {
|
||||
@@ -1848,7 +1848,7 @@ Error GDScriptCompiler::_parse_class_level(GDScript *p_script, const GDScriptPar
|
||||
p_script->member_indices.clear();
|
||||
p_script->member_info.clear();
|
||||
p_script->_signals.clear();
|
||||
p_script->initializer = NULL;
|
||||
p_script->initializer = nullptr;
|
||||
|
||||
p_script->tool = p_class->tool;
|
||||
p_script->name = p_class->name;
|
||||
@@ -1962,7 +1962,7 @@ Error GDScriptCompiler::_parse_class_level(GDScript *p_script, const GDScriptPar
|
||||
if (c->base.is_valid()) {
|
||||
c = c->base.ptr();
|
||||
} else {
|
||||
c = NULL;
|
||||
c = nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2032,14 +2032,14 @@ Error GDScriptCompiler::_parse_class_blocks(GDScript *p_script, const GDScriptPa
|
||||
|
||||
if (!has_initializer) {
|
||||
//create a constructor
|
||||
Error err = _parse_function(p_script, p_class, NULL);
|
||||
Error err = _parse_function(p_script, p_class, nullptr);
|
||||
if (err)
|
||||
return err;
|
||||
}
|
||||
|
||||
if (!has_ready && p_class->ready->statements.size()) {
|
||||
//create a constructor
|
||||
Error err = _parse_function(p_script, p_class, NULL, true);
|
||||
Error err = _parse_function(p_script, p_class, nullptr, true);
|
||||
if (err)
|
||||
return err;
|
||||
}
|
||||
@@ -2077,7 +2077,7 @@ Error GDScriptCompiler::_parse_class_blocks(GDScript *p_script, const GDScriptPa
|
||||
/* STEP 2, INITIALIZE AND CONSTRUCT */
|
||||
|
||||
Callable::CallError ce;
|
||||
p_script->initializer->call(instance, NULL, 0, ce);
|
||||
p_script->initializer->call(instance, nullptr, 0, ce);
|
||||
|
||||
if (ce.error != Callable::CallError::CALL_OK) {
|
||||
//well, tough luck, not goinna do anything here
|
||||
@@ -2162,7 +2162,7 @@ Error GDScriptCompiler::compile(const GDScriptParser *p_parser, GDScript *p_scri
|
||||
// Create scripts for subclasses beforehand so they can be referenced
|
||||
_make_scripts(p_script, static_cast<const GDScriptParser::ClassNode *>(root), p_keep_state);
|
||||
|
||||
p_script->_owner = NULL;
|
||||
p_script->_owner = nullptr;
|
||||
Error err = _parse_class_level(p_script, static_cast<const GDScriptParser::ClassNode *>(root), p_keep_state);
|
||||
|
||||
if (err)
|
||||
|
||||
@@ -336,9 +336,9 @@ void GDScriptLanguage::debug_get_stack_level_members(int p_level, List<String> *
|
||||
ScriptInstance *GDScriptLanguage::debug_get_stack_level_instance(int p_level) {
|
||||
|
||||
if (_debug_parse_err_line >= 0)
|
||||
return NULL;
|
||||
return nullptr;
|
||||
|
||||
ERR_FAIL_INDEX_V(p_level, _debug_call_stack_pos, NULL);
|
||||
ERR_FAIL_INDEX_V(p_level, _debug_call_stack_pos, nullptr);
|
||||
|
||||
int l = _debug_call_stack_pos - p_level - 1;
|
||||
ScriptInstance *instance = _call_stack[l].instance;
|
||||
@@ -501,10 +501,10 @@ struct GDScriptCompletionContext {
|
||||
uint32_t depth;
|
||||
|
||||
GDScriptCompletionContext() :
|
||||
_class(NULL),
|
||||
function(NULL),
|
||||
block(NULL),
|
||||
base(NULL),
|
||||
_class(nullptr),
|
||||
function(nullptr),
|
||||
block(nullptr),
|
||||
base(nullptr),
|
||||
line(0),
|
||||
depth(0) {}
|
||||
};
|
||||
@@ -516,7 +516,7 @@ struct GDScriptCompletionIdentifier {
|
||||
const GDScriptParser::Node *assigned_expression;
|
||||
|
||||
GDScriptCompletionIdentifier() :
|
||||
assigned_expression(NULL) {}
|
||||
assigned_expression(nullptr) {}
|
||||
};
|
||||
|
||||
static void _get_directory_contents(EditorFileSystemDirectory *p_dir, Map<String, ScriptCodeCompletionOption> &r_list) {
|
||||
@@ -911,7 +911,7 @@ static bool _guess_expression_type(GDScriptCompletionContext &p_context, const G
|
||||
Variant ret = mb->call(baseptr, (const Variant **)argptr.ptr(), argptr.size(), ce);
|
||||
|
||||
if (ce.error == Callable::CallError::CALL_OK && ret.get_type() != Variant::NIL) {
|
||||
if (ret.get_type() != Variant::OBJECT || ret.operator Object *() != NULL) {
|
||||
if (ret.get_type() != Variant::OBJECT || ret.operator Object *() != nullptr) {
|
||||
r_type = _type_from_variant(ret);
|
||||
found = true;
|
||||
}
|
||||
@@ -965,7 +965,7 @@ static bool _guess_expression_type(GDScriptCompletionContext &p_context, const G
|
||||
break;
|
||||
}
|
||||
|
||||
const GDScriptParser::DictionaryNode *dn = NULL;
|
||||
const GDScriptParser::DictionaryNode *dn = nullptr;
|
||||
if (op->arguments[0]->type == GDScriptParser::Node::TYPE_DICTIONARY) {
|
||||
dn = static_cast<const GDScriptParser::DictionaryNode *>(op->arguments[0]);
|
||||
} else if (base.assigned_expression && base.assigned_expression->type == GDScriptParser::Node::TYPE_DICTIONARY) {
|
||||
@@ -1019,7 +1019,7 @@ static bool _guess_expression_type(GDScriptCompletionContext &p_context, const G
|
||||
}
|
||||
|
||||
// Look if it is a dictionary node
|
||||
const GDScriptParser::DictionaryNode *dn = NULL;
|
||||
const GDScriptParser::DictionaryNode *dn = nullptr;
|
||||
if (op->arguments[0]->type == GDScriptParser::Node::TYPE_DICTIONARY) {
|
||||
dn = static_cast<const GDScriptParser::DictionaryNode *>(op->arguments[0]);
|
||||
} else if (base.assigned_expression && base.assigned_expression->type == GDScriptParser::Node::TYPE_DICTIONARY) {
|
||||
@@ -1043,7 +1043,7 @@ static bool _guess_expression_type(GDScriptCompletionContext &p_context, const G
|
||||
// Look if it is an array node
|
||||
if (!found && index.value.is_num()) {
|
||||
int idx = index.value;
|
||||
const GDScriptParser::ArrayNode *an = NULL;
|
||||
const GDScriptParser::ArrayNode *an = nullptr;
|
||||
if (op->arguments[0]->type == GDScriptParser::Node::TYPE_ARRAY) {
|
||||
an = static_cast<const GDScriptParser::ArrayNode *>(op->arguments[0]);
|
||||
} else if (base.assigned_expression && base.assigned_expression->type == GDScriptParser::Node::TYPE_ARRAY) {
|
||||
@@ -1063,7 +1063,7 @@ static bool _guess_expression_type(GDScriptCompletionContext &p_context, const G
|
||||
found = _guess_identifier_type_from_base(c, base, id, r_type);
|
||||
} else if (!found && index.type.kind == GDScriptParser::DataType::BUILTIN) {
|
||||
Callable::CallError err;
|
||||
Variant base_val = Variant::construct(base.type.builtin_type, NULL, 0, err);
|
||||
Variant base_val = Variant::construct(base.type.builtin_type, nullptr, 0, err);
|
||||
bool valid = false;
|
||||
Variant res = base_val.get(index.value, &valid);
|
||||
if (valid) {
|
||||
@@ -1118,9 +1118,9 @@ static bool _guess_expression_type(GDScriptCompletionContext &p_context, const G
|
||||
|
||||
Callable::CallError ce;
|
||||
bool v1_use_value = p1.value.get_type() != Variant::NIL && p1.value.get_type() != Variant::OBJECT;
|
||||
Variant v1 = (v1_use_value) ? p1.value : Variant::construct(p1.type.builtin_type, NULL, 0, ce);
|
||||
Variant v1 = (v1_use_value) ? p1.value : Variant::construct(p1.type.builtin_type, nullptr, 0, ce);
|
||||
bool v2_use_value = p2.value.get_type() != Variant::NIL && p2.value.get_type() != Variant::OBJECT;
|
||||
Variant v2 = (v2_use_value) ? p2.value : Variant::construct(p2.type.builtin_type, NULL, 0, ce);
|
||||
Variant v2 = (v2_use_value) ? p2.value : Variant::construct(p2.type.builtin_type, nullptr, 0, ce);
|
||||
// avoid potential invalid ops
|
||||
if ((vop == Variant::OP_DIVIDE || vop == Variant::OP_MODULE) && v2.get_type() == Variant::INT) {
|
||||
v2 = 1;
|
||||
@@ -1175,7 +1175,7 @@ static bool _guess_identifier_type(GDScriptCompletionContext &p_context, const S
|
||||
// Look in blocks first
|
||||
const GDScriptParser::BlockNode *blk = p_context.block;
|
||||
int last_assign_line = -1;
|
||||
const GDScriptParser::Node *last_assigned_expression = NULL;
|
||||
const GDScriptParser::Node *last_assigned_expression = nullptr;
|
||||
GDScriptParser::DataType var_type;
|
||||
while (blk) {
|
||||
if (blk->variables.has(p_identifier)) {
|
||||
@@ -1229,7 +1229,7 @@ static bool _guess_identifier_type(GDScriptCompletionContext &p_context, const S
|
||||
r_type.type.is_meta_type = false; // Right-hand of `is` will be a meta type, but the left-hand value is not
|
||||
// Not an assignment, it shouldn't carry any value
|
||||
r_type.value = Variant();
|
||||
r_type.assigned_expression = NULL;
|
||||
r_type.assigned_expression = nullptr;
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -1273,8 +1273,8 @@ static bool _guess_identifier_type(GDScriptCompletionContext &p_context, const S
|
||||
return false;
|
||||
}
|
||||
GDScriptCompletionContext c = p_context;
|
||||
c.function = NULL;
|
||||
c.block = NULL;
|
||||
c.function = nullptr;
|
||||
c.block = nullptr;
|
||||
return _guess_expression_type(c, op->arguments[1], r_type);
|
||||
}
|
||||
}
|
||||
@@ -1536,7 +1536,7 @@ static bool _guess_identifier_type_from_base(GDScriptCompletionContext &p_contex
|
||||
} break;
|
||||
case GDScriptParser::DataType::BUILTIN: {
|
||||
Callable::CallError err;
|
||||
Variant tmp = Variant::construct(base_type.builtin_type, NULL, 0, err);
|
||||
Variant tmp = Variant::construct(base_type.builtin_type, nullptr, 0, err);
|
||||
|
||||
if (err.error != Callable::CallError::CALL_OK) {
|
||||
return false;
|
||||
@@ -1614,7 +1614,7 @@ static bool _guess_method_return_type_from_base(GDScriptCompletionContext &p_con
|
||||
for (int i = 0; i < base_type.class_type->static_functions.size(); i++) {
|
||||
if (base_type.class_type->static_functions[i]->name == p_method) {
|
||||
int last_return_line = -1;
|
||||
const GDScriptParser::Node *last_returned_value = NULL;
|
||||
const GDScriptParser::Node *last_returned_value = nullptr;
|
||||
GDScriptCompletionContext c = p_context;
|
||||
c._class = base_type.class_type;
|
||||
c.function = base_type.class_type->static_functions[i];
|
||||
@@ -1631,7 +1631,7 @@ static bool _guess_method_return_type_from_base(GDScriptCompletionContext &p_con
|
||||
for (int i = 0; i < base_type.class_type->functions.size(); i++) {
|
||||
if (base_type.class_type->functions[i]->name == p_method) {
|
||||
int last_return_line = -1;
|
||||
const GDScriptParser::Node *last_returned_value = NULL;
|
||||
const GDScriptParser::Node *last_returned_value = nullptr;
|
||||
GDScriptCompletionContext c = p_context;
|
||||
c._class = base_type.class_type;
|
||||
c.function = base_type.class_type->functions[i];
|
||||
@@ -1706,7 +1706,7 @@ static bool _guess_method_return_type_from_base(GDScriptCompletionContext &p_con
|
||||
} break;
|
||||
case GDScriptParser::DataType::BUILTIN: {
|
||||
Callable::CallError err;
|
||||
Variant tmp = Variant::construct(base_type.builtin_type, NULL, 0, err);
|
||||
Variant tmp = Variant::construct(base_type.builtin_type, nullptr, 0, err);
|
||||
if (err.error != Callable::CallError::CALL_OK) {
|
||||
return false;
|
||||
}
|
||||
@@ -1913,8 +1913,8 @@ static void _find_identifiers_in_class(const GDScriptCompletionContext &p_contex
|
||||
base_type.value = p_context.base;
|
||||
|
||||
GDScriptCompletionContext c = p_context;
|
||||
c.block = NULL;
|
||||
c.function = NULL;
|
||||
c.block = nullptr;
|
||||
c.function = nullptr;
|
||||
|
||||
_find_identifiers_in_base(c, base_type, p_only_functions, r_result);
|
||||
}
|
||||
@@ -1934,8 +1934,8 @@ static void _find_identifiers_in_base(const GDScriptCompletionContext &p_context
|
||||
case GDScriptParser::DataType::CLASS: {
|
||||
GDScriptCompletionContext c = p_context;
|
||||
c._class = base_type.class_type;
|
||||
c.block = NULL;
|
||||
c.function = NULL;
|
||||
c.block = nullptr;
|
||||
c.function = nullptr;
|
||||
_find_identifiers_in_class(c, _static, p_only_functions, false, r_result);
|
||||
base_type = base_type.class_type->base_type;
|
||||
} break;
|
||||
@@ -2091,7 +2091,7 @@ static void _find_identifiers_in_base(const GDScriptCompletionContext &p_context
|
||||
} break;
|
||||
case GDScriptParser::DataType::BUILTIN: {
|
||||
Callable::CallError err;
|
||||
Variant tmp = Variant::construct(base_type.builtin_type, NULL, 0, err);
|
||||
Variant tmp = Variant::construct(base_type.builtin_type, nullptr, 0, err);
|
||||
if (err.error != Callable::CallError::CALL_OK) {
|
||||
return;
|
||||
}
|
||||
@@ -2155,8 +2155,8 @@ static void _find_identifiers(const GDScriptCompletionContext &p_context, bool p
|
||||
while (clss) {
|
||||
GDScriptCompletionContext c = p_context;
|
||||
c._class = clss;
|
||||
c.block = NULL;
|
||||
c.function = NULL;
|
||||
c.block = nullptr;
|
||||
c.function = nullptr;
|
||||
_find_identifiers_in_class(c, _static, p_only_functions, false, r_result);
|
||||
_static = true;
|
||||
clss = clss->owner;
|
||||
@@ -2190,7 +2190,7 @@ static void _find_identifiers(const GDScriptCompletionContext &p_context, bool p
|
||||
"const", "enum", "export", "onready", "static", "var", "break", "continue", "if", "elif",
|
||||
"else", "for", "pass", "return", "match", "while", "remote", "master", "puppet",
|
||||
"remotesync", "mastersync", "puppetsync",
|
||||
0
|
||||
nullptr
|
||||
};
|
||||
|
||||
const char **kw = _keywords;
|
||||
@@ -2375,7 +2375,7 @@ static void _find_call_arguments(const GDScriptCompletionContext &p_context, con
|
||||
case GDScriptParser::DataType::BUILTIN: {
|
||||
if (base.get_type() == Variant::NIL) {
|
||||
Callable::CallError err;
|
||||
base = Variant::construct(base_type.builtin_type, NULL, 0, err);
|
||||
base = Variant::construct(base_type.builtin_type, nullptr, 0, err);
|
||||
if (err.error != Callable::CallError::CALL_OK) {
|
||||
return;
|
||||
}
|
||||
@@ -2544,7 +2544,7 @@ Error GDScriptLanguage::complete_code(const String &p_code, const String &p_path
|
||||
context.function = parser.get_completion_function();
|
||||
context.line = parser.get_completion_line();
|
||||
|
||||
if (!context._class || context._class->owner == NULL) {
|
||||
if (!context._class || context._class->owner == nullptr) {
|
||||
context.base = p_owner;
|
||||
context.base_path = p_path.get_base_dir();
|
||||
}
|
||||
@@ -2628,13 +2628,13 @@ Error GDScriptLanguage::complete_code(const String &p_code, const String &p_path
|
||||
}
|
||||
|
||||
GDScriptCompletionContext c = context;
|
||||
c.function = NULL;
|
||||
c.block = NULL;
|
||||
c.base = base.value.get_type() == Variant::OBJECT ? base.value.operator Object *() : NULL;
|
||||
c.function = nullptr;
|
||||
c.block = nullptr;
|
||||
c.base = base.value.get_type() == Variant::OBJECT ? base.value.operator Object *() : nullptr;
|
||||
if (base.type.kind == GDScriptParser::DataType::CLASS) {
|
||||
c._class = base.type.class_type;
|
||||
} else {
|
||||
c._class = NULL;
|
||||
c._class = nullptr;
|
||||
}
|
||||
|
||||
_find_identifiers_in_base(c, base, is_function, options);
|
||||
@@ -2820,8 +2820,8 @@ Error GDScriptLanguage::complete_code(const String &p_code, const String &p_path
|
||||
for (Map<StringName, GDScriptParser::ClassNode::Constant>::Element *E = clss->constant_expressions.front(); E; E = E->next()) {
|
||||
GDScriptCompletionIdentifier constant;
|
||||
GDScriptCompletionContext c = context;
|
||||
c.function = NULL;
|
||||
c.block = NULL;
|
||||
c.function = nullptr;
|
||||
c.block = nullptr;
|
||||
c.line = E->value().expression->line;
|
||||
if (_guess_expression_type(c, E->value().expression, constant)) {
|
||||
if (constant.type.has_type && constant.type.is_meta_type) {
|
||||
@@ -2889,9 +2889,9 @@ Error GDScriptLanguage::complete_code(const String &p_code, const String &p_path
|
||||
}
|
||||
|
||||
GDScriptCompletionContext c = context;
|
||||
c._class = NULL;
|
||||
c.function = NULL;
|
||||
c.block = NULL;
|
||||
c._class = nullptr;
|
||||
c.function = nullptr;
|
||||
c.block = nullptr;
|
||||
bool finding = true;
|
||||
index = index.right(index.find(".") + 1);
|
||||
while (index.find(".") != -1) {
|
||||
@@ -2919,8 +2919,8 @@ Error GDScriptLanguage::complete_code(const String &p_code, const String &p_path
|
||||
GDScriptCompletionIdentifier constant;
|
||||
GDScriptCompletionContext c2 = context;
|
||||
c2._class = base_type.class_type;
|
||||
c2.function = NULL;
|
||||
c2.block = NULL;
|
||||
c2.function = nullptr;
|
||||
c2.block = nullptr;
|
||||
c2.line = E->value().expression->line;
|
||||
if (_guess_expression_type(c2, E->value().expression, constant)) {
|
||||
if (constant.type.has_type && constant.type.is_meta_type) {
|
||||
@@ -3222,7 +3222,7 @@ static Error _lookup_symbol_from_base(const GDScriptParser::DataType &p_base, co
|
||||
v = v_ref;
|
||||
} else {
|
||||
Callable::CallError err;
|
||||
v = Variant::construct(base_type.builtin_type, NULL, 0, err);
|
||||
v = Variant::construct(base_type.builtin_type, nullptr, 0, err);
|
||||
if (err.error != Callable::CallError::CALL_OK) {
|
||||
break;
|
||||
}
|
||||
@@ -3442,7 +3442,7 @@ Error GDScriptLanguage::lookup_code(const String &p_code, const String &p_symbol
|
||||
// We cannot determine the exact nature of the identifier here
|
||||
// Otherwise these codes would work
|
||||
StringName enumName = ClassDB::get_integer_constant_enum("@GlobalScope", p_symbol, true);
|
||||
if (enumName != NULL) {
|
||||
if (enumName != nullptr) {
|
||||
r_result.type = ScriptLanguage::LookupResult::RESULT_CLASS_ENUM;
|
||||
r_result.class_name = "@GlobalScope";
|
||||
r_result.class_member = enumName;
|
||||
|
||||
@@ -45,7 +45,7 @@ Variant *GDScriptFunction::_get_variant(int p_address, GDScriptInstance *p_insta
|
||||
#ifdef DEBUG_ENABLED
|
||||
if (unlikely(!p_instance)) {
|
||||
r_error = "Cannot access self without instance.";
|
||||
return NULL;
|
||||
return nullptr;
|
||||
}
|
||||
#endif
|
||||
return &self;
|
||||
@@ -58,7 +58,7 @@ Variant *GDScriptFunction::_get_variant(int p_address, GDScriptInstance *p_insta
|
||||
#ifdef DEBUG_ENABLED
|
||||
if (unlikely(!p_instance)) {
|
||||
r_error = "Cannot access member without instance.";
|
||||
return NULL;
|
||||
return nullptr;
|
||||
}
|
||||
#endif
|
||||
//member indexing is O(1)
|
||||
@@ -69,7 +69,7 @@ Variant *GDScriptFunction::_get_variant(int p_address, GDScriptInstance *p_insta
|
||||
//todo change to index!
|
||||
GDScript *s = p_script;
|
||||
#ifdef DEBUG_ENABLED
|
||||
ERR_FAIL_INDEX_V(address, _global_names_count, NULL);
|
||||
ERR_FAIL_INDEX_V(address, _global_names_count, nullptr);
|
||||
#endif
|
||||
const StringName *sn = &_global_names_ptr[address];
|
||||
|
||||
@@ -86,31 +86,31 @@ Variant *GDScriptFunction::_get_variant(int p_address, GDScriptInstance *p_insta
|
||||
s = s->_base;
|
||||
}
|
||||
|
||||
ERR_FAIL_V_MSG(NULL, "GDScriptCompiler bug.");
|
||||
ERR_FAIL_V_MSG(nullptr, "GDScriptCompiler bug.");
|
||||
} break;
|
||||
case ADDR_TYPE_LOCAL_CONSTANT: {
|
||||
#ifdef DEBUG_ENABLED
|
||||
ERR_FAIL_INDEX_V(address, _constant_count, NULL);
|
||||
ERR_FAIL_INDEX_V(address, _constant_count, nullptr);
|
||||
#endif
|
||||
return &_constants_ptr[address];
|
||||
} break;
|
||||
case ADDR_TYPE_STACK:
|
||||
case ADDR_TYPE_STACK_VARIABLE: {
|
||||
#ifdef DEBUG_ENABLED
|
||||
ERR_FAIL_INDEX_V(address, _stack_size, NULL);
|
||||
ERR_FAIL_INDEX_V(address, _stack_size, nullptr);
|
||||
#endif
|
||||
return &p_stack[address];
|
||||
} break;
|
||||
case ADDR_TYPE_GLOBAL: {
|
||||
#ifdef DEBUG_ENABLED
|
||||
ERR_FAIL_INDEX_V(address, GDScriptLanguage::get_singleton()->get_global_array_size(), NULL);
|
||||
ERR_FAIL_INDEX_V(address, GDScriptLanguage::get_singleton()->get_global_array_size(), nullptr);
|
||||
#endif
|
||||
return &GDScriptLanguage::get_singleton()->get_global_array()[address];
|
||||
} break;
|
||||
#ifdef TOOLS_ENABLED
|
||||
case ADDR_TYPE_NAMED_GLOBAL: {
|
||||
#ifdef DEBUG_ENABLED
|
||||
ERR_FAIL_INDEX_V(address, _named_globals_count, NULL);
|
||||
ERR_FAIL_INDEX_V(address, _named_globals_count, nullptr);
|
||||
#endif
|
||||
StringName id = _named_globals_ptr[address];
|
||||
|
||||
@@ -118,7 +118,7 @@ Variant *GDScriptFunction::_get_variant(int p_address, GDScriptInstance *p_insta
|
||||
return (Variant *)&GDScriptLanguage::get_singleton()->get_named_globals_map()[id];
|
||||
} else {
|
||||
r_error = "Autoload singleton '" + String(id) + "' has been removed.";
|
||||
return NULL;
|
||||
return nullptr;
|
||||
}
|
||||
} break;
|
||||
#endif
|
||||
@@ -127,8 +127,8 @@ Variant *GDScriptFunction::_get_variant(int p_address, GDScriptInstance *p_insta
|
||||
} break;
|
||||
}
|
||||
|
||||
ERR_FAIL_V_MSG(NULL, "Bad code! (unknown addressing mode).");
|
||||
return NULL;
|
||||
ERR_FAIL_V_MSG(nullptr, "Bad code! (unknown addressing mode).");
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
#ifdef DEBUG_ENABLED
|
||||
@@ -272,7 +272,7 @@ Variant GDScriptFunction::call(GDScriptInstance *p_instance, const Variant **p_a
|
||||
Variant self;
|
||||
Variant static_ref;
|
||||
Variant retvalue;
|
||||
Variant *stack = NULL;
|
||||
Variant *stack = nullptr;
|
||||
Variant **call_args;
|
||||
int defarg = 0;
|
||||
|
||||
@@ -358,7 +358,7 @@ Variant GDScriptFunction::call(GDScriptInstance *p_instance, const Variant **p_a
|
||||
memnew_placement(&stack[i], Variant);
|
||||
}
|
||||
} else {
|
||||
stack = NULL;
|
||||
stack = nullptr;
|
||||
}
|
||||
|
||||
if (_call_size) {
|
||||
@@ -366,12 +366,12 @@ Variant GDScriptFunction::call(GDScriptInstance *p_instance, const Variant **p_a
|
||||
call_args = (Variant **)&aptr[sizeof(Variant) * _stack_size];
|
||||
} else {
|
||||
|
||||
call_args = NULL;
|
||||
call_args = nullptr;
|
||||
}
|
||||
|
||||
} else {
|
||||
stack = NULL;
|
||||
call_args = NULL;
|
||||
stack = nullptr;
|
||||
call_args = nullptr;
|
||||
}
|
||||
|
||||
if (p_instance) {
|
||||
@@ -490,7 +490,7 @@ Variant GDScriptFunction::call(GDScriptInstance *p_instance, const Variant **p_a
|
||||
GET_VARIANT_PTR(dst, 3);
|
||||
|
||||
#ifdef DEBUG_ENABLED
|
||||
if (b->get_type() != Variant::OBJECT || b->operator Object *() == NULL) {
|
||||
if (b->get_type() != Variant::OBJECT || b->operator Object *() == nullptr) {
|
||||
|
||||
err_text = "Right operand of 'is' is not a class.";
|
||||
OPCODE_BREAK;
|
||||
@@ -498,7 +498,7 @@ Variant GDScriptFunction::call(GDScriptInstance *p_instance, const Variant **p_a
|
||||
#endif
|
||||
|
||||
bool extends_ok = false;
|
||||
if (a->get_type() == Variant::OBJECT && a->operator Object *() != NULL) {
|
||||
if (a->get_type() == Variant::OBJECT && a->operator Object *() != nullptr) {
|
||||
|
||||
#ifdef DEBUG_ENABLED
|
||||
bool was_freed;
|
||||
@@ -855,7 +855,7 @@ Variant GDScriptFunction::call(GDScriptInstance *p_instance, const Variant **p_a
|
||||
OPCODE_BREAK;
|
||||
}
|
||||
|
||||
if (src->get_type() != Variant::NIL && src->operator Object *() != NULL) {
|
||||
if (src->get_type() != Variant::NIL && src->operator Object *() != nullptr) {
|
||||
|
||||
ScriptInstance *scr_inst = src->operator Object *()->get_script_instance();
|
||||
if (!scr_inst) {
|
||||
@@ -960,7 +960,7 @@ Variant GDScriptFunction::call(GDScriptInstance *p_instance, const Variant **p_a
|
||||
|
||||
bool valid = false;
|
||||
|
||||
if (src->get_type() != Variant::NIL && src->operator Object *() != NULL) {
|
||||
if (src->get_type() != Variant::NIL && src->operator Object *() != nullptr) {
|
||||
|
||||
ScriptInstance *scr_inst = src->operator Object *()->get_script_instance();
|
||||
|
||||
@@ -1099,7 +1099,7 @@ Variant GDScriptFunction::call(GDScriptInstance *p_instance, const Variant **p_a
|
||||
base->call_ptr(*methodname, (const Variant **)argptrs, argc, ret, err);
|
||||
} else {
|
||||
|
||||
base->call_ptr(*methodname, (const Variant **)argptrs, argc, NULL, err);
|
||||
base->call_ptr(*methodname, (const Variant **)argptrs, argc, nullptr, err);
|
||||
}
|
||||
#ifdef DEBUG_ENABLED
|
||||
if (GDScriptLanguage::get_singleton()->profiling) {
|
||||
@@ -1137,7 +1137,7 @@ Variant GDScriptFunction::call(GDScriptInstance *p_instance, const Variant **p_a
|
||||
}
|
||||
#endif
|
||||
|
||||
//_call_func(NULL,base,*methodname,ip,argc,p_instance,stack);
|
||||
//_call_func(nullptr,base,*methodname,ip,argc,p_instance,stack);
|
||||
ip += argc + 1;
|
||||
}
|
||||
DISPATCH_OPCODE;
|
||||
@@ -1216,7 +1216,7 @@ Variant GDScriptFunction::call(GDScriptInstance *p_instance, const Variant **p_a
|
||||
|
||||
const GDScript *gds = _script;
|
||||
|
||||
const Map<StringName, GDScriptFunction *>::Element *E = NULL;
|
||||
const Map<StringName, GDScriptFunction *>::Element *E = nullptr;
|
||||
while (gds->base.ptr()) {
|
||||
gds = gds->base.ptr();
|
||||
E = gds->member_functions.find(*methodname);
|
||||
@@ -1767,7 +1767,7 @@ GDScriptFunction::GDScriptFunction() :
|
||||
rpc_mode = MultiplayerAPI::RPC_MODE_DISABLED;
|
||||
name = "<anonymous>";
|
||||
#ifdef DEBUG_ENABLED
|
||||
_func_cname = NULL;
|
||||
_func_cname = nullptr;
|
||||
|
||||
{
|
||||
MutexLock lock(GDScriptLanguage::get_singleton()->lock);
|
||||
@@ -1834,7 +1834,7 @@ Variant GDScriptFunctionState::_signal_callback(const Variant **p_args, int p_ar
|
||||
|
||||
bool GDScriptFunctionState::is_valid(bool p_extended_check) const {
|
||||
|
||||
if (function == NULL)
|
||||
if (function == nullptr)
|
||||
return false;
|
||||
|
||||
if (p_extended_check) {
|
||||
@@ -1859,7 +1859,7 @@ Variant GDScriptFunctionState::resume(const Variant &p_arg) {
|
||||
|
||||
state.result = p_arg;
|
||||
Callable::CallError err;
|
||||
Variant ret = function->call(NULL, NULL, 0, err, &state);
|
||||
Variant ret = function->call(nullptr, nullptr, 0, err, &state);
|
||||
|
||||
bool completed = true;
|
||||
|
||||
@@ -1873,7 +1873,7 @@ Variant GDScriptFunctionState::resume(const Variant &p_arg) {
|
||||
}
|
||||
}
|
||||
|
||||
function = NULL; //cleaned up;
|
||||
function = nullptr; //cleaned up;
|
||||
state.result = Variant();
|
||||
|
||||
if (completed) {
|
||||
@@ -1909,12 +1909,12 @@ void GDScriptFunctionState::_bind_methods() {
|
||||
|
||||
GDScriptFunctionState::GDScriptFunctionState() {
|
||||
|
||||
function = NULL;
|
||||
function = nullptr;
|
||||
}
|
||||
|
||||
GDScriptFunctionState::~GDScriptFunctionState() {
|
||||
|
||||
if (function != NULL) {
|
||||
if (function != nullptr) {
|
||||
//never called, deinitialize stack
|
||||
for (int i = 0; i < state.stack_size; i++) {
|
||||
Variant *v = (Variant *)&state.stack[sizeof(Variant) * i];
|
||||
|
||||
@@ -105,7 +105,7 @@ struct GDScriptDataType {
|
||||
return false;
|
||||
}
|
||||
|
||||
Ref<Script> base = obj && obj->get_script_instance() ? obj->get_script_instance()->get_script() : NULL;
|
||||
Ref<Script> base = obj && obj->get_script_instance() ? obj->get_script_instance()->get_script() : nullptr;
|
||||
bool valid = false;
|
||||
while (base.is_valid()) {
|
||||
if (base == script_type) {
|
||||
@@ -339,7 +339,7 @@ public:
|
||||
return default_arguments[p_idx];
|
||||
}
|
||||
|
||||
Variant call(GDScriptInstance *p_instance, const Variant **p_args, int p_argcount, Callable::CallError &r_err, CallState *p_state = NULL);
|
||||
Variant call(GDScriptInstance *p_instance, const Variant **p_args, int p_argcount, Callable::CallError &r_err, CallState *p_state = nullptr);
|
||||
|
||||
_FORCE_INLINE_ MultiplayerAPI::RPCMode get_rpc_mode() const { return rpc_mode; }
|
||||
GDScriptFunction();
|
||||
|
||||
@@ -858,7 +858,7 @@ void GDScriptFunctions::call(Function p_func, const Variant **p_args, int p_arg_
|
||||
|
||||
PackedByteArray barr;
|
||||
int len;
|
||||
Error err = encode_variant(*p_args[0], NULL, len, full_objects);
|
||||
Error err = encode_variant(*p_args[0], nullptr, len, full_objects);
|
||||
if (err) {
|
||||
r_error.error = Callable::CallError::CALL_ERROR_INVALID_ARGUMENT;
|
||||
r_error.argument = 0;
|
||||
@@ -908,7 +908,7 @@ void GDScriptFunctions::call(Function p_func, const Variant **p_args, int p_arg_
|
||||
Variant ret;
|
||||
{
|
||||
const uint8_t *r = varr.ptr();
|
||||
Error err = decode_variant(ret, r, varr.size(), NULL, allow_objects);
|
||||
Error err = decode_variant(ret, r, varr.size(), nullptr, allow_objects);
|
||||
if (err != OK) {
|
||||
r_ret = RTR("Not enough bytes for decoding bytes, or invalid format.");
|
||||
r_error.error = Callable::CallError::CALL_ERROR_INVALID_ARGUMENT;
|
||||
@@ -1198,7 +1198,7 @@ void GDScriptFunctions::call(Function p_func, const Variant **p_args, int p_arg_
|
||||
}
|
||||
}
|
||||
|
||||
r_ret = gdscr->_new(NULL, 0, r_error);
|
||||
r_ret = gdscr->_new(nullptr, 0, r_error);
|
||||
|
||||
GDScriptInstance *ins = static_cast<GDScriptInstance *>(static_cast<Object *>(r_ret)->get_script_instance());
|
||||
Ref<GDScript> gd_ref = ins->get_script();
|
||||
|
||||
@@ -242,7 +242,7 @@ GDScriptParser::Node *GDScriptParser::_parse_expression(Node *p_parent, bool p_s
|
||||
|
||||
Vector<Expression> expression;
|
||||
|
||||
Node *expr = NULL;
|
||||
Node *expr = nullptr;
|
||||
|
||||
int op_line = tokenizer->get_token_line(); // when operators are created at the bottom, the line might have been changed (\n found)
|
||||
|
||||
@@ -276,12 +276,12 @@ GDScriptParser::Node *GDScriptParser::_parse_expression(Node *p_parent, bool p_s
|
||||
Node *subexpr = _parse_expression(p_parent, p_static, p_allow_assign, p_parsing_constant);
|
||||
parenthesis--;
|
||||
if (!subexpr)
|
||||
return NULL;
|
||||
return nullptr;
|
||||
|
||||
if (tokenizer->get_token() != GDScriptTokenizer::TK_PARENTHESIS_CLOSE) {
|
||||
|
||||
_set_error("Expected ')' in expression");
|
||||
return NULL;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
tokenizer->advance();
|
||||
@@ -318,7 +318,7 @@ GDScriptParser::Node *GDScriptParser::_parse_expression(Node *p_parent, bool p_s
|
||||
|
||||
if (tokenizer->get_token_constant().get_type() != Variant::STRING) {
|
||||
_set_error("Expected string constant or identifier after '$' or '/'.");
|
||||
return NULL;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
path += String(tokenizer->get_token_constant());
|
||||
@@ -355,7 +355,7 @@ GDScriptParser::Node *GDScriptParser::_parse_expression(Node *p_parent, bool p_s
|
||||
|
||||
if (path == "") {
|
||||
_set_error("Path expected after $.");
|
||||
return NULL;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
OperatorNode *op = alloc_node<OperatorNode>();
|
||||
@@ -427,7 +427,7 @@ GDScriptParser::Node *GDScriptParser::_parse_expression(Node *p_parent, bool p_s
|
||||
tokenizer->advance();
|
||||
if (tokenizer->get_token() != GDScriptTokenizer::TK_PARENTHESIS_OPEN) {
|
||||
_set_error("Expected '(' after 'preload'");
|
||||
return NULL;
|
||||
return nullptr;
|
||||
}
|
||||
tokenizer->advance();
|
||||
|
||||
@@ -476,7 +476,7 @@ GDScriptParser::Node *GDScriptParser::_parse_expression(Node *p_parent, bool p_s
|
||||
|
||||
if (!valid) {
|
||||
_set_error("expected string constant as 'preload' argument.");
|
||||
return NULL;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
if (!path.is_abs_path() && base_path != "")
|
||||
@@ -485,7 +485,7 @@ GDScriptParser::Node *GDScriptParser::_parse_expression(Node *p_parent, bool p_s
|
||||
if (path == self_path) {
|
||||
|
||||
_set_error("Can't preload itself (use 'get_script()').");
|
||||
return NULL;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
Ref<Resource> res;
|
||||
@@ -503,26 +503,26 @@ GDScriptParser::Node *GDScriptParser::_parse_expression(Node *p_parent, bool p_s
|
||||
|
||||
if (!FileAccess::exists(path)) {
|
||||
_set_error("Can't preload resource at path: " + path);
|
||||
return NULL;
|
||||
return nullptr;
|
||||
} else if (ScriptCodeCompletionCache::get_singleton()) {
|
||||
res = ScriptCodeCompletionCache::get_singleton()->get_cached_resource(path);
|
||||
}
|
||||
}
|
||||
if (!res.is_valid()) {
|
||||
_set_error("Can't preload resource at path: " + path);
|
||||
return NULL;
|
||||
return nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
if (tokenizer->get_token() != GDScriptTokenizer::TK_PARENTHESIS_CLOSE) {
|
||||
_set_error("Expected ')' after 'preload' path");
|
||||
return NULL;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
Ref<GDScript> gds = res;
|
||||
if (gds.is_valid() && !gds->is_valid()) {
|
||||
_set_error("Couldn't fully preload the script, possible cyclic reference or compilation error. Use \"load()\" instead if a cyclic reference is intended.");
|
||||
return NULL;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
tokenizer->advance();
|
||||
@@ -536,7 +536,7 @@ GDScriptParser::Node *GDScriptParser::_parse_expression(Node *p_parent, bool p_s
|
||||
|
||||
if (!current_function) {
|
||||
_set_error("\"yield()\" can only be used inside function blocks.");
|
||||
return NULL;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
current_function->has_yield = true;
|
||||
@@ -544,7 +544,7 @@ GDScriptParser::Node *GDScriptParser::_parse_expression(Node *p_parent, bool p_s
|
||||
tokenizer->advance();
|
||||
if (tokenizer->get_token() != GDScriptTokenizer::TK_PARENTHESIS_OPEN) {
|
||||
_set_error("Expected \"(\" after \"yield\".");
|
||||
return NULL;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
tokenizer->advance();
|
||||
@@ -565,12 +565,12 @@ GDScriptParser::Node *GDScriptParser::_parse_expression(Node *p_parent, bool p_s
|
||||
|
||||
Node *object = _parse_and_reduce_expression(p_parent, p_static);
|
||||
if (!object)
|
||||
return NULL;
|
||||
return nullptr;
|
||||
yield->arguments.push_back(object);
|
||||
|
||||
if (tokenizer->get_token() != GDScriptTokenizer::TK_COMMA) {
|
||||
_set_error("Expected \",\" after the first argument of \"yield\".");
|
||||
return NULL;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
tokenizer->advance();
|
||||
@@ -591,12 +591,12 @@ GDScriptParser::Node *GDScriptParser::_parse_expression(Node *p_parent, bool p_s
|
||||
|
||||
Node *signal = _parse_and_reduce_expression(p_parent, p_static);
|
||||
if (!signal)
|
||||
return NULL;
|
||||
return nullptr;
|
||||
yield->arguments.push_back(signal);
|
||||
|
||||
if (tokenizer->get_token() != GDScriptTokenizer::TK_PARENTHESIS_CLOSE) {
|
||||
_set_error("Expected \")\" after the second argument of \"yield\".");
|
||||
return NULL;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
parenthesis--;
|
||||
@@ -610,7 +610,7 @@ GDScriptParser::Node *GDScriptParser::_parse_expression(Node *p_parent, bool p_s
|
||||
|
||||
if (p_static) {
|
||||
_set_error("\"self\" isn't allowed in a static function or constant expression.");
|
||||
return NULL;
|
||||
return nullptr;
|
||||
}
|
||||
//constant defined by tokenizer
|
||||
SelfNode *self = alloc_node<SelfNode>();
|
||||
@@ -631,7 +631,7 @@ GDScriptParser::Node *GDScriptParser::_parse_expression(Node *p_parent, bool p_s
|
||||
if (identifier == StringName()) {
|
||||
|
||||
_set_error("Built-in type constant or static function expected after \".\".");
|
||||
return NULL;
|
||||
return nullptr;
|
||||
}
|
||||
if (!Variant::has_constant(bi_type, identifier)) {
|
||||
|
||||
@@ -657,7 +657,7 @@ GDScriptParser::Node *GDScriptParser::_parse_expression(Node *p_parent, bool p_s
|
||||
op->arguments.push_back(id);
|
||||
|
||||
if (!_parse_arguments(op, op->arguments, p_static, true, p_parsing_constant))
|
||||
return NULL;
|
||||
return nullptr;
|
||||
|
||||
expr = op;
|
||||
} else {
|
||||
@@ -674,7 +674,7 @@ GDScriptParser::Node *GDScriptParser::_parse_expression(Node *p_parent, bool p_s
|
||||
}
|
||||
if (!valid) {
|
||||
_set_error("Static constant '" + identifier.operator String() + "' not present in built-in type " + Variant::get_type_name(bi_type) + ".");
|
||||
return NULL;
|
||||
return nullptr;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
@@ -749,7 +749,7 @@ GDScriptParser::Node *GDScriptParser::_parse_expression(Node *p_parent, bool p_s
|
||||
}
|
||||
if (!replaced) {
|
||||
if (!_parse_arguments(op, op->arguments, p_static, true, p_parsing_constant))
|
||||
return NULL;
|
||||
return nullptr;
|
||||
expr = op;
|
||||
}
|
||||
} else if (tokenizer->is_token_literal(0, true)) {
|
||||
@@ -789,7 +789,7 @@ GDScriptParser::Node *GDScriptParser::_parse_expression(Node *p_parent, bool p_s
|
||||
if (lv->assignments == 0) {
|
||||
if (!lv->datatype.has_type) {
|
||||
_set_error("Using assignment with operation on a variable that was never assigned.");
|
||||
return NULL;
|
||||
return nullptr;
|
||||
}
|
||||
_add_warning(GDScriptWarning::UNASSIGNED_VARIABLE_OP_ASSIGN, -1, identifier.operator String());
|
||||
}
|
||||
@@ -912,7 +912,7 @@ GDScriptParser::Node *GDScriptParser::_parse_expression(Node *p_parent, bool p_s
|
||||
|
||||
if (e.op != OperatorNode::OP_NOT && tokenizer->get_token() == GDScriptTokenizer::TK_OP_NOT) {
|
||||
_set_error("Misplaced 'not'.");
|
||||
return NULL;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
expression.push_back(e);
|
||||
@@ -921,7 +921,7 @@ GDScriptParser::Node *GDScriptParser::_parse_expression(Node *p_parent, bool p_s
|
||||
/*
|
||||
Node *subexpr=_parse_expression(op,p_static);
|
||||
if (!subexpr)
|
||||
return NULL;
|
||||
return nullptr;
|
||||
op->arguments.push_back(subexpr);
|
||||
expr=op;*/
|
||||
|
||||
@@ -929,7 +929,7 @@ GDScriptParser::Node *GDScriptParser::_parse_expression(Node *p_parent, bool p_s
|
||||
// 'is' operator with built-in type
|
||||
if (!expr) {
|
||||
_set_error("Expected identifier before 'is' operator");
|
||||
return NULL;
|
||||
return nullptr;
|
||||
}
|
||||
OperatorNode *op = alloc_node<OperatorNode>();
|
||||
op->op = OperatorNode::OP_IS_BUILTIN;
|
||||
@@ -955,7 +955,7 @@ GDScriptParser::Node *GDScriptParser::_parse_expression(Node *p_parent, bool p_s
|
||||
if (tokenizer->get_token() == GDScriptTokenizer::TK_EOF) {
|
||||
|
||||
_set_error("Unterminated array");
|
||||
return NULL;
|
||||
return nullptr;
|
||||
|
||||
} else if (tokenizer->get_token() == GDScriptTokenizer::TK_BRACKET_CLOSE) {
|
||||
tokenizer->advance();
|
||||
@@ -966,7 +966,7 @@ GDScriptParser::Node *GDScriptParser::_parse_expression(Node *p_parent, bool p_s
|
||||
} else if (tokenizer->get_token() == GDScriptTokenizer::TK_COMMA) {
|
||||
if (!expecting_comma) {
|
||||
_set_error("expression or ']' expected");
|
||||
return NULL;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
expecting_comma = false;
|
||||
@@ -975,11 +975,11 @@ GDScriptParser::Node *GDScriptParser::_parse_expression(Node *p_parent, bool p_s
|
||||
//parse expression
|
||||
if (expecting_comma) {
|
||||
_set_error("',' or ']' expected");
|
||||
return NULL;
|
||||
return nullptr;
|
||||
}
|
||||
Node *n = _parse_expression(arr, p_static, p_allow_assign, p_parsing_constant);
|
||||
if (!n)
|
||||
return NULL;
|
||||
return nullptr;
|
||||
arr->elements.push_back(n);
|
||||
expecting_comma = true;
|
||||
}
|
||||
@@ -1001,7 +1001,7 @@ GDScriptParser::Node *GDScriptParser::_parse_expression(Node *p_parent, bool p_s
|
||||
|
||||
};
|
||||
|
||||
Node *key = NULL;
|
||||
Node *key = nullptr;
|
||||
Set<Variant> keys;
|
||||
|
||||
DictExpect expecting = DICT_EXPECT_KEY;
|
||||
@@ -1011,17 +1011,17 @@ GDScriptParser::Node *GDScriptParser::_parse_expression(Node *p_parent, bool p_s
|
||||
if (tokenizer->get_token() == GDScriptTokenizer::TK_EOF) {
|
||||
|
||||
_set_error("Unterminated dictionary");
|
||||
return NULL;
|
||||
return nullptr;
|
||||
|
||||
} else if (tokenizer->get_token() == GDScriptTokenizer::TK_CURLY_BRACKET_CLOSE) {
|
||||
|
||||
if (expecting == DICT_EXPECT_COLON) {
|
||||
_set_error("':' expected");
|
||||
return NULL;
|
||||
return nullptr;
|
||||
}
|
||||
if (expecting == DICT_EXPECT_VALUE) {
|
||||
_set_error("value expected");
|
||||
return NULL;
|
||||
return nullptr;
|
||||
}
|
||||
tokenizer->advance();
|
||||
break;
|
||||
@@ -1032,15 +1032,15 @@ GDScriptParser::Node *GDScriptParser::_parse_expression(Node *p_parent, bool p_s
|
||||
|
||||
if (expecting == DICT_EXPECT_KEY) {
|
||||
_set_error("key or '}' expected");
|
||||
return NULL;
|
||||
return nullptr;
|
||||
}
|
||||
if (expecting == DICT_EXPECT_VALUE) {
|
||||
_set_error("value expected");
|
||||
return NULL;
|
||||
return nullptr;
|
||||
}
|
||||
if (expecting == DICT_EXPECT_COLON) {
|
||||
_set_error("':' expected");
|
||||
return NULL;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
expecting = DICT_EXPECT_KEY;
|
||||
@@ -1050,15 +1050,15 @@ GDScriptParser::Node *GDScriptParser::_parse_expression(Node *p_parent, bool p_s
|
||||
|
||||
if (expecting == DICT_EXPECT_KEY) {
|
||||
_set_error("key or '}' expected");
|
||||
return NULL;
|
||||
return nullptr;
|
||||
}
|
||||
if (expecting == DICT_EXPECT_VALUE) {
|
||||
_set_error("value expected");
|
||||
return NULL;
|
||||
return nullptr;
|
||||
}
|
||||
if (expecting == DICT_EXPECT_COMMA) {
|
||||
_set_error("',' or '}' expected");
|
||||
return NULL;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
expecting = DICT_EXPECT_VALUE;
|
||||
@@ -1067,11 +1067,11 @@ GDScriptParser::Node *GDScriptParser::_parse_expression(Node *p_parent, bool p_s
|
||||
|
||||
if (expecting == DICT_EXPECT_COMMA) {
|
||||
_set_error("',' or '}' expected");
|
||||
return NULL;
|
||||
return nullptr;
|
||||
}
|
||||
if (expecting == DICT_EXPECT_COLON) {
|
||||
_set_error("':' expected");
|
||||
return NULL;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
if (expecting == DICT_EXPECT_KEY) {
|
||||
@@ -1089,7 +1089,7 @@ GDScriptParser::Node *GDScriptParser::_parse_expression(Node *p_parent, bool p_s
|
||||
//python/js style more flexible
|
||||
key = _parse_expression(dict, p_static, p_allow_assign, p_parsing_constant);
|
||||
if (!key)
|
||||
return NULL;
|
||||
return nullptr;
|
||||
expecting = DICT_EXPECT_COLON;
|
||||
}
|
||||
}
|
||||
@@ -1097,7 +1097,7 @@ GDScriptParser::Node *GDScriptParser::_parse_expression(Node *p_parent, bool p_s
|
||||
if (expecting == DICT_EXPECT_VALUE) {
|
||||
Node *value = _parse_expression(dict, p_static, p_allow_assign, p_parsing_constant);
|
||||
if (!value)
|
||||
return NULL;
|
||||
return nullptr;
|
||||
expecting = DICT_EXPECT_COMMA;
|
||||
|
||||
if (key->type == GDScriptParser::Node::TYPE_CONSTANT) {
|
||||
@@ -1105,7 +1105,7 @@ GDScriptParser::Node *GDScriptParser::_parse_expression(Node *p_parent, bool p_s
|
||||
|
||||
if (keys.has(keyName)) {
|
||||
_set_error("Duplicate key found in Dictionary literal");
|
||||
return NULL;
|
||||
return nullptr;
|
||||
}
|
||||
keys.insert(keyName);
|
||||
}
|
||||
@@ -1114,7 +1114,7 @@ GDScriptParser::Node *GDScriptParser::_parse_expression(Node *p_parent, bool p_s
|
||||
pair.key = key;
|
||||
pair.value = value;
|
||||
dict->elements.push_back(pair);
|
||||
key = NULL;
|
||||
key = nullptr;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1142,12 +1142,12 @@ GDScriptParser::Node *GDScriptParser::_parse_expression(Node *p_parent, bool p_s
|
||||
if (tokenizer->get_token() != GDScriptTokenizer::TK_PARENTHESIS_OPEN) {
|
||||
if (!is_completion) {
|
||||
_set_error("Expected '(' for parent function call.");
|
||||
return NULL;
|
||||
return nullptr;
|
||||
}
|
||||
} else {
|
||||
tokenizer->advance();
|
||||
if (!_parse_arguments(op, op->arguments, p_static, false, p_parsing_constant)) {
|
||||
return NULL;
|
||||
return nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1166,10 +1166,10 @@ GDScriptParser::Node *GDScriptParser::_parse_expression(Node *p_parent, bool p_s
|
||||
|
||||
//find list [ or find dictionary {
|
||||
_set_error("Error parsing expression, misplaced: " + String(tokenizer->get_token_name(tokenizer->get_token())));
|
||||
return NULL; //nothing
|
||||
return nullptr; //nothing
|
||||
}
|
||||
|
||||
ERR_FAIL_COND_V_MSG(!expr, NULL, "GDScriptParser bug, couldn't figure out what expression is.");
|
||||
ERR_FAIL_COND_V_MSG(!expr, nullptr, "GDScriptParser bug, couldn't figure out what expression is.");
|
||||
|
||||
/******************/
|
||||
/* Parse Indexing */
|
||||
@@ -1186,7 +1186,7 @@ GDScriptParser::Node *GDScriptParser::_parse_expression(Node *p_parent, bool p_s
|
||||
if (tokenizer->get_token(1) != GDScriptTokenizer::TK_CURSOR && !tokenizer->is_token_literal(1)) {
|
||||
// We check with is_token_literal, as this allows us to use match/sync/etc. as a name
|
||||
_set_error("Expected identifier as member");
|
||||
return NULL;
|
||||
return nullptr;
|
||||
} else if (tokenizer->get_token(2) == GDScriptTokenizer::TK_PARENTHESIS_OPEN) {
|
||||
//call!!
|
||||
OperatorNode *op = alloc_node<OperatorNode>();
|
||||
@@ -1212,7 +1212,7 @@ GDScriptParser::Node *GDScriptParser::_parse_expression(Node *p_parent, bool p_s
|
||||
completion_node = op;
|
||||
}
|
||||
if (!_parse_arguments(op, op->arguments, p_static, true, p_parsing_constant))
|
||||
return NULL;
|
||||
return nullptr;
|
||||
expr = op;
|
||||
|
||||
} else {
|
||||
@@ -1251,12 +1251,12 @@ GDScriptParser::Node *GDScriptParser::_parse_expression(Node *p_parent, bool p_s
|
||||
|
||||
Node *subexpr = _parse_expression(op, p_static, p_allow_assign, p_parsing_constant);
|
||||
if (!subexpr) {
|
||||
return NULL;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
if (tokenizer->get_token() != GDScriptTokenizer::TK_BRACKET_CLOSE) {
|
||||
_set_error("Expected ']'");
|
||||
return NULL;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
op->arguments.push_back(expr);
|
||||
@@ -1276,12 +1276,12 @@ GDScriptParser::Node *GDScriptParser::_parse_expression(Node *p_parent, bool p_s
|
||||
if (tokenizer->get_token() == GDScriptTokenizer::TK_PR_AS) {
|
||||
if (has_casting) {
|
||||
_set_error("Unexpected 'as'.");
|
||||
return NULL;
|
||||
return nullptr;
|
||||
}
|
||||
CastNode *cn = alloc_node<CastNode>();
|
||||
if (!_parse_type(cn->cast_type)) {
|
||||
_set_error("Expected type after 'as'.");
|
||||
return NULL;
|
||||
return nullptr;
|
||||
}
|
||||
has_casting = true;
|
||||
cn->source_node = expr;
|
||||
@@ -1313,7 +1313,7 @@ GDScriptParser::Node *GDScriptParser::_parse_expression(Node *p_parent, bool p_s
|
||||
#define _VALIDATE_ASSIGN \
|
||||
if (!p_allow_assign || has_casting) { \
|
||||
_set_error("Unexpected assign."); \
|
||||
return NULL; \
|
||||
return nullptr; \
|
||||
} \
|
||||
p_allow_assign = false;
|
||||
|
||||
@@ -1479,7 +1479,7 @@ GDScriptParser::Node *GDScriptParser::_parse_expression(Node *p_parent, bool p_s
|
||||
|
||||
default: {
|
||||
_set_error("GDScriptParser bug, invalid operator in expression: " + itos(expression[i].op));
|
||||
return NULL;
|
||||
return nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1488,7 +1488,7 @@ GDScriptParser::Node *GDScriptParser::_parse_expression(Node *p_parent, bool p_s
|
||||
// <= is used for right to left
|
||||
if (error) {
|
||||
_set_error("Unexpected operator");
|
||||
return NULL;
|
||||
return nullptr;
|
||||
}
|
||||
next_op = i;
|
||||
min_priority = priority;
|
||||
@@ -1500,7 +1500,7 @@ GDScriptParser::Node *GDScriptParser::_parse_expression(Node *p_parent, bool p_s
|
||||
if (next_op == -1) {
|
||||
|
||||
_set_error("Yet another parser bug....");
|
||||
ERR_FAIL_V(NULL);
|
||||
ERR_FAIL_V(nullptr);
|
||||
}
|
||||
|
||||
// OK! create operator..
|
||||
@@ -1513,7 +1513,7 @@ GDScriptParser::Node *GDScriptParser::_parse_expression(Node *p_parent, bool p_s
|
||||
if (expr_pos == expression.size()) {
|
||||
//can happen..
|
||||
_set_error("Unexpected end of expression...");
|
||||
return NULL;
|
||||
return nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1532,16 +1532,16 @@ GDScriptParser::Node *GDScriptParser::_parse_expression(Node *p_parent, bool p_s
|
||||
} else if (is_ternary) {
|
||||
if (next_op < 1 || next_op >= (expression.size() - 1)) {
|
||||
_set_error("Parser bug...");
|
||||
ERR_FAIL_V(NULL);
|
||||
ERR_FAIL_V(nullptr);
|
||||
}
|
||||
|
||||
if (next_op >= (expression.size() - 2) || expression[next_op + 2].op != OperatorNode::OP_TERNARY_ELSE) {
|
||||
_set_error("Expected else after ternary if.");
|
||||
return NULL;
|
||||
return nullptr;
|
||||
}
|
||||
if (next_op >= (expression.size() - 3)) {
|
||||
_set_error("Expected value after ternary else.");
|
||||
return NULL;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
OperatorNode *op = alloc_node<OperatorNode>();
|
||||
@@ -1551,7 +1551,7 @@ GDScriptParser::Node *GDScriptParser::_parse_expression(Node *p_parent, bool p_s
|
||||
if (expression[next_op - 1].is_op) {
|
||||
|
||||
_set_error("Parser bug...");
|
||||
ERR_FAIL_V(NULL);
|
||||
ERR_FAIL_V(nullptr);
|
||||
}
|
||||
|
||||
if (expression[next_op + 1].is_op) {
|
||||
@@ -1561,7 +1561,7 @@ GDScriptParser::Node *GDScriptParser::_parse_expression(Node *p_parent, bool p_s
|
||||
// due to how precedence works, unaries will always disappear first
|
||||
|
||||
_set_error("Unexpected two consecutive operators after ternary if.");
|
||||
return NULL;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
if (expression[next_op + 3].is_op) {
|
||||
@@ -1571,7 +1571,7 @@ GDScriptParser::Node *GDScriptParser::_parse_expression(Node *p_parent, bool p_s
|
||||
// due to how precedence works, unaries will always disappear first
|
||||
|
||||
_set_error("Unexpected two consecutive operators after ternary else.");
|
||||
return NULL;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
op->arguments.push_back(expression[next_op + 1].node); //next expression goes as first
|
||||
@@ -1588,7 +1588,7 @@ GDScriptParser::Node *GDScriptParser::_parse_expression(Node *p_parent, bool p_s
|
||||
|
||||
if (next_op < 1 || next_op >= (expression.size() - 1)) {
|
||||
_set_error("Parser bug...");
|
||||
ERR_FAIL_V(NULL);
|
||||
ERR_FAIL_V(nullptr);
|
||||
}
|
||||
|
||||
OperatorNode *op = alloc_node<OperatorNode>();
|
||||
@@ -1598,7 +1598,7 @@ GDScriptParser::Node *GDScriptParser::_parse_expression(Node *p_parent, bool p_s
|
||||
if (expression[next_op - 1].is_op) {
|
||||
|
||||
_set_error("Parser bug...");
|
||||
ERR_FAIL_V(NULL);
|
||||
ERR_FAIL_V(nullptr);
|
||||
}
|
||||
|
||||
if (expression[next_op + 1].is_op) {
|
||||
@@ -1608,7 +1608,7 @@ GDScriptParser::Node *GDScriptParser::_parse_expression(Node *p_parent, bool p_s
|
||||
// due to how precedence works, unaries will always disappear first
|
||||
|
||||
_set_error("Unexpected two consecutive operators.");
|
||||
return NULL;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
op->arguments.push_back(expression[next_op - 1].node); //expression goes as left
|
||||
@@ -1725,7 +1725,7 @@ GDScriptParser::Node *GDScriptParser::_reduce_expression(Node *p_node, bool p_to
|
||||
if ((op->arguments[0]->type == Node::TYPE_TYPE || (op->arguments[0]->type == Node::TYPE_BUILT_IN_FUNCTION && GDScriptFunctions::is_deterministic(static_cast<BuiltInFunctionNode *>(op->arguments[0])->function))) && last_not_constant == 0) {
|
||||
|
||||
//native type constructor or intrinsic function
|
||||
const Variant **vptr = NULL;
|
||||
const Variant **vptr = nullptr;
|
||||
Vector<Variant *> ptrs;
|
||||
if (op->arguments.size() > 1) {
|
||||
|
||||
@@ -2015,10 +2015,10 @@ GDScriptParser::Node *GDScriptParser::_parse_and_reduce_expression(Node *p_paren
|
||||
|
||||
Node *expr = _parse_expression(p_parent, p_static, p_allow_assign, p_reduce_const);
|
||||
if (!expr || error_set)
|
||||
return NULL;
|
||||
return nullptr;
|
||||
expr = _reduce_expression(expr, p_reduce_const);
|
||||
if (!expr || error_set)
|
||||
return NULL;
|
||||
return nullptr;
|
||||
return expr;
|
||||
}
|
||||
|
||||
@@ -2046,10 +2046,10 @@ GDScriptParser::PatternNode *GDScriptParser::_parse_pattern(bool p_static) {
|
||||
|
||||
GDScriptTokenizer::Token token = tokenizer->get_token();
|
||||
if (error_set)
|
||||
return NULL;
|
||||
return nullptr;
|
||||
|
||||
if (token == GDScriptTokenizer::TK_EOF) {
|
||||
return NULL;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
switch (token) {
|
||||
@@ -2078,13 +2078,13 @@ GDScriptParser::PatternNode *GDScriptParser::_parse_pattern(bool p_static) {
|
||||
break;
|
||||
} else {
|
||||
_set_error("'..' pattern only allowed at the end of an array pattern");
|
||||
return NULL;
|
||||
return nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
PatternNode *sub_pattern = _parse_pattern(p_static);
|
||||
if (!sub_pattern) {
|
||||
return NULL;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
pattern->array.push_back(sub_pattern);
|
||||
@@ -2097,7 +2097,7 @@ GDScriptParser::PatternNode *GDScriptParser::_parse_pattern(bool p_static) {
|
||||
break;
|
||||
} else {
|
||||
_set_error("Not a valid pattern");
|
||||
return NULL;
|
||||
return nullptr;
|
||||
}
|
||||
}
|
||||
} break;
|
||||
@@ -2106,7 +2106,7 @@ GDScriptParser::PatternNode *GDScriptParser::_parse_pattern(bool p_static) {
|
||||
tokenizer->advance();
|
||||
if (!tokenizer->is_token_literal()) {
|
||||
_set_error("Expected identifier for binding variable name.");
|
||||
return NULL;
|
||||
return nullptr;
|
||||
}
|
||||
pattern->pt_type = GDScriptParser::PatternNode::PT_BIND;
|
||||
pattern->bind = tokenizer->get_token_literal();
|
||||
@@ -2115,7 +2115,7 @@ GDScriptParser::PatternNode *GDScriptParser::_parse_pattern(bool p_static) {
|
||||
while (bl) {
|
||||
if (bl->variables.has(pattern->bind)) {
|
||||
_set_error("Binding name of '" + pattern->bind.operator String() + "' is already declared in this scope.");
|
||||
return NULL;
|
||||
return nullptr;
|
||||
}
|
||||
bl = bl->parent_block;
|
||||
}
|
||||
@@ -2150,19 +2150,19 @@ GDScriptParser::PatternNode *GDScriptParser::_parse_pattern(bool p_static) {
|
||||
break;
|
||||
} else {
|
||||
_set_error("'..' pattern only allowed at the end of a dictionary pattern");
|
||||
return NULL;
|
||||
return nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
Node *key = _parse_and_reduce_expression(pattern, p_static);
|
||||
if (!key) {
|
||||
_set_error("Not a valid key in pattern");
|
||||
return NULL;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
if (key->type != GDScriptParser::Node::TYPE_CONSTANT) {
|
||||
_set_error("Not a constant expression as key");
|
||||
return NULL;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
if (tokenizer->get_token() == GDScriptTokenizer::TK_COLON) {
|
||||
@@ -2171,12 +2171,12 @@ GDScriptParser::PatternNode *GDScriptParser::_parse_pattern(bool p_static) {
|
||||
PatternNode *value = _parse_pattern(p_static);
|
||||
if (!value) {
|
||||
_set_error("Expected pattern in dictionary value");
|
||||
return NULL;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
pattern->dictionary.insert(static_cast<ConstantNode *>(key), value);
|
||||
} else {
|
||||
pattern->dictionary.insert(static_cast<ConstantNode *>(key), NULL);
|
||||
pattern->dictionary.insert(static_cast<ConstantNode *>(key), nullptr);
|
||||
}
|
||||
|
||||
if (tokenizer->get_token() == GDScriptTokenizer::TK_COMMA) {
|
||||
@@ -2187,7 +2187,7 @@ GDScriptParser::PatternNode *GDScriptParser::_parse_pattern(bool p_static) {
|
||||
break;
|
||||
} else {
|
||||
_set_error("Not a valid pattern");
|
||||
return NULL;
|
||||
return nullptr;
|
||||
}
|
||||
}
|
||||
} break;
|
||||
@@ -2200,7 +2200,7 @@ GDScriptParser::PatternNode *GDScriptParser::_parse_pattern(bool p_static) {
|
||||
Node *value = _parse_and_reduce_expression(pattern, p_static);
|
||||
if (!value) {
|
||||
_set_error("Expect constant expression or variables in a pattern");
|
||||
return NULL;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
if (value->type == Node::TYPE_OPERATOR) {
|
||||
@@ -2212,19 +2212,19 @@ GDScriptParser::PatternNode *GDScriptParser::_parse_pattern(bool p_static) {
|
||||
|
||||
if (op_node->op != OperatorNode::OP_INDEX_NAMED) {
|
||||
_set_error("Invalid operator in pattern. Only index (`A.B`) is allowed");
|
||||
return NULL;
|
||||
return nullptr;
|
||||
}
|
||||
current_value = op_node->arguments[0];
|
||||
}
|
||||
|
||||
if (current_value->type != Node::TYPE_IDENTIFIER) {
|
||||
_set_error("Only constant expression or variables allowed in a pattern");
|
||||
return NULL;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
} else if (value->type != Node::TYPE_IDENTIFIER && value->type != Node::TYPE_CONSTANT) {
|
||||
_set_error("Only constant expressions or variables allowed in a pattern");
|
||||
return NULL;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
pattern->pt_type = PatternNode::PT_CONSTANT;
|
||||
@@ -2332,7 +2332,7 @@ void GDScriptParser::_generate_pattern(PatternNode *p_pattern, Node *p_node_to_m
|
||||
return;
|
||||
}
|
||||
|
||||
OperatorNode *type_comp = NULL;
|
||||
OperatorNode *type_comp = nullptr;
|
||||
|
||||
// static type check if possible
|
||||
if (pattern_type.has_type && to_match_type.has_type) {
|
||||
@@ -2402,7 +2402,7 @@ void GDScriptParser::_generate_pattern(PatternNode *p_pattern, Node *p_node_to_m
|
||||
// typeof(value_to_match) == TYPE_ARRAY && value_to_match.size() == length
|
||||
|
||||
{
|
||||
OperatorNode *type_comp = NULL;
|
||||
OperatorNode *type_comp = nullptr;
|
||||
// static type check if possible
|
||||
if (to_match_type.has_type) {
|
||||
// must be an array
|
||||
@@ -2461,7 +2461,7 @@ void GDScriptParser::_generate_pattern(PatternNode *p_pattern, Node *p_node_to_m
|
||||
for (int i = 0; i < p_pattern->array.size(); i++) {
|
||||
PatternNode *pattern = p_pattern->array[i];
|
||||
|
||||
Node *condition = NULL;
|
||||
Node *condition = nullptr;
|
||||
|
||||
ConstantNode *index = alloc_node<ConstantNode>();
|
||||
index->value = Variant(i);
|
||||
@@ -2495,7 +2495,7 @@ void GDScriptParser::_generate_pattern(PatternNode *p_pattern, Node *p_node_to_m
|
||||
// typeof(value_to_match) == TYPE_DICTIONARY && value_to_match.size() == length
|
||||
|
||||
{
|
||||
OperatorNode *type_comp = NULL;
|
||||
OperatorNode *type_comp = nullptr;
|
||||
// static type check if possible
|
||||
if (to_match_type.has_type) {
|
||||
// must be an dictionary
|
||||
@@ -2553,7 +2553,7 @@ void GDScriptParser::_generate_pattern(PatternNode *p_pattern, Node *p_node_to_m
|
||||
|
||||
for (Map<ConstantNode *, PatternNode *>::Element *e = p_pattern->dictionary.front(); e; e = e->next()) {
|
||||
|
||||
Node *condition = NULL;
|
||||
Node *condition = nullptr;
|
||||
|
||||
// check for has, then for pattern
|
||||
|
||||
@@ -2629,7 +2629,7 @@ void GDScriptParser::_transform_match_statment(MatchNode *p_match_statement) {
|
||||
PatternBranchNode *branch = p_match_statement->branches[i];
|
||||
|
||||
MatchNode::CompiledPatternBranch compiled_branch;
|
||||
compiled_branch.compiled_pattern = NULL;
|
||||
compiled_branch.compiled_pattern = nullptr;
|
||||
|
||||
Map<StringName, Node *> binding;
|
||||
|
||||
@@ -2638,7 +2638,7 @@ void GDScriptParser::_transform_match_statment(MatchNode *p_match_statement) {
|
||||
_mark_line_as_safe(pattern->line);
|
||||
|
||||
Map<StringName, Node *> bindings;
|
||||
Node *resulting_node = NULL;
|
||||
Node *resulting_node = nullptr;
|
||||
_generate_pattern(pattern, id, resulting_node, bindings);
|
||||
|
||||
if (!resulting_node) {
|
||||
@@ -2838,7 +2838,7 @@ void GDScriptParser::_parse_block(BlockNode *p_block, bool p_static) {
|
||||
lv->line = var_line;
|
||||
p_block->statements.push_back(lv);
|
||||
|
||||
Node *assigned = NULL;
|
||||
Node *assigned = nullptr;
|
||||
|
||||
if (tokenizer->get_token() == GDScriptTokenizer::TK_COLON) {
|
||||
if (tokenizer->get_token(1) == GDScriptTokenizer::TK_OP_ASSIGN) {
|
||||
@@ -3934,7 +3934,7 @@ void GDScriptParser::_parse_class(ClassNode *p_class) {
|
||||
|
||||
current_function = function;
|
||||
Node *arg = _parse_and_reduce_expression(p_class, _static);
|
||||
current_function = NULL;
|
||||
current_function = nullptr;
|
||||
cparent->arguments.push_back(arg);
|
||||
|
||||
if (tokenizer->get_token() == GDScriptTokenizer::TK_COMMA) {
|
||||
@@ -3989,7 +3989,7 @@ void GDScriptParser::_parse_class(ClassNode *p_class) {
|
||||
function->body = block;
|
||||
current_block = block;
|
||||
_parse_block(block, _static);
|
||||
current_block = NULL;
|
||||
current_block = nullptr;
|
||||
|
||||
//arguments
|
||||
} break;
|
||||
@@ -4735,7 +4735,7 @@ void GDScriptParser::_parse_class(ClassNode *p_class) {
|
||||
}
|
||||
|
||||
member.identifier = tokenizer->get_token_literal();
|
||||
member.expression = NULL;
|
||||
member.expression = nullptr;
|
||||
member._export.name = member.identifier;
|
||||
member.line = tokenizer->get_token_line();
|
||||
member.usages = 0;
|
||||
@@ -4815,7 +4815,7 @@ void GDScriptParser::_parse_class(ClassNode *p_class) {
|
||||
|
||||
#ifdef TOOLS_ENABLED
|
||||
Callable::CallError ce;
|
||||
member.default_value = Variant::construct(member._export.type, NULL, 0, ce);
|
||||
member.default_value = Variant::construct(member._export.type, nullptr, 0, ce);
|
||||
#endif
|
||||
|
||||
if (tokenizer->get_token() == GDScriptTokenizer::TK_OP_ASSIGN) {
|
||||
@@ -4868,7 +4868,7 @@ void GDScriptParser::_parse_class(ClassNode *p_class) {
|
||||
if (cn->value.get_type() == Variant::OBJECT) {
|
||||
Object *obj = cn->value;
|
||||
Resource *res = Object::cast_to<Resource>(obj);
|
||||
if (res == NULL) {
|
||||
if (res == nullptr) {
|
||||
_set_error("The exported constant isn't a type or resource.");
|
||||
return;
|
||||
}
|
||||
@@ -5256,7 +5256,7 @@ void GDScriptParser::_determine_inheritance(ClassNode *p_class, bool p_recursive
|
||||
|
||||
Ref<GDScript> script;
|
||||
StringName native;
|
||||
ClassNode *base_class = NULL;
|
||||
ClassNode *base_class = nullptr;
|
||||
|
||||
if (path != "") {
|
||||
//path (and optionally subclasses)
|
||||
@@ -5318,7 +5318,7 @@ void GDScriptParser::_determine_inheritance(ClassNode *p_class, bool p_recursive
|
||||
_set_error("The class \"" + base + "\" couldn't be fully loaded (script error or cyclic dependency).", p_class->line);
|
||||
return;
|
||||
}
|
||||
p = NULL;
|
||||
p = nullptr;
|
||||
} else {
|
||||
List<PropertyInfo> props;
|
||||
ProjectSettings::get_singleton()->get_property_list(&props);
|
||||
@@ -5341,7 +5341,7 @@ void GDScriptParser::_determine_inheritance(ClassNode *p_class, bool p_recursive
|
||||
_set_error("Class '" + base + "' could not be fully loaded (script error or cyclic inheritance).", p_class->line);
|
||||
return;
|
||||
}
|
||||
p = NULL;
|
||||
p = nullptr;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -5661,7 +5661,7 @@ GDScriptParser::DataType GDScriptParser::_resolve_type(const DataType &p_source,
|
||||
StringName id = full_name[name_part];
|
||||
DataType base_type = result;
|
||||
|
||||
ClassNode *p = NULL;
|
||||
ClassNode *p = nullptr;
|
||||
if (name_part == 0) {
|
||||
if (ScriptServer::is_global_class(id)) {
|
||||
String script_path = ScriptServer::get_global_class_path(id);
|
||||
@@ -5943,7 +5943,7 @@ GDScriptParser::DataType GDScriptParser::_get_operation_type(const Variant::Oper
|
||||
a = a_ref;
|
||||
} else {
|
||||
Callable::CallError err;
|
||||
a = Variant::construct(a_type, NULL, 0, err);
|
||||
a = Variant::construct(a_type, nullptr, 0, err);
|
||||
if (err.error != Callable::CallError::CALL_OK) {
|
||||
r_valid = false;
|
||||
return DataType();
|
||||
@@ -5956,7 +5956,7 @@ GDScriptParser::DataType GDScriptParser::_get_operation_type(const Variant::Oper
|
||||
b = b_ref;
|
||||
} else {
|
||||
Callable::CallError err;
|
||||
b = Variant::construct(b_type, NULL, 0, err);
|
||||
b = Variant::construct(b_type, nullptr, 0, err);
|
||||
if (err.error != Callable::CallError::CALL_OK) {
|
||||
r_valid = false;
|
||||
return DataType();
|
||||
@@ -6117,7 +6117,7 @@ bool GDScriptParser::_is_type_compatible(const DataType &p_container, const Data
|
||||
|
||||
StringName expr_native;
|
||||
Ref<Script> expr_script;
|
||||
ClassNode *expr_class = NULL;
|
||||
ClassNode *expr_class = nullptr;
|
||||
|
||||
switch (p_expression.kind) {
|
||||
case DataType::NATIVE: {
|
||||
@@ -6228,7 +6228,7 @@ GDScriptParser::Node *GDScriptParser::_get_default_value_for_type(const DataType
|
||||
} else {
|
||||
ConstantNode *c = alloc_node<ConstantNode>();
|
||||
Callable::CallError err;
|
||||
c->value = Variant::construct(p_type.builtin_type, NULL, 0, err);
|
||||
c->value = Variant::construct(p_type.builtin_type, nullptr, 0, err);
|
||||
result = c;
|
||||
}
|
||||
} else {
|
||||
@@ -6307,7 +6307,7 @@ GDScriptParser::DataType GDScriptParser::_reduce_node_type(Node *p_node) {
|
||||
int idx = current_function->arguments.find(id->name);
|
||||
node_type = current_function->argument_types[idx];
|
||||
} else {
|
||||
node_type = _reduce_identifier_type(NULL, id->name, id->line, false);
|
||||
node_type = _reduce_identifier_type(nullptr, id->name, id->line, false);
|
||||
}
|
||||
} break;
|
||||
case Node::TYPE_CAST: {
|
||||
@@ -6541,7 +6541,7 @@ GDScriptParser::DataType GDScriptParser::_reduce_node_type(Node *p_node) {
|
||||
} break;
|
||||
default: {
|
||||
Callable::CallError err;
|
||||
Variant temp = Variant::construct(base_type.builtin_type, NULL, 0, err);
|
||||
Variant temp = Variant::construct(base_type.builtin_type, nullptr, 0, err);
|
||||
|
||||
bool valid = false;
|
||||
Variant res = temp.get(member_id->name.operator String(), &valid);
|
||||
@@ -6670,7 +6670,7 @@ GDScriptParser::DataType GDScriptParser::_reduce_node_type(Node *p_node) {
|
||||
}
|
||||
default: {
|
||||
Callable::CallError err;
|
||||
Variant temp = Variant::construct(base_type.builtin_type, NULL, 0, err);
|
||||
Variant temp = Variant::construct(base_type.builtin_type, nullptr, 0, err);
|
||||
|
||||
bool valid = false;
|
||||
Variant res = temp.get(cn->value, &valid);
|
||||
@@ -6777,8 +6777,8 @@ bool GDScriptParser::_get_function_signature(DataType &p_base_type, const String
|
||||
r_default_arg_count = 0;
|
||||
|
||||
DataType original_type = p_base_type;
|
||||
ClassNode *base = NULL;
|
||||
FunctionNode *callee = NULL;
|
||||
ClassNode *base = nullptr;
|
||||
FunctionNode *callee = nullptr;
|
||||
|
||||
if (p_base_type.kind == DataType::CLASS) {
|
||||
base = p_base_type.class_type;
|
||||
@@ -7111,7 +7111,7 @@ GDScriptParser::DataType GDScriptParser::_reduce_function_call_type(const Operat
|
||||
|
||||
if (base_type.kind == DataType::BUILTIN) {
|
||||
Callable::CallError err;
|
||||
Variant tmp = Variant::construct(base_type.builtin_type, NULL, 0, err);
|
||||
Variant tmp = Variant::construct(base_type.builtin_type, nullptr, 0, err);
|
||||
|
||||
if (check_types) {
|
||||
if (!tmp.has_method(callee_name)) {
|
||||
@@ -7275,7 +7275,7 @@ bool GDScriptParser::_get_member_type(const DataType &p_base_type, const StringN
|
||||
DataType base_type = p_base_type;
|
||||
|
||||
// Check classes in current file
|
||||
ClassNode *base = NULL;
|
||||
ClassNode *base = nullptr;
|
||||
if (base_type.kind == DataType::CLASS) {
|
||||
base = base_type.class_type;
|
||||
}
|
||||
@@ -7993,8 +7993,8 @@ void GDScriptParser::_check_class_blocks_types(ClassNode *p_class) {
|
||||
current_block = current_function->body;
|
||||
_mark_line_as_safe(current_function->line);
|
||||
_check_block_types(current_block);
|
||||
current_block = NULL;
|
||||
current_function = NULL;
|
||||
current_block = nullptr;
|
||||
current_function = nullptr;
|
||||
if (error_set) return;
|
||||
}
|
||||
|
||||
@@ -8003,8 +8003,8 @@ void GDScriptParser::_check_class_blocks_types(ClassNode *p_class) {
|
||||
current_block = current_function->body;
|
||||
_mark_line_as_safe(current_function->line);
|
||||
_check_block_types(current_block);
|
||||
current_block = NULL;
|
||||
current_function = NULL;
|
||||
current_block = nullptr;
|
||||
current_function = nullptr;
|
||||
if (error_set) return;
|
||||
}
|
||||
|
||||
@@ -8053,7 +8053,7 @@ static String _find_function_name(const GDScriptParser::OperatorNode *p_call) {
|
||||
|
||||
void GDScriptParser::_check_block_types(BlockNode *p_block) {
|
||||
|
||||
Node *last_var_assign = NULL;
|
||||
Node *last_var_assign = nullptr;
|
||||
|
||||
// Check each statement
|
||||
for (List<Node *>::Element *E = p_block->statements.front(); E; E = E->next()) {
|
||||
@@ -8444,7 +8444,7 @@ void GDScriptParser::_add_warning(int p_code, int p_line, const Vector<String> &
|
||||
warn.symbols = p_symbols;
|
||||
warn.line = p_line == -1 ? tokenizer->get_token_line() : p_line;
|
||||
|
||||
List<GDScriptWarning>::Element *before = NULL;
|
||||
List<GDScriptWarning>::Element *before = nullptr;
|
||||
for (List<GDScriptWarning>::Element *E = warnings.front(); E; E = E->next()) {
|
||||
if (E->get().line > warn.line) {
|
||||
break;
|
||||
@@ -8511,8 +8511,8 @@ Error GDScriptParser::_parse(const String &p_base_path) {
|
||||
}
|
||||
|
||||
current_class = main_class;
|
||||
current_function = NULL;
|
||||
current_block = NULL;
|
||||
current_function = nullptr;
|
||||
current_block = nullptr;
|
||||
|
||||
if (for_completion) check_types = false;
|
||||
|
||||
@@ -8575,7 +8575,7 @@ Error GDScriptParser::parse_bytecode(const Vector<uint8_t> &p_bytecode, const St
|
||||
tokenizer = tb;
|
||||
Error ret = _parse(p_base_path);
|
||||
memdelete(tb);
|
||||
tokenizer = NULL;
|
||||
tokenizer = nullptr;
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -8596,7 +8596,7 @@ Error GDScriptParser::parse(const String &p_code, const String &p_base_path, boo
|
||||
tokenizer = tt;
|
||||
Error ret = _parse(p_base_path);
|
||||
memdelete(tt);
|
||||
tokenizer = NULL;
|
||||
tokenizer = nullptr;
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -8619,21 +8619,21 @@ void GDScriptParser::clear() {
|
||||
memdelete(l);
|
||||
}
|
||||
|
||||
head = NULL;
|
||||
list = NULL;
|
||||
head = nullptr;
|
||||
list = nullptr;
|
||||
|
||||
completion_type = COMPLETION_NONE;
|
||||
completion_node = NULL;
|
||||
completion_class = NULL;
|
||||
completion_function = NULL;
|
||||
completion_block = NULL;
|
||||
current_block = NULL;
|
||||
current_class = NULL;
|
||||
completion_node = nullptr;
|
||||
completion_class = nullptr;
|
||||
completion_function = nullptr;
|
||||
completion_block = nullptr;
|
||||
current_block = nullptr;
|
||||
current_class = nullptr;
|
||||
|
||||
completion_found = false;
|
||||
rpc_mode = MultiplayerAPI::RPC_MODE_DISABLED;
|
||||
|
||||
current_function = NULL;
|
||||
current_function = nullptr;
|
||||
|
||||
validating = false;
|
||||
for_completion = false;
|
||||
@@ -8650,7 +8650,7 @@ void GDScriptParser::clear() {
|
||||
dependencies.clear();
|
||||
error = "";
|
||||
#ifdef DEBUG_ENABLED
|
||||
safe_lines = NULL;
|
||||
safe_lines = nullptr;
|
||||
#endif // DEBUG_ENABLED
|
||||
}
|
||||
|
||||
@@ -8706,9 +8706,9 @@ int GDScriptParser::get_completion_identifier_is_function() {
|
||||
|
||||
GDScriptParser::GDScriptParser() {
|
||||
|
||||
head = NULL;
|
||||
list = NULL;
|
||||
tokenizer = NULL;
|
||||
head = nullptr;
|
||||
list = nullptr;
|
||||
tokenizer = nullptr;
|
||||
pending_newline = -1;
|
||||
clear();
|
||||
}
|
||||
|
||||
@@ -102,7 +102,7 @@ public:
|
||||
infer_type(false),
|
||||
may_yield(false),
|
||||
builtin_type(Variant::NIL),
|
||||
class_type(NULL) {}
|
||||
class_type(nullptr) {}
|
||||
};
|
||||
|
||||
struct Node {
|
||||
@@ -201,7 +201,7 @@ public:
|
||||
extends_used = false;
|
||||
classname_used = false;
|
||||
end_line = -1;
|
||||
owner = NULL;
|
||||
owner = nullptr;
|
||||
}
|
||||
};
|
||||
|
||||
@@ -248,11 +248,11 @@ public:
|
||||
List<BlockNode *> sub_blocks;
|
||||
int end_line;
|
||||
BlockNode() {
|
||||
if_condition = NULL;
|
||||
if_condition = nullptr;
|
||||
type = TYPE_BLOCK;
|
||||
end_line = -1;
|
||||
parent_block = NULL;
|
||||
parent_class = NULL;
|
||||
parent_block = nullptr;
|
||||
parent_class = nullptr;
|
||||
has_return = false;
|
||||
}
|
||||
};
|
||||
@@ -276,7 +276,7 @@ public:
|
||||
virtual void set_datatype(const DataType &p_datatype) { datatype = p_datatype; }
|
||||
IdentifierNode() {
|
||||
type = TYPE_IDENTIFIER;
|
||||
declared_block = NULL;
|
||||
declared_block = nullptr;
|
||||
}
|
||||
};
|
||||
|
||||
@@ -292,8 +292,8 @@ public:
|
||||
virtual void set_datatype(const DataType &p_datatype) { datatype = p_datatype; }
|
||||
LocalVarNode() {
|
||||
type = TYPE_LOCAL_VAR;
|
||||
assign = NULL;
|
||||
assign_op = NULL;
|
||||
assign = nullptr;
|
||||
assign_op = nullptr;
|
||||
assignments = 0;
|
||||
usages = 0;
|
||||
}
|
||||
@@ -465,8 +465,8 @@ public:
|
||||
ControlFlowNode() {
|
||||
type = TYPE_CONTROL_FLOW;
|
||||
cf_type = CF_IF;
|
||||
body = NULL;
|
||||
body_else = NULL;
|
||||
body = nullptr;
|
||||
body_else = nullptr;
|
||||
}
|
||||
};
|
||||
|
||||
@@ -608,7 +608,7 @@ private:
|
||||
bool _recover_from_completion();
|
||||
|
||||
bool _parse_arguments(Node *p_parent, Vector<Node *> &p_args, bool p_static, bool p_can_codecomplete = false, bool p_parsing_constant = false);
|
||||
bool _enter_indent_block(BlockNode *p_block = NULL);
|
||||
bool _enter_indent_block(BlockNode *p_block = nullptr);
|
||||
bool _parse_newline();
|
||||
Node *_parse_expression(Node *p_parent, bool p_static, bool p_allow_assign = false, bool p_parsing_constant = false);
|
||||
Node *_reduce_expression(Node *p_node, bool p_to_const = false);
|
||||
@@ -665,7 +665,7 @@ public:
|
||||
#ifdef DEBUG_ENABLED
|
||||
const List<GDScriptWarning> &get_warnings() const { return warnings; }
|
||||
#endif // DEBUG_ENABLED
|
||||
Error parse(const String &p_code, const String &p_base_path = "", bool p_just_validate = false, const String &p_self_path = "", bool p_for_completion = false, Set<int> *r_safe_lines = NULL, bool p_dependencies_only = false);
|
||||
Error parse(const String &p_code, const String &p_base_path = "", bool p_just_validate = false, const String &p_self_path = "", bool p_for_completion = false, Set<int> *r_safe_lines = nullptr, bool p_dependencies_only = false);
|
||||
Error parse_bytecode(const Vector<uint8_t> &p_bytecode, const String &p_base_path = "", const String &p_self_path = "");
|
||||
|
||||
bool is_tool_script() const;
|
||||
|
||||
@@ -178,7 +178,7 @@ static const _bit _type_list[] = {
|
||||
{ Variant::PACKED_VECTOR2_ARRAY, "PackedVector2Array" },
|
||||
{ Variant::PACKED_VECTOR3_ARRAY, "PackedVector3Array" },
|
||||
{ Variant::PACKED_COLOR_ARRAY, "PackedColorArray" },
|
||||
{ Variant::VARIANT_MAX, NULL },
|
||||
{ Variant::VARIANT_MAX, nullptr },
|
||||
};
|
||||
|
||||
struct _kws {
|
||||
@@ -236,7 +236,7 @@ static const _kws _keyword_list[] = {
|
||||
{ GDScriptTokenizer::TK_WILDCARD, "_" },
|
||||
{ GDScriptTokenizer::TK_CONST_INF, "INF" },
|
||||
{ GDScriptTokenizer::TK_CONST_NAN, "NAN" },
|
||||
{ GDScriptTokenizer::TK_ERROR, NULL }
|
||||
{ GDScriptTokenizer::TK_ERROR, nullptr }
|
||||
};
|
||||
|
||||
const char *GDScriptTokenizer::get_token_name(Token p_token) {
|
||||
@@ -1075,7 +1075,7 @@ void GDScriptTokenizerText::set_code(const String &p_code) {
|
||||
if (len) {
|
||||
_code = &code[0];
|
||||
} else {
|
||||
_code = NULL;
|
||||
_code = nullptr;
|
||||
}
|
||||
code_pos = 0;
|
||||
line = 1; //it is stand-ar-ized that lines begin in 1 in code..
|
||||
@@ -1358,7 +1358,7 @@ Vector<uint8_t> GDScriptTokenizerBuffer::parse_code_string(const String &p_code)
|
||||
}
|
||||
|
||||
Map<int, Variant> rev_constant_map;
|
||||
const Variant *K = NULL;
|
||||
const Variant *K = nullptr;
|
||||
while ((K = constant_map.next(K))) {
|
||||
rev_constant_map[constant_map[*K]] = *K;
|
||||
}
|
||||
@@ -1407,7 +1407,7 @@ Vector<uint8_t> GDScriptTokenizerBuffer::parse_code_string(const String &p_code)
|
||||
|
||||
int len;
|
||||
// Objects cannot be constant, never encode objects
|
||||
Error err = encode_variant(E->get(), NULL, len, false);
|
||||
Error err = encode_variant(E->get(), nullptr, len, false);
|
||||
ERR_FAIL_COND_V_MSG(err != OK, Vector<uint8_t>(), "Error when trying to encode Variant.");
|
||||
int pos = buf.size();
|
||||
buf.resize(pos + len);
|
||||
|
||||
@@ -327,7 +327,7 @@ void ExtendGDScriptParser::parse_function_symbol(const GDScriptParser::FunctionN
|
||||
int default_value_idx = i - (p_func->arguments.size() - p_func->default_values.size());
|
||||
if (default_value_idx >= 0) {
|
||||
const GDScriptParser::ConstantNode *const_node = dynamic_cast<const GDScriptParser::ConstantNode *>(p_func->default_values[default_value_idx]);
|
||||
if (const_node == NULL) {
|
||||
if (const_node == nullptr) {
|
||||
const GDScriptParser::OperatorNode *operator_node = dynamic_cast<const GDScriptParser::OperatorNode *>(p_func->default_values[default_value_idx]);
|
||||
if (operator_node) {
|
||||
const_node = dynamic_cast<const GDScriptParser::ConstantNode *>(operator_node->next);
|
||||
@@ -507,7 +507,7 @@ String ExtendGDScriptParser::get_uri() const {
|
||||
}
|
||||
|
||||
const lsp::DocumentSymbol *ExtendGDScriptParser::search_symbol_defined_at_line(int p_line, const lsp::DocumentSymbol &p_parent) const {
|
||||
const lsp::DocumentSymbol *ret = NULL;
|
||||
const lsp::DocumentSymbol *ret = nullptr;
|
||||
if (p_line < p_parent.range.start.line) {
|
||||
return ret;
|
||||
} else if (p_parent.range.start.line == p_line) {
|
||||
@@ -591,7 +591,7 @@ const lsp::DocumentSymbol *ExtendGDScriptParser::get_member_symbol(const String
|
||||
}
|
||||
}
|
||||
|
||||
return NULL;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
const List<lsp::DocumentLink> &ExtendGDScriptParser::get_document_links() const {
|
||||
@@ -602,7 +602,7 @@ const Array &ExtendGDScriptParser::get_member_completions() {
|
||||
|
||||
if (member_completions.empty()) {
|
||||
|
||||
const String *name = members.next(NULL);
|
||||
const String *name = members.next(nullptr);
|
||||
while (name) {
|
||||
|
||||
const lsp::DocumentSymbol *symbol = members.get(*name);
|
||||
@@ -613,11 +613,11 @@ const Array &ExtendGDScriptParser::get_member_completions() {
|
||||
name = members.next(name);
|
||||
}
|
||||
|
||||
const String *_class = inner_classes.next(NULL);
|
||||
const String *_class = inner_classes.next(nullptr);
|
||||
while (_class) {
|
||||
|
||||
const ClassMembers *inner_class = inner_classes.getptr(*_class);
|
||||
const String *member_name = inner_class->next(NULL);
|
||||
const String *member_name = inner_class->next(nullptr);
|
||||
while (member_name) {
|
||||
const lsp::DocumentSymbol *symbol = inner_class->get(*member_name);
|
||||
lsp::CompletionItem item = symbol->make_completion_item();
|
||||
@@ -648,7 +648,7 @@ Dictionary ExtendGDScriptParser::dump_function_api(const GDScriptParser::Functio
|
||||
int default_value_idx = i - (p_func->arguments.size() - p_func->default_values.size());
|
||||
if (default_value_idx >= 0) {
|
||||
const GDScriptParser::ConstantNode *const_node = dynamic_cast<const GDScriptParser::ConstantNode *>(p_func->default_values[default_value_idx]);
|
||||
if (const_node == NULL) {
|
||||
if (const_node == nullptr) {
|
||||
const GDScriptParser::OperatorNode *operator_node = dynamic_cast<const GDScriptParser::OperatorNode *>(p_func->default_values[default_value_idx]);
|
||||
if (operator_node) {
|
||||
const_node = dynamic_cast<const GDScriptParser::ConstantNode *>(operator_node->next);
|
||||
@@ -778,7 +778,7 @@ Error ExtendGDScriptParser::parse(const String &p_code, const String &p_path) {
|
||||
path = p_path;
|
||||
lines = p_code.split("\n");
|
||||
|
||||
Error err = GDScriptParser::parse(p_code, p_path.get_base_dir(), false, p_path, false, NULL, false);
|
||||
Error err = GDScriptParser::parse(p_code, p_path.get_base_dir(), false, p_path, false, nullptr, false);
|
||||
update_diagnostics();
|
||||
update_symbols();
|
||||
update_document_links(p_code);
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
#include "editor/editor_log.h"
|
||||
#include "editor/editor_node.h"
|
||||
|
||||
GDScriptLanguageProtocol *GDScriptLanguageProtocol::singleton = NULL;
|
||||
GDScriptLanguageProtocol *GDScriptLanguageProtocol::singleton = nullptr;
|
||||
|
||||
Error GDScriptLanguageProtocol::LSPeer::handle_data() {
|
||||
int read = 0;
|
||||
@@ -191,7 +191,7 @@ Dictionary GDScriptLanguageProtocol::initialize(const Dictionary &p_params) {
|
||||
Dictionary request = make_notification("gdscrip_client/changeWorkspace", params);
|
||||
|
||||
Ref<LSPeer> peer = clients.get(latest_client_id);
|
||||
if (peer != NULL) {
|
||||
if (peer != nullptr) {
|
||||
String msg = JSON::print(request);
|
||||
msg = format_output(msg);
|
||||
(*peer)->res_queue.push_back(msg.utf8());
|
||||
@@ -230,26 +230,26 @@ void GDScriptLanguageProtocol::poll() {
|
||||
if (server->is_connection_available()) {
|
||||
on_client_connected();
|
||||
}
|
||||
const int *id = NULL;
|
||||
const int *id = nullptr;
|
||||
while ((id = clients.next(id))) {
|
||||
Ref<LSPeer> peer = clients.get(*id);
|
||||
StreamPeerTCP::Status status = peer->connection->get_status();
|
||||
if (status == StreamPeerTCP::STATUS_NONE || status == StreamPeerTCP::STATUS_ERROR) {
|
||||
on_client_disconnected(*id);
|
||||
id = NULL;
|
||||
id = nullptr;
|
||||
} else {
|
||||
if (peer->connection->get_available_bytes() > 0) {
|
||||
latest_client_id = *id;
|
||||
Error err = peer->handle_data();
|
||||
if (err != OK && err != ERR_BUSY) {
|
||||
on_client_disconnected(*id);
|
||||
id = NULL;
|
||||
id = nullptr;
|
||||
}
|
||||
}
|
||||
Error err = peer->send_data();
|
||||
if (err != OK && err != ERR_BUSY) {
|
||||
on_client_disconnected(*id);
|
||||
id = NULL;
|
||||
id = nullptr;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -260,7 +260,7 @@ Error GDScriptLanguageProtocol::start(int p_port, const IP_Address &p_bind_ip) {
|
||||
}
|
||||
|
||||
void GDScriptLanguageProtocol::stop() {
|
||||
const int *id = NULL;
|
||||
const int *id = nullptr;
|
||||
while ((id = clients.next(id))) {
|
||||
Ref<LSPeer> peer = clients.get(*id);
|
||||
peer->connection->disconnect_from_host();
|
||||
@@ -274,7 +274,7 @@ void GDScriptLanguageProtocol::notify_client(const String &p_method, const Varia
|
||||
p_client_id = latest_client_id;
|
||||
}
|
||||
Ref<LSPeer> peer = clients.get(p_client_id);
|
||||
ERR_FAIL_COND(peer == NULL);
|
||||
ERR_FAIL_COND(peer == nullptr);
|
||||
|
||||
Dictionary message = make_notification(p_method, p_params);
|
||||
String msg = JSON::print(message);
|
||||
|
||||
@@ -35,7 +35,7 @@
|
||||
#include "editor/editor_node.h"
|
||||
|
||||
GDScriptLanguageServer::GDScriptLanguageServer() {
|
||||
thread = NULL;
|
||||
thread = nullptr;
|
||||
thread_running = false;
|
||||
started = false;
|
||||
|
||||
@@ -87,7 +87,7 @@ void GDScriptLanguageServer::start() {
|
||||
if (protocol.start(port, IP_Address("127.0.0.1")) == OK) {
|
||||
EditorNode::get_log()->add_message("--- GDScript language server started ---", EditorLog::MSG_TYPE_EDITOR);
|
||||
if (use_thread) {
|
||||
ERR_FAIL_COND(thread != NULL);
|
||||
ERR_FAIL_COND(thread != nullptr);
|
||||
thread_running = true;
|
||||
thread = Thread::create(GDScriptLanguageServer::thread_main, this);
|
||||
}
|
||||
@@ -98,11 +98,11 @@ void GDScriptLanguageServer::start() {
|
||||
|
||||
void GDScriptLanguageServer::stop() {
|
||||
if (use_thread) {
|
||||
ERR_FAIL_COND(NULL == thread);
|
||||
ERR_FAIL_COND(nullptr == thread);
|
||||
thread_running = false;
|
||||
Thread::wait_to_finish(thread);
|
||||
memdelete(thread);
|
||||
thread = NULL;
|
||||
thread = nullptr;
|
||||
}
|
||||
protocol.stop();
|
||||
started = false;
|
||||
|
||||
@@ -90,12 +90,12 @@ void GDScriptTextDocument::initialize() {
|
||||
|
||||
const HashMap<StringName, ClassMembers> &native_members = GDScriptLanguageProtocol::get_singleton()->get_workspace()->native_members;
|
||||
|
||||
const StringName *class_ptr = native_members.next(NULL);
|
||||
const StringName *class_ptr = native_members.next(nullptr);
|
||||
while (class_ptr) {
|
||||
|
||||
const ClassMembers &members = native_members.get(*class_ptr);
|
||||
|
||||
const String *name = members.next(NULL);
|
||||
const String *name = members.next(nullptr);
|
||||
while (name) {
|
||||
|
||||
const lsp::DocumentSymbol *symbol = members.get(*name);
|
||||
@@ -227,7 +227,7 @@ Dictionary GDScriptTextDocument::resolve(const Dictionary &p_params) {
|
||||
lsp::CompletionParams params;
|
||||
Variant data = p_params["data"];
|
||||
|
||||
const lsp::DocumentSymbol *symbol = NULL;
|
||||
const lsp::DocumentSymbol *symbol = nullptr;
|
||||
|
||||
if (data.get_type() == Variant::DICTIONARY) {
|
||||
|
||||
|
||||
@@ -93,7 +93,7 @@ const lsp::DocumentSymbol *GDScriptWorkspace::get_native_symbol(const String &p_
|
||||
class_name = ClassDB::get_parent_class(class_name);
|
||||
}
|
||||
|
||||
return NULL;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
const lsp::DocumentSymbol *GDScriptWorkspace::get_script_symbol(const String &p_path) const {
|
||||
@@ -101,7 +101,7 @@ const lsp::DocumentSymbol *GDScriptWorkspace::get_script_symbol(const String &p_
|
||||
if (S) {
|
||||
return &(S->get()->get_symbols());
|
||||
}
|
||||
return NULL;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
void GDScriptWorkspace::reload_all_workspace_scripts() {
|
||||
@@ -152,7 +152,7 @@ ExtendGDScriptParser *GDScriptWorkspace::get_parse_successed_script(const String
|
||||
if (S) {
|
||||
return S->get();
|
||||
}
|
||||
return NULL;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
ExtendGDScriptParser *GDScriptWorkspace::get_parse_result(const String &p_path) {
|
||||
@@ -164,7 +164,7 @@ ExtendGDScriptParser *GDScriptWorkspace::get_parse_result(const String &p_path)
|
||||
if (S) {
|
||||
return S->get();
|
||||
}
|
||||
return NULL;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
Array GDScriptWorkspace::symbol(const Dictionary &p_params) {
|
||||
@@ -402,7 +402,7 @@ void GDScriptWorkspace::_get_owners(EditorFileSystemDirectory *efsd, String p_pa
|
||||
}
|
||||
|
||||
Node *GDScriptWorkspace::_get_owner_scene_node(String p_path) {
|
||||
Node *owner_scene_node = NULL;
|
||||
Node *owner_scene_node = nullptr;
|
||||
List<String> owners;
|
||||
|
||||
_get_owners(EditorFileSystem::get_singleton()->get_filesystem(), p_path, owners);
|
||||
@@ -438,7 +438,7 @@ void GDScriptWorkspace::completion(const lsp::CompletionParams &p_params, List<S
|
||||
|
||||
const lsp::DocumentSymbol *GDScriptWorkspace::resolve_symbol(const lsp::TextDocumentPositionParams &p_doc_pos, const String &p_symbol_name, bool p_func_requred) {
|
||||
|
||||
const lsp::DocumentSymbol *symbol = NULL;
|
||||
const lsp::DocumentSymbol *symbol = nullptr;
|
||||
|
||||
String path = get_file_path(p_doc_pos.textDocument.uri);
|
||||
if (const ExtendGDScriptParser *parser = get_parse_result(path)) {
|
||||
@@ -466,7 +466,7 @@ const lsp::DocumentSymbol *GDScriptWorkspace::resolve_symbol(const lsp::TextDocu
|
||||
} else {
|
||||
|
||||
ScriptLanguage::LookupResult ret;
|
||||
if (OK == GDScriptLanguage::get_singleton()->lookup_code(parser->get_text_for_lookup_symbol(pos, symbol_identifier, p_func_requred), symbol_identifier, path, NULL, ret)) {
|
||||
if (OK == GDScriptLanguage::get_singleton()->lookup_code(parser->get_text_for_lookup_symbol(pos, symbol_identifier, p_func_requred), symbol_identifier, path, nullptr, ret)) {
|
||||
|
||||
if (ret.type == ScriptLanguage::LookupResult::RESULT_SCRIPT_LOCATION) {
|
||||
|
||||
@@ -506,7 +506,7 @@ void GDScriptWorkspace::resolve_related_symbols(const lsp::TextDocumentPositionP
|
||||
Vector2i offset;
|
||||
symbol_identifier = parser->get_identifier_under_position(p_doc_pos.position, offset);
|
||||
|
||||
const StringName *class_ptr = native_members.next(NULL);
|
||||
const StringName *class_ptr = native_members.next(nullptr);
|
||||
while (class_ptr) {
|
||||
const ClassMembers &members = native_members.get(*class_ptr);
|
||||
if (const lsp::DocumentSymbol *const *symbol = members.getptr(symbol_identifier)) {
|
||||
@@ -523,7 +523,7 @@ void GDScriptWorkspace::resolve_related_symbols(const lsp::TextDocumentPositionP
|
||||
}
|
||||
|
||||
const HashMap<String, ClassMembers> &inner_classes = script->get_inner_classes();
|
||||
const String *_class = inner_classes.next(NULL);
|
||||
const String *_class = inner_classes.next(nullptr);
|
||||
while (_class) {
|
||||
|
||||
const ClassMembers *inner_class = inner_classes.getptr(*_class);
|
||||
@@ -552,7 +552,7 @@ const lsp::DocumentSymbol *GDScriptWorkspace::resolve_native_symbol(const lsp::N
|
||||
}
|
||||
}
|
||||
|
||||
return NULL;
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
void GDScriptWorkspace::resolve_document_links(const String &p_uri, List<lsp::DocumentLink> &r_list) {
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
#include "gdscript.h"
|
||||
#include "gdscript_tokenizer.h"
|
||||
|
||||
GDScriptLanguage *script_language_gd = NULL;
|
||||
GDScriptLanguage *script_language_gd = nullptr;
|
||||
Ref<ResourceFormatLoaderGDScript> resource_loader_gd;
|
||||
Ref<ResourceFormatSaverGDScript> resource_saver_gd;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user