/** * mono_class_get_flags: * @klass: the MonoClass to act on * * Return the TypeAttributes flags of @klass. * See the TYPE_ATTRIBUTE_* definitions on tabledefs.h for the different values. * * Returns: The type flags */ guint32 mono_class_get_flags (MonoClass *klass) { switch (klass->class_kind) { case MONO_CLASS_DEF: case MONO_CLASS_GTD: return ((MonoClassDef*)klass)->flags; case MONO_CLASS_GINST: return mono_class_get_flags (((MonoClassGenericInst*)klass)->generic_class->container_class); case MONO_CLASS_GPARAM: return TYPE_ATTRIBUTE_PUBLIC; case MONO_CLASS_ARRAY: /* all arrays are marked serializable and sealed, bug #42779 */ return TYPE_ATTRIBUTE_CLASS | TYPE_ATTRIBUTE_SERIALIZABLE | TYPE_ATTRIBUTE_SEALED | TYPE_ATTRIBUTE_PUBLIC; case MONO_CLASS_POINTER: return TYPE_ATTRIBUTE_CLASS | (mono_class_get_flags (klass->element_class) & TYPE_ATTRIBUTE_VISIBILITY_MASK); } g_assert_not_reached (); }
uint32_t GDMonoClass::get_flags() const { return mono_class_get_flags(mono_class); }