diff --git a/src/bgen/Enums.cs b/src/bgen/Enums.cs index 8768804a58..5200bc38c9 100644 --- a/src/bgen/Enums.cs +++ b/src/bgen/Enums.cs @@ -86,7 +86,7 @@ public partial class Generator { var fields = new Dictionary (); Tuple null_field = null; Tuple default_symbol = null; - var underlying_type = GetCSharpTypeName (TypeManager.GetUnderlyingEnumType (type)); + var underlying_type = GetCSharpTypeName (type.GetEnumUnderlyingType ()); var is_internal = AttributeManager.HasAttribute (type); var visibility = is_internal ? "internal" : "public"; print ("{0} enum {1} : {2} {{", visibility, type.Name, underlying_type); diff --git a/src/bgen/Generator.cs b/src/bgen/Generator.cs index b72668a980..de8ff90697 100644 --- a/src/bgen/Generator.cs +++ b/src/bgen/Generator.cs @@ -307,7 +307,7 @@ public partial class Generator : IMemberGatherer { if (t.IsEnum) { var enumType = t; - t = TypeManager.GetUnderlyingEnumType (t); + t = t.GetEnumUnderlyingType (); if (IsNativeEnum (enumType, out var _, out var nativeType)) return nativeType; @@ -722,7 +722,7 @@ public partial class Generator : IMemberGatherer { if (originalReturnType == TypeManager.NSNumber) { if (!NSNumberReturnMap.TryGetValue (retType, out append)) { if (retType.IsEnum) { - var enumType = TypeManager.GetUnderlyingEnumType (retType); + var enumType = retType.GetEnumUnderlyingType (); if (!NSNumberReturnMap.TryGetValue (enumType, out append)) throw GetBindAsException ("unbox", retType.Name, originalReturnType.Name, "container", minfo.mi); } else @@ -1314,7 +1314,7 @@ public partial class Generator : IMemberGatherer { return false; var renderedEnumType = RenderType (enumType); - var underlyingEnumType = TypeManager.GetUnderlyingEnumType (enumType); + var underlyingEnumType = enumType.GetEnumUnderlyingType (); var underlyingTypeName = RenderType (underlyingEnumType); string itype; string intermediateType; @@ -1382,7 +1382,7 @@ public partial class Generator : IMemberGatherer { if (attrib is null) return false; - var underlyingEnumType = TypeManager.GetUnderlyingEnumType (enumType); + var underlyingEnumType = enumType.GetEnumUnderlyingType (); if (TypeManager.System_Int64 == underlyingEnumType) { nativeType = "IntPtr"; } else if (TypeManager.System_UInt64 == underlyingEnumType) { @@ -2131,7 +2131,7 @@ public partial class Generator : IMemberGatherer { bool isNativeEnum = false; if (pi.PropertyType.IsEnum) { - fetchType = TypeManager.GetUnderlyingEnumType (pi.PropertyType); + fetchType = pi.PropertyType.GetEnumUnderlyingType (); castToUnderlying = "(" + fetchType + "?)"; castToEnum = "(" + FormatType (dictType, pi.PropertyType) + "?)"; isNativeEnum = IsNativeEnum (pi.PropertyType); @@ -2404,7 +2404,7 @@ public partial class Generator : IMemberGatherer { else if (propertyType == TypeManager.System_String_Array) { print ("return CFArray.StringArrayFromHandle (value)!;"); } else { - Type underlying = propertyType.IsEnum ? TypeManager.GetUnderlyingEnumType (propertyType) : propertyType; + Type underlying = propertyType.IsEnum ? propertyType.GetEnumUnderlyingType () : propertyType; string cast = propertyType.IsEnum ? "(" + propertyType.FullName + ") " : ""; if (underlying == TypeManager.System_Int32) diff --git a/src/bgen/TypeManager.cs b/src/bgen/TypeManager.cs index 77bdc52d79..01d1d1fc02 100644 --- a/src/bgen/TypeManager.cs +++ b/src/bgen/TypeManager.cs @@ -157,11 +157,6 @@ public class TypeManager { return pi.IsOut; } - public static Type GetUnderlyingEnumType (Type type) - { - return type.GetEnumUnderlyingType (); - } - public void Initialize (BindingTouch binding_touch, Assembly api, Assembly corlib, Assembly platform) { BindingTouch = binding_touch;