Пример #1
0
        public void AddConstructorOpening
        (
            string className,
            Accessibility accessibility = Accessibility.Public,
            params IPropertySymbol[] argSymbols
        )
        {
            this.AddLine($"{accessibility.ConvertAccessabilityToString()} {className} (");

            bool isFirstIteration = true;

            foreach (IPropertySymbol argSymbol in argSymbols)
            {
                if (isFirstIteration)
                {
                    isFirstIteration = false;
                }
                else
                {
                    this.AddText(" ,");
                }

                this.AddText($"{(argSymbol.Type as INamedTypeSymbol).GetFullTypeString()} {argSymbol.Name.FirstCharToLowerCase()}");
            }
            this.AddText(")");

            Push();
        }
        public static string GetAccessabilityStr(this Accessibility accessibility)
        {
            string accessibilityStr = accessibility.ConvertAccessabilityToString();

            if (!accessibilityStr.IsNullOrEmpty())
            {
                accessibilityStr += " ";
            }

            return(accessibilityStr);
        }
Пример #3
0
        public void AddTypedName
        (
            string name,
            INamedTypeSymbol fieldType,
            Accessibility accessibility,
            bool shouldOverride = false
        )
        {
            string fullTypeName = fieldType.GetFullTypeString();

            string overrideInsert = shouldOverride ? "override " : "";

            this.AddLine(accessibility.ConvertAccessabilityToString() + " " + overrideInsert + fullTypeName + " " + name);
        }
        public static string GetMemberDeclarationCode
        (
            string memberName,
            INamedTypeSymbol memberType, // or return type for a method
            Accessibility accessibility,
            bool isStatic       = false,
            bool shouldOverride = false,
            bool isAbstract     = false,
            bool isVirtual      = false,
            bool isAsync        = false
        )
        {
            string result = accessibility.ConvertAccessabilityToString();

            if (shouldOverride)
            {
                isVirtual = false;
            }

            if (isAsync)
            {
                result += " async";
            }

            if (isAbstract)
            {
                result += " abstract";
            }

            if (isVirtual)
            {
                result += " virtual";
            }

            if (isStatic)
            {
                result += " static";
            }

            //if (methodSymbol.IsOverride)
            if (shouldOverride)
            {
                result += " override";
            }

            result += " " + memberType.GetFullTypeString() + " " + memberName;

            return(result);
        }
Пример #5
0
        public void AddEventDefinition(IEventSymbol eventSymbol, string newName = null)
        {
            Accessibility accessibility = eventSymbol.DeclaredAccessibility;

            string eventName =
                newName ?? eventSymbol.Name;

            string result =
                accessibility.ConvertAccessabilityToString() +
                " event " +
                (eventSymbol.Type as INamedTypeSymbol).GetFullTypeString() +
                " " +
                eventName;

            AddLine(result, true);
        }
Пример #6
0
        public void OpenPropGetterOrSetter(Accessibility accessibility, bool getterOrSetter)
        {
            string getterAccessibilityStr =
                accessibility.ConvertAccessabilityToString();

            AddEmptyLine();

            if (!getterAccessibilityStr.IsNullOrEmpty())
            {
                AddText(getterAccessibilityStr + " ");
            }

            string textToAdd = getterOrSetter ? "get" : "set";

            AddText(textToAdd);

            Push();
        }
Пример #7
0
 public void AddDefaultConstructorOpening(string className, Accessibility accessibility = Accessibility.Public)
 {
     this.AddLine($"{accessibility.ConvertAccessabilityToString()} {className} ()");
     Push();
 }