void Emit(LS1Type t, LS1TypeMember tm, LS1TypeMemberForm form)
        {
            string useDescription = string.Empty;

            if (!string.IsNullOrEmpty(form.Description))
            {
                useDescription = ": " + form.Description;
            }

            string useType = "???";

            if (!string.IsNullOrEmpty(form.Type))
            {
                useType = string.Format("[{0}](#type-{0})", form.Type);
            }

            if (form.Parameters == null || form.Parameters.Count == 0)
            {
                EmitLine(string.Format("- {2} `{1}`{3}", t.Name, tm.Name, useType, useDescription));
            }
            else
            {
                string parameters = string.Empty;

                foreach (LS1Parameter p in form.Parameters)
                {
                    if (parameters.Length > 0)
                    {
                        parameters += " `,` ";
                    }
                    parameters += EmitDeclaration(p, " `,` ", false);
                }

                EmitLine(string.Format("- {2} `{1}[` {3} `]`{4}", t.Name, tm.Name, useType, parameters, useDescription));
            }

            if (tm.Restricted)
            {
                EmitLine("  - Restricted: Yes");
            }
#if MINIMUM_BUILD
            if (form.MinimumBuild > 0)
            {
                EmitLine(string.Format("  - Minimum Build: {0}", form.MinimumBuild));
            }
#endif
        }
        void Emit(LS1Type t, LS1TypeMember tm)
        {
            if (HideRestricted && tm.Restricted)
            {
                return;
            }

            if (tm.Forms != null && tm.Forms.Count > 0)
            {
                foreach (LS1TypeMemberForm tif in tm.Forms)
                {
                    Emit(t, tm, tif);
                }
            }
            else
            {
                EmitLine(string.Format("- ??? `{1}[`???`]`", t.Name, tm.Name));
                if (tm.Restricted)
                {
                    EmitLine("  - Restricted: Yes");
                }
            }
        }