public TypeDocumentation GetTypeDocumentation(TypeDefinition typeDefinition) { if (typeDocs.TryGetValue(typeDefinition, out var docs)) { return(docs); } var asmName = typeDefinition.Module.Assembly.Name.Name; docs = new TypeDocumentation(typeDefinition, framework, XmlDocs, decompiler, idecompiler, format); typeDocs.TryAdd(typeDefinition, docs); return(docs); }
public TypeDocumentation GetTypeDocumentation(TypeDefinition typeDefinition) { if (typeDocs.TryGetValue(typeDefinition, out var docs)) { return(docs); } var asmName = typeDefinition.Module.Assembly.Name.Name; AssemblyXmlDocs.TryGetValue(asmName, out var xmlDocs); docs = new TypeDocumentation(typeDefinition, xmlDocs); typeDocs.TryAdd(typeDefinition, docs); return(docs); }
public static void WritePrototypeHtml(this FieldDefinition member, TextWriter w, PackageTargetFramework framework, bool linkToCode) { if (!member.DeclaringType.IsEnum) { if (member.IsFamily || member.IsFamilyOrAssembly) { w.Write("<span class=\"c-kw\">protected</span> "); } else if (member.IsPublic) { w.Write("<span class=\"c-kw\">public</span> "); } if (member.HasConstant) { w.Write("<span class=\"c-kw\">const</span> "); } else { if (member.IsStatic) { w.Write("<span class=\"c-kw\">static</span> "); } if (member.IsInitOnly) { w.Write("<span class=\"c-kw\">readonly</span> "); } } WriteReferenceHtml(member.FieldType, w, framework); w.Write(" "); } var id = member.GetXmlName(); var href = GetHref(member, framework, linkToCode); w.Write($"<a {href} id=\"{id}\" class=\"c-fd\">"); WriteEncoded(member.Name, w); w.Write("</a>"); if (member.HasConstant) { w.Write(" = "); TypeDocumentation.WritePrimitiveHtml(member.Constant, w); } }
public TypeDocumentation GetTypeDocumentation(TypeDefinition typeDefinition, string rawLanguageCode) { var languageCode = rawLanguageCode.Trim().ToLowerInvariant(); if (string.IsNullOrEmpty(languageCode)) { languageCode = "en"; } var key = Tuple.Create(typeDefinition, languageCode); if (typeDocs.TryGetValue(key, out var docs)) { return(docs); } var asmName = typeDefinition.Module.Assembly.Name.Name; docs = new TypeDocumentation(typeDefinition, framework, XmlDocs, decompiler, idecompiler, format, languageCode); typeDocs.TryAdd(key, docs); return(docs); }
public static void WritePrototypeHtml(this MethodDefinition member, TextWriter w, PackageTargetFramework framework, bool linkToCode) { if (!member.DeclaringType.IsInterface) { if (member.IsFamily || member.IsFamilyOrAssembly) { w.Write("<span class=\"c-kw\">protected</span> "); } else if (member.IsPublic) { w.Write("<span class=\"c-kw\">public</span> "); } if (member.IsStatic) { w.Write("<span class=\"c-kw\">static</span> "); } } var id = member.GetXmlName(); var href = GetHref(member, framework, linkToCode); if (member.IsConstructor) { w.Write($"<a {href} id=\"{id}\" class=\"c-cd\">"); var name = member.DeclaringType.Name; var ni = name.LastIndexOf('`'); if (ni > 0) { name = name.Substring(0, ni); } WriteEncoded(name, w); } else { if (!member.DeclaringType.IsInterface) { if (member.IsAbstract) { w.Write("<span class=\"c-kw\">abstract</span> "); } else if (member.IsVirtual) { if (member.IsReuseSlot) { w.Write("<span class=\"c-kw\">override</span> "); } else if (!member.IsFinal) { w.Write("<span class=\"c-kw\">virtual</span> "); } } } WriteReferenceHtml(member.ReturnType, w, framework); w.Write($" <a {href} id=\"{id}\" class=\"c-md\">"); WriteEncoded(member.Name, w); } w.Write("</a>"); var head = ""; if (member.HasGenericParameters) { w.Write("<"); head = ""; foreach (var p in member.GenericParameters) { w.Write(head); WriteReferenceHtml(p, w, framework); head = ", "; } w.Write(">"); } w.Write("("); head = ""; foreach (var p in member.Parameters) { w.Write(head); WriteReferenceHtml(p.ParameterType, w, framework, p.IsOut); w.Write(" <span class=\"c-ar\">"); WriteEncoded(p.Name, w); w.Write("</span>"); if (p.HasConstant) { w.Write(" = "); TypeDocumentation.WritePrimitiveHtml(p.Constant, w); } head = ", "; } w.Write(")"); }
public static void WritePrototypeHtml(this MethodDefinition member, TextWriter w, PackageTargetFramework framework, MemberXmlDocs docs, bool linkToCode, bool inExtensionClass) { if (!member.DeclaringType.IsInterface) { if (member.IsFamily || member.IsFamilyOrAssembly) { w.Write("<span class=\"c-kw\">protected</span> "); } else if (member.IsPublic) { w.Write("<span class=\"c-kw\">public</span> "); } if (member.IsStatic) { w.Write("<span class=\"c-kw\">static</span> "); } } var id = member.GetXmlName(); var href = GetHref(member, framework, linkToCode); if (member.IsConstructor) { w.Write($"<a {href} id=\"{id}\" class=\"c-cd\">"); var name = member.DeclaringType.Name; var ni = name.LastIndexOf('`'); if (ni > 0) { name = name.Substring(0, ni); } WriteEncoded(name, w); } else { if (!member.DeclaringType.IsInterface) { if (member.IsAbstract) { w.Write("<span class=\"c-kw\">abstract</span> "); } else if (member.IsVirtual) { if (member.IsReuseSlot) { w.Write("<span class=\"c-kw\">override</span> "); } else if (!member.IsFinal) { w.Write("<span class=\"c-kw\">virtual</span> "); } } } WriteReferenceHtml(member.ReturnType, w, framework); w.Write($" <a {href} id=\"{id}\" class=\"c-md\">"); WriteEncoded(member.Name, w); } w.Write("</a>"); var head = ""; if (member.HasGenericParameters) { WriteGenericParameterListHtml(member.GenericParameters, w, framework, docs); } w.Write("("); head = ""; bool isExtensionMethod = inExtensionClass && member.HasExtensionAttribute(); foreach (var p in member.Parameters) { w.Write(head); WriteReferenceHtml(p.ParameterType, w, framework, p.IsOut, isExtensionMethod); w.Write(" <span class=\"c-ar\" title=\""); WriteEncoded(docs != null && docs.ParametersText.TryGetValue(p.Name, out var paramText) ? paramText : string.Empty, w); w.Write("\">"); WriteEncoded(p.Name, w); w.Write("</span>"); if (p.HasConstant) { w.Write(" = "); var constant = p.Constant; if (constant == null && p.ParameterType.IsValueType) { w.Write("<span class=\"c-nl\">default</span>"); } else { TypeDocumentation.WritePrimitiveHtml(constant, w); } } head = ", "; isExtensionMethod = false; } w.Write(")"); if (member.HasGenericParameters) { WriteGenericConstraintsHtml(member.GenericParameters, w, framework); } }