Exemplo n.º 1
0
        public IRichStringbuilder Design(IRichStringbuilder richSb)
        {
            // Visibility PropertyName: ReturnType {get;set}
            Visibility.Design(richSb);
            richSb.WriteRegular(" ");
            WriteNameHelper(richSb);
            richSb.WriteRegular(": ");
            richSb.WriteBold(ReturnType);
            bool OpenCloseBracket = Getter || Setter;
            if (OpenCloseBracket)
            {
                richSb.WriteRegular("{");
                if (Getter) richSb.WriteRegular("get;");
                if (Setter) richSb.WriteRegular("set;");
                richSb.WriteRegular("}");
            }

            if (Abstract)
                richSb.WriteItalic(" ** abstract **");

            if (Virtual)
            {
                richSb.WriteRegular(" « ");
                richSb.WriteUnderline("virtual");
                richSb.WriteRegular(" »");
            }
            if (Overrided)
                richSb.WriteBold(" !overrided");
            return richSb;
        }
Exemplo n.º 2
0
 public override IRichStringbuilder Design(IRichStringbuilder richerStringBuilder)
 {
     // CONSTANT_NAME : constant_type = value
     richerStringBuilder.WriteRegular(Name + " : ");
     richerStringBuilder.WriteBold(ReturnType);
     richerStringBuilder.WriteRegular(" = ");
     richerStringBuilder.WriteItalic(InitialValue);
     return richerStringBuilder;
 }
Exemplo n.º 3
0
        public IRichStringbuilder Design(IRichStringbuilder richSb)
        {
            // Visibility MethodName(arg: Type, ...)
            // Visibility (ctor) MethodName(arg: Type, ...)

            // parameters
            Action<IRichStringbuilder> WriteArgumentsIfExist = innerSb =>
            {
                innerSb.WriteRegular("(");
                if (Arguments != null && Arguments.Count > 0)
                {
                    for (int i = 0; i < Arguments.Count; i++)
                    {
                        var kvp = Arguments.ElementAt(i);
                        innerSb.WriteRegular(kvp.Key + ": ");
                        innerSb.WriteBold(kvp.Value);

                        if ((i + 1) < Arguments.Count)
                            innerSb.WriteRegular(", ");
                    }
                }
                innerSb.WriteRegular(")");
            };

            if( Ctor && Static )
                this.Visibility = new Visibility(Enums.VisibilityMode.@public);

            Visibility.Design(richSb);
            richSb.WriteRegular(" ");
            if (Ctor)
            {
                if (Static) { richSb.WriteRegular("(cctor)"); }
                else { richSb.WriteRegular("(ctor)"); }
            }
            WriteNameHelper(richSb);
            WriteArgumentsIfExist(richSb);
            richSb.WriteRegular(": ");
            richSb.WriteBold(Ctor ? Name : ReturnType);

            if (Abstract)
                richSb.WriteItalic(" ** abstract **");

            if (Virtual)
            {
                richSb.WriteRegular(" « ");
                richSb.WriteUnderline("virtual");
                richSb.WriteRegular(" »");
            }
            if (Overrided)
                richSb.WriteBold(" !overrided");

            return richSb;
        }
Exemplo n.º 4
0
        public IRichStringbuilder Design(IRichStringbuilder richSb)
        {
            // Visibility Name: ReturnType readonly
            Visibility.Design(richSb);
            richSb.WriteRegular(" " + Name + ": ");
            richSb.WriteBold(ReturnType);

            if (@Readonly)
                richSb.WriteItalic(" readonly");

            AppendSuffix(richSb);
            return richSb;
        }
Exemplo n.º 5
0
        protected void AppendSuffix(IRichStringbuilder richSb)
        {
            if (@Static)
                richSb.WriteRegular(" [STATIC]");

            if (Abstract)
                richSb.WriteItalic(" ** abstract **");

            if (Virtual)
            {
                richSb.WriteRegular(" « ");
                richSb.WriteUnderline("virtual");
                richSb.WriteRegular(" »");
            }
        }
