public IEnumerable <String> TypeBrief(TypeDef t) { var ts = TypeSpec.CreateTypeRef(new TypeRef { Name = t.Name(), Version = t.Version() }); var MetaType = GetMetaType(t); var Description = t.Description(); yield return("<tr>"); foreach (var _Line in Combine(Combine(Combine(Begin(), " <td>"), GetTypeString(ts, false)), "</td>")) { yield return(_Line); } foreach (var _Line in Combine(Combine(Combine(Begin(), " <td>"), GetEscaped(MetaType)), "</td>")) { yield return(_Line); } foreach (var _Line in Combine(Combine(Combine(Begin(), " <td><pre>"), GetEscaped(Description)), "</pre></td>")) { yield return(_Line); } yield return("</tr>"); }
public IEnumerable <String> Type(TypeDef t) { var Name = t.VersionedName(); var MetaType = GetMetaType(t); var GenericParameters = t.GenericParameters(); var Description = t.Description(); foreach (var _Line in Combine(Combine(Combine(Combine(Combine(Combine(Combine(Begin(), "<h3 id=\""), GetEscaped(Name)), "\">"), GetEscaped(MetaType)), " "), GetEscaped(Name)), "</h3>")) { yield return(_Line); } foreach (var _Line in Combine(Combine(Combine(Begin(), "<pre>"), GetEscaped(Description)), "</pre>")) { yield return(_Line); } if (GenericParameters.Count > 0) { yield return("<table>"); foreach (var gp in GenericParameters) { foreach (var _Line in Combine(Begin(), Variable("'" + gp.Name, gp.Type, gp.Description))) { yield return(_Line == "" ? "" : " " + _Line); } } yield return("</table>"); } if (t.OnPrimitive) { } else if (t.OnAlias) { var TypeSpec = GetTypeString(t.Alias.Type, true); foreach (var _Line in Combine(Combine(Combine(Begin(), "<pre>类型:"), TypeSpec), "</pre>")) { yield return(_Line); } } else if (t.OnRecord) { yield return("<table>"); foreach (var _Line in Combine(Combine(Begin(), " "), Variables(t.Record.Fields))) { yield return(_Line); } yield return("</table>"); } else if (t.OnTaggedUnion) { yield return("<table>"); foreach (var _Line in Combine(Combine(Begin(), " "), Variables(t.TaggedUnion.Alternatives))) { yield return(_Line); } yield return("</table>"); } else if (t.OnEnum) { yield return("<table>"); foreach (var _Line in Combine(Combine(Begin(), " "), Literals(t.Enum.Literals))) { yield return(_Line); } yield return("</table>"); } else if (t.OnClientCommand) { yield return("<div><pre>参数</pre></div>"); yield return("<table>"); foreach (var _Line in Combine(Combine(Begin(), " "), Variables(t.ClientCommand.OutParameters))) { yield return(_Line); } yield return("</table>"); yield return("<div><pre>返回值</pre></div>"); yield return("<table>"); foreach (var _Line in Combine(Combine(Begin(), " "), Variables(t.ClientCommand.InParameters))) { yield return(_Line); } yield return("</table>"); } else if (t.OnServerCommand) { yield return("<table>"); foreach (var _Line in Combine(Combine(Begin(), " "), Variables(t.ServerCommand.OutParameters))) { yield return(_Line); } yield return("</table>"); } else { throw new InvalidOperationException(); } yield return("<pre></pre>"); }