You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-11 13:10:58 +00:00
C#: Revert marshalling of IDictionary/IEnumerable implementing types
Added marshalling for `System.Collections.Generic.List<T>` and `System.Collections.Generic.Dictionary<TKey, TValue>`.
This commit is contained in:
@@ -52,22 +52,18 @@ namespace Marshal {
|
||||
|
||||
bool type_is_generic_array(MonoReflectionType *p_reftype);
|
||||
bool type_is_generic_dictionary(MonoReflectionType *p_reftype);
|
||||
bool type_is_system_generic_list(MonoReflectionType *p_reftype);
|
||||
bool type_is_system_generic_dictionary(MonoReflectionType *p_reftype);
|
||||
bool type_is_generic_ienumerable(MonoReflectionType *p_reftype);
|
||||
bool type_is_generic_icollection(MonoReflectionType *p_reftype);
|
||||
bool type_is_generic_idictionary(MonoReflectionType *p_reftype);
|
||||
|
||||
void array_get_element_type(MonoReflectionType *p_array_reftype, MonoReflectionType **r_elem_reftype);
|
||||
void dictionary_get_key_value_types(MonoReflectionType *p_dict_reftype, MonoReflectionType **r_key_reftype, MonoReflectionType **r_value_reftype);
|
||||
|
||||
bool generic_ienumerable_is_assignable_from(MonoReflectionType *p_reftype);
|
||||
bool generic_idictionary_is_assignable_from(MonoReflectionType *p_reftype);
|
||||
bool generic_ienumerable_is_assignable_from(MonoReflectionType *p_reftype, MonoReflectionType **r_elem_reftype);
|
||||
bool generic_idictionary_is_assignable_from(MonoReflectionType *p_reftype, MonoReflectionType **r_key_reftype, MonoReflectionType **r_value_reftype);
|
||||
|
||||
GDMonoClass *make_generic_array_type(MonoReflectionType *p_elem_reftype);
|
||||
GDMonoClass *make_generic_dictionary_type(MonoReflectionType *p_key_reftype, MonoReflectionType *p_value_reftype);
|
||||
|
||||
Array enumerable_to_array(MonoObject *p_enumerable);
|
||||
Dictionary idictionary_to_dictionary(MonoObject *p_idictionary);
|
||||
Dictionary generic_idictionary_to_dictionary(MonoObject *p_generic_idictionary);
|
||||
|
||||
} // namespace Marshal
|
||||
|
||||
_FORCE_INLINE_ void hash_combine(uint32_t &p_hash, const uint32_t &p_with_hash) {
|
||||
@@ -115,6 +111,9 @@ MonoObject *create_managed_from(const Dictionary &p_from, GDMonoClass *p_class);
|
||||
|
||||
MonoDomain *create_domain(const String &p_friendly_name);
|
||||
|
||||
String get_type_desc(MonoType *p_type);
|
||||
String get_type_desc(MonoReflectionType *p_reftype);
|
||||
|
||||
String get_exception_name_and_message(MonoException *p_exc);
|
||||
void set_exception_message(MonoException *p_exc, String message);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user