@@ -87,8 +87,6 @@ static gboolean is_sre_byref (MonoClass *klass);
87
87
static gboolean is_sre_pointer (MonoClass * klass );
88
88
static gboolean is_sre_generic_instance (MonoClass * klass );
89
89
static gboolean is_sre_type_builder (MonoClass * klass );
90
- static gboolean is_sre_method_builder (MonoClass * klass );
91
- static gboolean is_sre_field_builder (MonoClass * klass );
92
90
static gboolean is_sre_gparam_builder (MonoClass * klass );
93
91
static gboolean is_sre_enum_builder (MonoClass * klass );
94
92
static gboolean is_sr_mono_method (MonoClass * klass );
@@ -1022,7 +1020,7 @@ mono_image_create_method_token (MonoDynamicImage *assembly, MonoObjectHandle obj
1022
1020
g_assert (!MONO_HANDLE_IS_NULL (opt_param_types ) && (mono_method_signature_internal (method )-> sentinelpos >= 0 ));
1023
1021
token = create_method_token (assembly , method , opt_param_types , error );
1024
1022
goto_if_nok (error , fail );
1025
- } else if (strcmp (klass -> name , "RuntimeMethodBuilder" ) == 0 ) {
1023
+ } else if (mono_is_sre_method_builder (klass ) ) {
1026
1024
g_assert_not_reached ();
1027
1025
} else {
1028
1026
g_error ("requested method token for %s\n" , klass -> name );
@@ -1476,8 +1474,8 @@ is_sre_type_builder (MonoClass *klass)
1476
1474
check_corlib_type_cached (klass , "System.Reflection.Emit" , "RuntimeTypeBuilder" );
1477
1475
}
1478
1476
1479
- static gboolean
1480
- is_sre_method_builder (MonoClass * klass )
1477
+ gboolean
1478
+ mono_is_sre_method_builder (MonoClass * klass )
1481
1479
{
1482
1480
check_corlib_type_cached (klass , "System.Reflection.Emit" , "RuntimeMethodBuilder" );
1483
1481
}
@@ -1488,12 +1486,30 @@ mono_is_sre_ctor_builder (MonoClass *klass)
1488
1486
check_corlib_type_cached (klass , "System.Reflection.Emit" , "RuntimeConstructorBuilder" );
1489
1487
}
1490
1488
1491
- static gboolean
1492
- is_sre_field_builder (MonoClass * klass )
1489
+ gboolean
1490
+ mono_is_sre_field_builder (MonoClass * klass )
1493
1491
{
1494
1492
check_corlib_type_cached (klass , "System.Reflection.Emit" , "RuntimeFieldBuilder" );
1495
1493
}
1496
1494
1495
+ gboolean
1496
+ mono_is_sre_property_builder (MonoClass * klass )
1497
+ {
1498
+ check_corlib_type_cached (klass , "System.Reflection.Emit" , "RuntimePropertyBuilder" );
1499
+ }
1500
+
1501
+ gboolean
1502
+ mono_is_sre_assembly_builder (MonoClass * klass )
1503
+ {
1504
+ check_corlib_type_cached (klass , "System.Reflection.Emit" , "RuntimeAssemblyBuilder" );
1505
+ }
1506
+
1507
+ gboolean
1508
+ mono_is_sre_module_builder (MonoClass * klass )
1509
+ {
1510
+ check_corlib_type_cached (klass , "System.Reflection.Emit" , "RuntimeModuleBuilder" );
1511
+ }
1512
+
1497
1513
static gboolean
1498
1514
is_sre_gparam_builder (MonoClass * klass )
1499
1515
{
@@ -1872,7 +1888,7 @@ get_prop_name_and_type (MonoObject *prop, char **name, MonoType **type, MonoErro
1872
1888
{
1873
1889
error_init (error );
1874
1890
MonoClass * klass = mono_object_class (prop );
1875
- if (strcmp (klass -> name , "RuntimePropertyBuilder" ) == 0 ) {
1891
+ if (mono_is_sre_property_builder (klass ) ) {
1876
1892
MonoReflectionPropertyBuilder * pb = (MonoReflectionPropertyBuilder * )prop ;
1877
1893
* name = mono_string_to_utf8_checked_internal (pb -> name , error );
1878
1894
return_if_nok (error );
@@ -1892,7 +1908,7 @@ get_field_name_and_type (MonoObject *field, char **name, MonoType **type, MonoEr
1892
1908
{
1893
1909
error_init (error );
1894
1910
MonoClass * klass = mono_object_class (field );
1895
- if (strcmp (klass -> name , "RuntimeFieldBuilder" ) == 0 ) {
1911
+ if (mono_is_sre_field_builder (klass ) ) {
1896
1912
MonoReflectionFieldBuilder * fb = (MonoReflectionFieldBuilder * )field ;
1897
1913
* name = mono_string_to_utf8_checked_internal (fb -> name , error );
1898
1914
return_if_nok (error );
@@ -3379,7 +3395,7 @@ mono_reflection_method_get_handle (MonoObject *method, MonoError *error)
3379
3395
MonoReflectionMethod * sr_method = (MonoReflectionMethod * )method ;
3380
3396
return sr_method -> method ;
3381
3397
}
3382
- if (is_sre_method_builder (klass )) {
3398
+ if (mono_is_sre_method_builder (klass )) {
3383
3399
MonoReflectionMethodBuilder * mb = (MonoReflectionMethodBuilder * )method ;
3384
3400
return mb -> mhandle ;
3385
3401
}
@@ -3413,7 +3429,7 @@ mono_reflection_get_dynamic_overrides (MonoClass *klass, MonoMethod ***overrides
3413
3429
return ;
3414
3430
3415
3431
tb = mono_class_get_ref_info_raw (klass ); /* FIXME use handles */
3416
- g_assert (strcmp (mono_object_class (tb )-> name , "RuntimeTypeBuilder" ) == 0 );
3432
+ g_assert (is_sre_type_builder (mono_object_class (tb )) );
3417
3433
3418
3434
onum = 0 ;
3419
3435
if (tb -> methods ) {
@@ -4198,7 +4214,7 @@ mono_reflection_resolve_object (MonoImage *image, MonoObject *obj, MonoClass **h
4198
4214
}
4199
4215
* handle_class = mono_defaults .fieldhandle_class ;
4200
4216
g_assert (result );
4201
- } else if (strcmp (oklass -> name , "RuntimeTypeBuilder" ) == 0 ) {
4217
+ } else if (is_sre_type_builder (oklass ) ) {
4202
4218
MonoReflectionTypeBuilderHandle tb = MONO_HANDLE_NEW (MonoReflectionTypeBuilder , (MonoReflectionTypeBuilder * )obj );
4203
4219
MonoType * type = mono_reflection_type_get_handle (& MONO_HANDLE_RAW (tb )-> type , error );
4204
4220
goto_if_nok (error , return_null );
@@ -4285,9 +4301,9 @@ mono_reflection_resolve_object (MonoImage *image, MonoObject *obj, MonoClass **h
4285
4301
4286
4302
result = method ;
4287
4303
* handle_class = mono_defaults .methodhandle_class ;
4288
- } else if (is_sre_method_builder (oklass ) ||
4304
+ } else if (mono_is_sre_method_builder (oklass ) ||
4289
4305
mono_is_sre_ctor_builder (oklass ) ||
4290
- is_sre_field_builder (oklass ) ||
4306
+ mono_is_sre_field_builder (oklass ) ||
4291
4307
is_sre_gparam_builder (oklass ) ||
4292
4308
is_sre_generic_instance (oklass ) ||
4293
4309
is_sre_array (oklass ) ||
0 commit comments