Merge pull request #20945 from neikeq/dict-erase-retbool

Dictionary: remove erase_checked(key), make erase(key) return bool
This commit is contained in:
Rémi Verschelde 2018-08-15 01:08:23 +02:00 committed by GitHub
commit 4548ec4a49
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 5 additions and 11 deletions

View file

@ -135,12 +135,7 @@ bool Dictionary::has_all(const Array &p_keys) const {
return true;
}
void Dictionary::erase(const Variant &p_key) {
_p->variant_map.erase(p_key);
}
bool Dictionary::erase_checked(const Variant &p_key) {
bool Dictionary::erase(const Variant &p_key) {
return _p->variant_map.erase(p_key);
}

View file

@ -65,8 +65,7 @@ public:
bool has(const Variant &p_key) const;
bool has_all(const Array &p_keys) const;
void erase(const Variant &p_key);
bool erase_checked(const Variant &p_key);
bool erase(const Variant &p_key);
bool operator==(const Dictionary &p_dictionary) const;

View file

@ -1668,7 +1668,7 @@ void register_variant_methods() {
ADDFUNC0NC(DICTIONARY, NIL, Dictionary, clear, varray());
ADDFUNC1R(DICTIONARY, BOOL, Dictionary, has, NIL, "key", varray());
ADDFUNC1R(DICTIONARY, BOOL, Dictionary, has_all, ARRAY, "keys", varray());
ADDFUNC1(DICTIONARY, NIL, Dictionary, erase, NIL, "key", varray());
ADDFUNC1R(DICTIONARY, BOOL, Dictionary, erase, NIL, "key", varray());
ADDFUNC0R(DICTIONARY, INT, Dictionary, hash, varray());
ADDFUNC0R(DICTIONARY, ARRAY, Dictionary, keys, varray());
ADDFUNC0R(DICTIONARY, ARRAY, Dictionary, values, varray());

View file

@ -182,7 +182,7 @@ bool godot_icall_Dictionary_ContainsKey(Dictionary *ptr, MonoObject *key) {
}
bool godot_icall_Dictionary_RemoveKey(Dictionary *ptr, MonoObject *key) {
return ptr->erase_checked(GDMonoMarshal::mono_object_to_variant(key));
return ptr->erase(GDMonoMarshal::mono_object_to_variant(key));
}
bool godot_icall_Dictionary_Remove(Dictionary *ptr, MonoObject *key, MonoObject *value) {
@ -191,7 +191,7 @@ bool godot_icall_Dictionary_Remove(Dictionary *ptr, MonoObject *key, MonoObject
// no dupes
Variant *ret = ptr->getptr(varKey);
if (ret != NULL && *ret == GDMonoMarshal::mono_object_to_variant(value)) {
ptr->erase_checked(varKey);
ptr->erase(varKey);
return true;
}