Beispiel #1
0
        public static string AccessibilityName(Modifiers mod)
        {
            switch (mod & Modifiers.AccessibilityMask)
            {
            case Modifiers.PUBLIC:
                return("public");

            case Modifiers.PROTECTED:
                return("protected");

            case Modifiers.PROTECTED | Modifiers.INTERNAL:
                return("protected internal");

            case Modifiers.INTERNAL:
                return("internal");

            case Modifiers.PRIVATE:
                return("private");

            case Modifiers.PRIVATE | Modifiers.PROTECTED:
                return("private protected");

            default:
                throw new NotImplementedException(mod.ToString());
            }
        }
Beispiel #2
0
		public static string AccessibilityName (Modifiers mod)
		{
			switch (mod & Modifiers.AccessibilityMask) {
			case Modifiers.PUBLIC:
				return "public";
			case Modifiers.PROTECTED:
				return "protected";
			case Modifiers.PROTECTED | Modifiers.INTERNAL:
				return "protected internal";
			case Modifiers.INTERNAL:
				return "internal";
			case Modifiers.PRIVATE:
				return "private";
			default:
				throw new NotImplementedException (mod.ToString ());
			}
		}
Beispiel #3
0
        public static FieldAttributes FieldAttr(Modifiers mod_flags)
        {
            FieldAttributes fa = 0;

            switch (mod_flags & Modifiers.AccessibilityMask)
            {
            case Modifiers.PUBLIC:
                fa |= FieldAttributes.Public;
                break;

            case Modifiers.PRIVATE:
                fa |= FieldAttributes.Private;
                break;

            case Modifiers.PROTECTED | Modifiers.INTERNAL:
                fa |= FieldAttributes.FamORAssem;
                break;

            case Modifiers.PROTECTED:
                fa |= FieldAttributes.Family;
                break;

            case Modifiers.INTERNAL:
                fa |= FieldAttributes.Assembly;
                break;

            case Modifiers.PRIVATE | Modifiers.PROTECTED:
                fa |= FieldAttributes.FamANDAssem;
                break;

            default:
                throw new NotImplementedException(mod_flags.ToString());
            }

            if ((mod_flags & Modifiers.STATIC) != 0)
            {
                fa |= FieldAttributes.Static;
            }
            if ((mod_flags & Modifiers.READONLY) != 0)
            {
                fa |= FieldAttributes.InitOnly;
            }

            return(fa);
        }
Beispiel #4
0
        public static MethodAttributes MethodAttr(Modifiers mod_flags)
        {
            MethodAttributes ma = MethodAttributes.HideBySig;

            switch (mod_flags & Modifiers.AccessibilityMask)
            {
            case Modifiers.PUBLIC:
                ma |= MethodAttributes.Public;
                break;

            case Modifiers.PRIVATE:
                ma |= MethodAttributes.Private;
                break;

            case Modifiers.PROTECTED | Modifiers.INTERNAL:
                ma |= MethodAttributes.FamORAssem;
                break;

            case Modifiers.PROTECTED:
                ma |= MethodAttributes.Family;
                break;

            case Modifiers.INTERNAL:
                ma |= MethodAttributes.Assembly;
                break;

            default:
                throw new NotImplementedException(mod_flags.ToString());
            }

            if ((mod_flags & Modifiers.STATIC) != 0)
            {
                ma |= MethodAttributes.Static;
            }
            if ((mod_flags & Modifiers.ABSTRACT) != 0)
            {
                ma |= MethodAttributes.Abstract | MethodAttributes.Virtual;
            }
            if ((mod_flags & Modifiers.SEALED) != 0)
            {
                ma |= MethodAttributes.Final;
            }

            if ((mod_flags & Modifiers.VIRTUAL) != 0)
            {
                ma |= MethodAttributes.Virtual;
            }

            if ((mod_flags & Modifiers.OVERRIDE) != 0)
            {
                ma |= MethodAttributes.Virtual;
            }
            else
            {
                if ((ma & MethodAttributes.Virtual) != 0)
                {
                    ma |= MethodAttributes.NewSlot;
                }
            }

            return(ma);
        }
Beispiel #5
0
		public static MethodAttributes MethodAttr (Modifiers mod_flags)
		{
			MethodAttributes ma = MethodAttributes.HideBySig;

			switch (mod_flags & Modifiers.AccessibilityMask) {
			case Modifiers.PUBLIC:
				ma |= MethodAttributes.Public;
				break;
			case Modifiers.PRIVATE:
				ma |= MethodAttributes.Private;
				break;
			case Modifiers.PROTECTED | Modifiers.INTERNAL:
				ma |= MethodAttributes.FamORAssem;
				break;
			case Modifiers.PROTECTED:
				ma |= MethodAttributes.Family;
				break;
			case Modifiers.INTERNAL:
				ma |= MethodAttributes.Assembly;
				break;
			default:
				throw new NotImplementedException (mod_flags.ToString ());
			}

			if ((mod_flags & Modifiers.STATIC) != 0)
				ma |= MethodAttributes.Static;
			if ((mod_flags & Modifiers.ABSTRACT) != 0) {
				ma |= MethodAttributes.Abstract | MethodAttributes.Virtual;
			}
			if ((mod_flags & Modifiers.SEALED) != 0)
				ma |= MethodAttributes.Final;

			if ((mod_flags & Modifiers.VIRTUAL) != 0)
				ma |= MethodAttributes.Virtual;

			if ((mod_flags & Modifiers.OVERRIDE) != 0) {
				ma |= MethodAttributes.Virtual;
			} else {
				if ((ma & MethodAttributes.Virtual) != 0)
					ma |= MethodAttributes.NewSlot;
			}
			
			return ma;
		}