[Theory]
[MemberData(nameof(MakeByRefType_TestData))]
- [ActiveIssue("https://github.com/dotnet/runtime/issues/37489", TestRuntimes.Mono)]
public void MakeByRefType_Invoke_ReturnsExpected(Type t)
{
Type tPointer = t.MakeByRefType();
[Theory]
[MemberData(nameof(MakePointerType_TestData))]
- [ActiveIssue("https://github.com/dotnet/runtime/issues/37489", TestRuntimes.Mono)]
public void MakePointerType_Invoke_ReturnsExpected(Type t)
{
Type tPointer = t.MakePointerType();
}
static void
-check_for_invalid_type (MonoClass *klass, MonoError *error)
+check_for_invalid_array_type (MonoClass *klass, MonoError *error)
{
char *name;
mono_error_set_type_load_name (error, name, g_strdup (""), "");
}
+static void
+check_for_invalid_byref_or_pointer_type (MonoClass *klass, MonoError *error)
+{
+#ifdef ENABLE_NETCORE
+ return;
+#else
+ check_for_invalid_array_type (klass, error);
+#endif
+}
+
MonoReflectionTypeHandle
ves_icall_RuntimeType_make_array_type (MonoReflectionTypeHandle ref_type, int rank, MonoError *error)
{
MonoType *type = MONO_HANDLE_GETVAL (ref_type, type);
MonoClass *klass = mono_class_from_mono_type_internal (type);
- check_for_invalid_type (klass, error);
+ check_for_invalid_array_type (klass, error);
return_val_if_nok (error, MONO_HANDLE_CAST (MonoReflectionType, NULL_HANDLE));
MonoClass *aklass;
mono_class_init_checked (klass, error);
return_val_if_nok (error, MONO_HANDLE_CAST (MonoReflectionType, NULL_HANDLE));
- check_for_invalid_type (klass, error);
+ check_for_invalid_byref_or_pointer_type (klass, error);
return_val_if_nok (error, MONO_HANDLE_CAST (MonoReflectionType, NULL_HANDLE));
MonoDomain *domain = MONO_HANDLE_DOMAIN (ref_type);
mono_class_init_checked (klass, error);
return_val_if_nok (error, MONO_HANDLE_CAST (MonoReflectionType, NULL_HANDLE));
- check_for_invalid_type (klass, error);
+ check_for_invalid_byref_or_pointer_type (klass, error);
return_val_if_nok (error, MONO_HANDLE_CAST (MonoReflectionType, NULL_HANDLE));
MonoClass *pklass = mono_class_create_ptr (type);