コード例 #1
0
/**
 * 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 ();
}
コード例 #2
0
ファイル: gd_mono_class.cpp プロジェクト: UgisBrekis/godot
uint32_t GDMonoClass::get_flags() const {
	return mono_class_get_flags(mono_class);
}