Ejemplo n.º 1
0
 protected abstract void RenderConstructor(StringBuilder builder, MethodApiView m);
Ejemplo n.º 2
0
 protected override void RenderConstructor(StringBuilder builder, MethodApiView m)
 {
     builder.Append(m.Name);
 }
Ejemplo n.º 3
0
        public void Render(MethodApiView m, StringListApiView list, int indents = 0)
        {
            if (m.Attributes.Any())
            {
                foreach (var attribute in m.Attributes)
                {
                    Render(attribute, list, indents);
                }
            }

            var builder = new StringBuilder();

            AppendIndents(builder, indents);

            if (!m.IsInterfaceMethod)
            {
                RenderKeyword(builder, m.Accessibility);
                builder.Append(" ");
            }

            if (m.IsStatic)
            {
                RenderKeyword(builder, "static");
                builder.Append(" ");
            }
            if (m.IsVirtual)
            {
                RenderKeyword(builder, "virtual");
                builder.Append(" ");
            }
            if (m.IsSealed)
            {
                RenderKeyword(builder, "sealed");
                builder.Append(" ");
            }
            if (m.IsOverride)
            {
                RenderKeyword(builder, "override");
                builder.Append(" ");
            }
            if (m.IsAbstract && !m.IsInterfaceMethod)
            {
                RenderKeyword(builder, "abstract");
                builder.Append(" ");
            }
            if (m.IsExtern)
            {
                RenderKeyword(builder, "extern");
                builder.Append(" ");
            }

            if (m.ReturnType != null)
            {
                Render(m.ReturnType, builder);
                builder.Append(" ");
            }

            if (m.IsConstructor)
            {
                RenderConstructor(builder, m);
            }
            else
            {
                RenderCommentable(builder, m.Id, m.Name);
            }

            if (m.TypeParameters.Any())
            {
                RenderPunctuation(builder, "<");
                foreach (var tp in m.TypeParameters)
                {
                    Render(tp, builder);
                    builder.Append(", ");
                }
                builder.Length -= 2;
                RenderPunctuation(builder, ">");
            }

            builder.Append("(");
            if (m.Parameters.Any())
            {
                bool isFirst = true;
                foreach (ParameterApiView p in m.Parameters)
                {
                    if (isFirst)
                    {
                        isFirst = false;
                        if (m.IsExtensionMethod)
                        {
                            RenderKeyword(builder, "this");
                            builder.Append(" ");
                        }
                    }
                    else
                    {
                        builder.Append(", ");
                    }
                    Render(p, builder);
                }
            }

            if (m.IsInterfaceMethod || m.IsAbstract)
            {
                builder.Append(");");
            }
            else
            {
                builder.Append(") { }");
            }
            list.Add(new LineApiView(builder.ToString(), m.Id));
        }
Ejemplo n.º 4
0
 protected override void RenderConstructor(StringBuilder builder, MethodApiView m)
 {
     builder.Append("<a href=\"#\" id=\"").Append(EscapeHTML(m.Id)).Append("\" class=\"class commentable\">")
     .Append(EscapeHTML(m.Name)).Append("</a>");
 }