Mono.CSharp.ModifiersExtensions.TypeAttr C# (CSharp) Method

TypeAttr() public static method

public static TypeAttr ( Mono.CSharp.Modifiers mod_flags, bool is_toplevel ) : TypeAttributes
mod_flags Mono.CSharp.Modifiers
is_toplevel bool
return TypeAttributes
		public static TypeAttributes TypeAttr (Modifiers mod_flags, bool is_toplevel)
		{
			TypeAttributes t = 0;

			if (is_toplevel){
				if ((mod_flags & Modifiers.PUBLIC) != 0)
					t = TypeAttributes.Public;
				else if ((mod_flags & Modifiers.PRIVATE) != 0)
					t = TypeAttributes.NotPublic;
			} else {
				if ((mod_flags & Modifiers.PUBLIC) != 0)
					t = TypeAttributes.NestedPublic;
				else if ((mod_flags & Modifiers.PRIVATE) != 0)
					t = TypeAttributes.NestedPrivate;
				else if ((mod_flags & (Modifiers.PROTECTED | Modifiers.INTERNAL)) == (Modifiers.PROTECTED | Modifiers.INTERNAL))
					t = TypeAttributes.NestedFamORAssem;
				else if ((mod_flags & Modifiers.PROTECTED) != 0)
					t = TypeAttributes.NestedFamily;
				else if ((mod_flags & Modifiers.INTERNAL) != 0)
					t = TypeAttributes.NestedAssembly;
			}

			if ((mod_flags & Modifiers.SEALED) != 0)
				t |= TypeAttributes.Sealed;
			if ((mod_flags & Modifiers.ABSTRACT) != 0)
				t |= TypeAttributes.Abstract;

			return t;
		}