Exemplo n.º 6
0
        protected override int DesignHeaderConcrete(IRichStringbuilder richSb)
        {
            int charsWritten = 0;
            if (Abstract)
            {
                richSb.WriteRegular(" ");
                richSb.WriteItalic(ABSTRACT_WORD);
                charsWritten += ABSTRACT_WORD.Length;
            }

            if (Static)
            {
                richSb.WriteRegular(" ");
                richSb.WriteItalic(STATIC_WORD);
                charsWritten += STATIC_WORD.Length;
            }

            return charsWritten;
        }
Exemplo n.º 7
0
        private IRichStringbuilder DesignHeader(IRichStringbuilder richSb)
        {
            int LINE_CHARS_NUM = Name.Length + 5;
            DrawLine(richSb, LINE_CHARS_NUM, true, '_', true, true);
            richSb.WriteRegular(": ");
            Visibility.Design(richSb);
            richSb.WriteRegular(Name);

            richSb.WriteRegular(" ");
            richSb.WriteItalic(ENUM_WORD);
            LINE_CHARS_NUM += ENUM_WORD.Length;

            richSb.WriteLine();
            DrawLine(richSb, LINE_CHARS_NUM, true, '¯', true, true);
            return richSb;
        }
Exemplo n.º 8
0
 protected override int DesignHeaderConcrete(IRichStringbuilder richSb)
 {
     richSb.WriteRegular(" ");
     richSb.WriteItalic(STRUCT_WORD);
     return STRUCT_WORD.Length;
 }
Exemplo n.º 9
0
        public IRichStringbuilder Design(IRichStringbuilder richSb)
        {
            string dummyTextPreparation = Name;
            Func<string> annotationString = () =>
            {
                string s = string.Empty;
                switch (Type)
                {
                    case CLRAvailableTypeMode.@class:
                        if (Abstract) s = "« abstract »";
                        break;
                    case CLRAvailableTypeMode.@enum:
                        s = " « enum »";
                        break;

                    case CLRAvailableTypeMode.@interface:
                        s = " « interface »";
                        break;

                    case CLRAvailableTypeMode.@struct:
                        s = " « struct »";
                        break;

                    default: throw new NotSupportedException();
                }

                return s;
            };

            if (!string.IsNullOrEmpty(BaseName)) { dummyTextPreparation += " extends " + BaseName; }
            string annotationText = annotationString();
            dummyTextPreparation += annotationText;         // append

            // calc size
            int numCharsOthersSeparators = (int)Math.Round(dummyTextPreparation.Length * 0.8);
            int numCharsClass = (int)Math.Round((dummyTextPreparation.Length * 1.3));        // fixed value because of the caracter _

            DrawLine(richSb, numCharsClass, true, '_', true, true);
            richSb.WriteRegular(": ");
            Visibility.Design(richSb);
            richSb.WriteRegular(" " + Name);

            if (!string.IsNullOrEmpty(annotationText)) { richSb.WriteItalic(annotationText); }
            if (!string.IsNullOrEmpty(BaseName)) { richSb.WriteRegular(" extends ").WriteBold(BaseName); }

            richSb.WriteLine();
            DrawLine(richSb, numCharsClass, true, '¯', true, true);

            // REFERENCES
            if (ReferencedTypes.Any())
            {
                richSb.WriteLine();
                DrawLine(richSb, numCharsOthersSeparators, true, '-');
                WriteReferencesUML(richSb);
                DrawLine(richSb, numCharsOthersSeparators, true, '-');
            }

            // CONSTANTS
            if (ConstantFields.Any())
            {
                richSb.WriteLine();
                richSb.WriteRegular("CONSTANTS ").WriteLine();
                WriteConstantsUML(richSb);
            }

            // FIELDS
            if (Fields.Any())
            {
                richSb.WriteLine();
                richSb.WriteRegular("Fields ").WriteLine();
                WriteFieldsUML(richSb);
            }

            // PROPERTIES
            if (Properties.Any())
            {
                richSb.WriteLine();
                richSb.WriteRegular("Properties ").WriteLine();
                WritePropertiesUML(richSb);
            }

            // METHODS

            if (Methods.Any())
            {
                richSb.WriteLine();
                richSb.WriteRegular("Methods ").WriteLine();
                WriteMethodsUML(richSb);
            }

            return richSb;
        }