public EmptyClassPropertyAccessors(
     ClassAccessorVisibilityModifier getAccessorVisibility,
     ClassAccessorVisibilityModifier setAccessorVisibility)
 {
     getAccessorVisibility = GetAccessorVisibility;
     SetAccessorVisibility = setAccessorVisibility;
 }
        internal ClassAccessorWithMonoCecil(IHasClassMemberVisibilityModifier parentVisibility, AccessorWithMonoCecil accessor)
        {
            this.accessor = accessor;
            ClassMemberVisibilityModifier classVisibility = accessor.MethodDefinition.ClassVisibility();

            if (parentVisibility.Visibility == classVisibility)
            {
                visibility = ClassAccessorVisibilityModifier.None;
            }
            else
            {
                switch (classVisibility)
                {
                case ClassMemberVisibilityModifier.Internal:
                    visibility = ClassAccessorVisibilityModifier.Internal;
                    break;

                case ClassMemberVisibilityModifier.ProtectedInternal:
                    visibility = ClassAccessorVisibilityModifier.ProtectedInternal;
                    break;

                case ClassMemberVisibilityModifier.Protected:
                    visibility = ClassAccessorVisibilityModifier.Protected;
                    break;

                case ClassMemberVisibilityModifier.Private:
                    visibility = ClassAccessorVisibilityModifier.Private;
                    break;
                }
            }
        }
示例#3
0
        public static SyntaxTokenList WithClassAccessorVisibilityModifier(
            this SyntaxTokenList tokens,
            ClassAccessorVisibilityModifier modifier)
        {
            ClassMemberVisibilityModifier memberModifier = ClassMemberVisibilityModifier.None;

            switch (modifier)
            {
            case ClassAccessorVisibilityModifier.Internal:
                memberModifier = ClassMemberVisibilityModifier.Internal;
                break;

            case ClassAccessorVisibilityModifier.ProtectedInternal:
                memberModifier = ClassMemberVisibilityModifier.ProtectedInternal;
                break;

            case ClassAccessorVisibilityModifier.Protected:
                memberModifier = ClassMemberVisibilityModifier.Protected;
                break;

            case ClassAccessorVisibilityModifier.Private:
                memberModifier = ClassMemberVisibilityModifier.Private;
                break;
            }

            return(tokens.WithClassMemberVisibilityModifier(memberModifier));
        }
示例#4
0
        internal static void AddClassAccessorVisibilityModifierSteps(
            this List <ISourceCodeBuilderStep> steps,
            ClassAccessorVisibilityModifier visibility)
        {
            if (visibility == ClassAccessorVisibilityModifier.None)
            {
                return;
            }

            if (visibility == ClassAccessorVisibilityModifier.ProtectedInternal)
            {
                steps.Add(new WriteClassAccessorVisibilityModifier(ClassAccessorVisibilityModifier.Protected));
                steps.Add(new WriteWhitespace());
                steps.Add(new WriteClassAccessorVisibilityModifier(ClassAccessorVisibilityModifier.Internal));
                steps.Add(new WriteWhitespace());
            }
            else
            {
                steps.Add(new WriteClassAccessorVisibilityModifier(visibility));
                steps.Add(new WriteWhitespace());
            }
        }
示例#5
0
 public ReadOnlyClassAccessor(ClassAccessorVisibilityModifier visibility)
 {
     this.visibility = visibility;
 }
示例#6
0
 public WriteClassAccessorVisibilityModifier(ClassAccessorVisibilityModifier modifier)
 {
     Modifier = modifier;
 }