diff options
Diffstat (limited to 'mdoc')
66 files changed, 4603 insertions, 90 deletions
diff --git a/mdoc/Consts.cs b/mdoc/Consts.cs index 54e7b8a4..56066648 100644 --- a/mdoc/Consts.cs +++ b/mdoc/Consts.cs @@ -10,6 +10,8 @@ namespace Mono.Documentation public const string VbNetLowCase = "vb.net"; public const string FSharp = "F#"; public const string FSharpLowCase = "f#"; + public const string Javascript = "JavaScript"; + public const string JavascriptLowCase = "javascript"; public const string Tab = " "; public const string DependencyPropertyFullName = "System.Windows.DependencyProperty"; diff --git a/mdoc/Makefile b/mdoc/Makefile index 28c178d8..cfa1fb2b 100644 --- a/mdoc/Makefile +++ b/mdoc/Makefile @@ -187,6 +187,12 @@ check-monodocer-vbnet2: $(MONO) $(PROGRAM) update -lang vb.net -o Test/en.actual Test/DocTest.dll $(DIFF) Test/en.expected-vbnet2 Test/en.actual +check-monodocer-javascript: + -rm -Rf Test/en.actual + $(MAKE) Test/DocTest.dll-v1 + $(MONO) $(PROGRAM) update -lang javascript -o Test/en.actual Test/DocTest.dll + $(DIFF) Test/en.expected-javascript Test/en.actual + check-monodocer-addNonGeneric: -rm -Rf Test/en.actual # first, make a docset with the generic method @@ -582,6 +588,7 @@ check-doc-tools: check-monodocer-since \ check-overwrite-attribute \ check-monodocer-vbnet \ check-monodocer-vbnet2 \ + check-monodocer-javascript \ check-monodocer-frameworks-with-nuget\ check-monodocer-fsharp \ check-monodocer-attached-entities \ diff --git a/mdoc/Mono.Documentation/MDocUpdater.cs b/mdoc/Mono.Documentation/MDocUpdater.cs index 40c3049e..2dde2be9 100644 --- a/mdoc/Mono.Documentation/MDocUpdater.cs +++ b/mdoc/Mono.Documentation/MDocUpdater.cs @@ -9,7 +9,7 @@ using System.Text; using System.Xml; using System.Xml.Linq; using System.Xml.XPath; - +using mdoc.Mono.Documentation.Updater.Formatters; using Mono.Cecil; using Mono.Documentation.Updater; using Mono.Documentation.Updater.Frameworks; @@ -405,6 +405,10 @@ namespace Mono.Documentation typeFormatter = new FSharpMemberFormatter(); memberFormatter = new FSharpFullMemberFormatter(); break; + case Consts.JavascriptLowCase: + typeFormatter = new JsMemberFormatter(); + memberFormatter = new JsMemberFormatter(); + break; default: throw new ArgumentException("Unsupported formatter id '" + langId + "'."); } @@ -1524,7 +1528,9 @@ namespace Mono.Documentation statisticsCollector.AddMetric (typeEntry.Framework.Name, StatisticsItem.Members, StatisticsMetrics.Added); memberSet.Add (m.FullName); - Console.WriteLine ("Member Added: " + mm.SelectSingleNode ("MemberSignature/@Value").InnerText); + var node = mm.SelectSingleNode("MemberSignature/@Value") ?? + mm.SelectSingleNode("MemberSignature/@Usage"); + Console.WriteLine ("Member Added: " + node.InnerText); additions++; } } @@ -1837,21 +1843,7 @@ namespace Mono.Documentation foreach (MemberFormatter f in typeFormatters) { - string element = "TypeSignature[@Language='" + f.Language + "']"; - string valueToUse = f.GetDeclaration (type); - if (valueToUse == null) - continue; - AddXmlNode ( - root.SelectNodes (element).Cast<XmlElement> ().ToArray (), - x => x.GetAttribute ("Value") == valueToUse, - x => x.SetAttribute ("Value", valueToUse), - () => - { - var node = WriteElementAttribute (root, element, "Language", f.Language, forceNewElement: true); - var newnode = WriteElementAttribute (root, node, "Value", valueToUse); - return newnode; - }, - type); + UpdateSignature(f, type, root); } AddAssemblyNameToNode (root, type); @@ -2075,27 +2067,7 @@ namespace Mono.Documentation typeEntry.ProcessMember (mi); foreach (MemberFormatter f in memberFormatters) { - string element = "MemberSignature[@Language='" + f.Language + "']"; - - var valueToUse = f.GetDeclaration (mi); - if (valueToUse == null) - continue; - AddXmlNode ( - me.SelectNodes (element).Cast<XmlElement> ().ToArray (), - x => x.GetAttribute ("Value") == valueToUse, - x => x.SetAttribute ("Value", valueToUse), - () => - { - var node = WriteElementAttribute (me, element, "Language", f.Language, forceNewElement: true); - node = WriteElementAttribute (me, node, "Value", valueToUse); - var usageSample = f.UsageFormatter?.GetDeclaration(mi); - if (usageSample != null) - { - node = WriteElementAttribute(me, node, "Usage", usageSample); - } - return node; - }, - mi); + UpdateSignature(f, mi, me); } WriteElementText (me, "MemberType", GetMemberType (mi)); @@ -2136,8 +2108,85 @@ namespace Mono.Documentation MakeDocNode (info, typeEntry.Framework.Importers); OrderMemberNodes (me, me.ChildNodes); UpdateExtensionMethods (me, info); - }
-
+ } + + private static void UpdateSignature(MemberFormatter formatter, TypeDefinition type, XmlElement xmlElement) + { + var usageSample = formatter.UsageFormatter?.GetDeclaration(type); + var valueToUse = formatter.GetDeclaration (type); + if (valueToUse == null && usageSample == null) + return; + + string elementXPath = "TypeSignature[@Language='" + formatter.Language + "']"; + GetUpdateXmlMethods(formatter, xmlElement, elementXPath, valueToUse, usageSample, + out var valueMatches, + out var setValue, + out var makeNewNode); + + AddXmlNode( + xmlElement.SelectNodes (elementXPath).Cast<XmlElement> ().ToArray (), + valueMatches, + setValue, + makeNewNode, + type); + } + + private static void UpdateSignature(MemberFormatter formatter, MemberReference member, XmlElement xmlElement) + { + var valueToUse = formatter.GetDeclaration(member); + var usageSample = formatter.UsageFormatter?.GetDeclaration(member); + if (valueToUse == null && usageSample == null) + return; + + string elementXPath = "MemberSignature[@Language='" + formatter.Language + "']"; + GetUpdateXmlMethods(formatter, xmlElement, elementXPath, valueToUse, usageSample, + out var valueMatches, + out var setValue, + out var makeNewNode); + + AddXmlNode( + xmlElement.SelectNodes(elementXPath).Cast<XmlElement>().ToArray(), + valueMatches, + setValue, + makeNewNode, + member); + } + + private static void GetUpdateXmlMethods(MemberFormatter formatter, XmlElement xmlElement, string elementXPath, string valueToUse, + string usageSample, out Func<XmlElement, bool> valueMatches, out Action<XmlElement> setValue, out Func<XmlElement> makeNewNode) + { + valueMatches = x => + x.GetAttribute("Value") == valueToUse + && (string.IsNullOrEmpty(x.GetAttribute("Usage")) || x.GetAttribute("Usage") == usageSample); + + setValue = x => + { + if (valueToUse != null) + { + x.SetAttribute("Value", valueToUse); + } + if (usageSample != null) + { + x.SetAttribute("Usage", usageSample); + } + }; + + makeNewNode = () => + { + var node = WriteElementAttribute(xmlElement, elementXPath, "Language", formatter.Language, forceNewElement: true); + if (valueToUse != null) + { + node = WriteElementAttribute(xmlElement, node, "Value", valueToUse); + } + if (usageSample != null) + { + node = WriteElementAttribute(xmlElement, node, "Usage", usageSample); + } + return node; + }; + } + + private static void AddImplementedMembers(MemberReference mi, Dictionary<string, List<MemberReference>> allImplementedMembers, XmlElement root) { bool isExplicitlyImplemented = DocUtils.IsExplicitlyImplemented(mi); diff --git a/mdoc/Mono.Documentation/Updater/DocUtils.cs b/mdoc/Mono.Documentation/Updater/DocUtils.cs index 8c30decd..b6eabffe 100644 --- a/mdoc/Mono.Documentation/Updater/DocUtils.cs +++ b/mdoc/Mono.Documentation/Updater/DocUtils.cs @@ -568,5 +568,18 @@ namespace Mono.Documentation.Updater return null;
}
+
+ public static bool IsDestructor(MethodDefinition method)
+ {
+ return method.IsFamily
+ && method.Name == "Finalize"
+ && method.Overrides.Count == 1
+ && method.Overrides[0].DeclaringType.FullName == "System.Object";
+ }
+
+ public static bool IsOperator(MethodReference method)
+ {
+ return method.Name.StartsWith("op_", StringComparison.Ordinal);
+ }
}
}
\ No newline at end of file diff --git a/mdoc/Mono.Documentation/Updater/Formatters/DocTypeFullMemberFormatter.cs b/mdoc/Mono.Documentation/Updater/Formatters/DocTypeFullMemberFormatter.cs index 087b9bb8..53f78567 100644 --- a/mdoc/Mono.Documentation/Updater/Formatters/DocTypeFullMemberFormatter.cs +++ b/mdoc/Mono.Documentation/Updater/Formatters/DocTypeFullMemberFormatter.cs @@ -4,9 +4,9 @@ { public static readonly MemberFormatter Default = new DocTypeFullMemberFormatter (); - protected override char NestedTypeSeparator + protected override string NestedTypeSeparator { - get { return '+'; } + get { return "+"; } } } }
\ No newline at end of file diff --git a/mdoc/Mono.Documentation/Updater/Formatters/FSharpFormatter.cs b/mdoc/Mono.Documentation/Updater/Formatters/FSharpFormatter.cs index e07e15f4..55c295e5 100644 --- a/mdoc/Mono.Documentation/Updater/Formatters/FSharpFormatter.cs +++ b/mdoc/Mono.Documentation/Updater/Formatters/FSharpFormatter.cs @@ -301,7 +301,7 @@ namespace Mono.Documentation.Updater return "class"; } - protected override StringBuilder AppendGenericType(StringBuilder buf, TypeReference type, DynamicParserContext context) + protected override StringBuilder AppendGenericType(StringBuilder buf, TypeReference type, DynamicParserContext context, bool appendGeneric = true) { List<TypeReference> decls = DocUtils.GetDeclaringTypes( type is GenericInstanceType ? type.GetElementType() : type); @@ -463,11 +463,6 @@ namespace Mono.Documentation.Updater protected override string GetMethodDeclaration(MethodDefinition method) { - if (method.HasCustomAttributes && method.CustomAttributes.Any( - ca => ca.GetDeclaringType() == "System.Diagnostics.Contracts.ContractInvariantMethodAttribute" - || ca.GetDeclaringType() == "System.Runtime.CompilerServices.CompilerGeneratedAttribute")) - return null; - var visibilityBuf = new StringBuilder(); if (AppendVisibility(visibilityBuf, method) == null) return null; @@ -989,6 +984,7 @@ namespace Mono.Documentation.Updater { return false; } + return true; } @@ -1005,6 +1001,17 @@ namespace Mono.Documentation.Updater } return false; } + switch (mref) + { + case MethodDefinition method: + return !(method.HasCustomAttributes && method.CustomAttributes.Any( + ca => ca.GetDeclaringType() == + "System.Diagnostics.Contracts.ContractInvariantMethodAttribute" + || ca.GetDeclaringType() == + "System.Runtime.CompilerServices.CompilerGeneratedAttribute")) + && AppendVisibility(new StringBuilder(), method) != null; + } + return true; } #endregion diff --git a/mdoc/Mono.Documentation/Updater/Formatters/FSharpUsageFormatter.cs b/mdoc/Mono.Documentation/Updater/Formatters/FSharpUsageFormatter.cs index 3bc076b0..c6992b21 100644 --- a/mdoc/Mono.Documentation/Updater/Formatters/FSharpUsageFormatter.cs +++ b/mdoc/Mono.Documentation/Updater/Formatters/FSharpUsageFormatter.cs @@ -124,11 +124,6 @@ namespace Mono.Documentation.Updater return buf.ToString(); } - private static string CamelCase(string name) - { - return Char.ToLowerInvariant(name[0]) + name.Substring(1); - } - private void AppendTupleUsage(StringBuilder buf, List<string> parameters) { if (parameters.Count == 0) @@ -172,5 +167,7 @@ namespace Mono.Documentation.Updater { return $"{GetName(field.DeclaringType)}.{field.Name}"; } + + public override bool IsSupported(TypeReference tref) => false; } }
\ No newline at end of file diff --git a/mdoc/Mono.Documentation/Updater/Formatters/FileNameMemberFormatter.cs b/mdoc/Mono.Documentation/Updater/Formatters/FileNameMemberFormatter.cs index 8fb7a54b..3e0e99c9 100644 --- a/mdoc/Mono.Documentation/Updater/Formatters/FileNameMemberFormatter.cs +++ b/mdoc/Mono.Documentation/Updater/Formatters/FileNameMemberFormatter.cs @@ -11,9 +11,9 @@ namespace Mono.Documentation.Updater return buf; } - protected override char NestedTypeSeparator + protected override string NestedTypeSeparator { - get { return '+'; } + get { return "+"; } } } }
\ No newline at end of file diff --git a/mdoc/Mono.Documentation/Updater/Formatters/ILFullMemberFormatter.cs b/mdoc/Mono.Documentation/Updater/Formatters/ILFullMemberFormatter.cs index f0887c76..9bb44c14 100644 --- a/mdoc/Mono.Documentation/Updater/Formatters/ILFullMemberFormatter.cs +++ b/mdoc/Mono.Documentation/Updater/Formatters/ILFullMemberFormatter.cs @@ -18,11 +18,11 @@ namespace Mono.Documentation.Updater get { return "ILAsm"; } } - protected override char NestedTypeSeparator + protected override string NestedTypeSeparator { get { - return '/'; + return "/"; } } @@ -185,7 +185,7 @@ namespace Mono.Documentation.Updater return buf.ToString (); } - protected override StringBuilder AppendGenericType (StringBuilder buf, TypeReference type, DynamicParserContext context) + protected override StringBuilder AppendGenericType (StringBuilder buf, TypeReference type, DynamicParserContext context, bool appendGeneric = true) { List<TypeReference> decls = DocUtils.GetDeclaringTypes ( type is GenericInstanceType ? type.GetElementType () : type); diff --git a/mdoc/Mono.Documentation/Updater/Formatters/JsFormatter.cs b/mdoc/Mono.Documentation/Updater/Formatters/JsFormatter.cs new file mode 100644 index 00000000..0781cd58 --- /dev/null +++ b/mdoc/Mono.Documentation/Updater/Formatters/JsFormatter.cs @@ -0,0 +1,169 @@ +using System.Collections.Generic; +using System.Linq; +using System.Text; +using Mono.Cecil; +using Mono.Cecil.Rocks; +using Mono.Collections.Generic; +using Mono.Documentation.Updater; +using Mono.Documentation.Util; + +namespace mdoc.Mono.Documentation.Updater.Formatters +{ + public class JsFormatter : MemberFormatter + { + // For the V1 Pri1 implementation, we will not implement custom “retrievers”. + // If a non-static class doesn’t have a public constructor + // (in other words, it is not possible to automatically determine the call to instantiate an instance of the class), + // the Javascript syntax should either: + // + // show a standard disclaimer such as: + // “This class does not provide a public constructor” or + // “See the remarks section for information on obtaining an instance of this class” + // Give a degenerate declarative syntax, such as simply: “Windows.System.FolderLauncherOptions” for the FolderLauncherOptions class. + // The specific solution to use here is still TBD. If you’re blocked, pick A1 for now. + // We will investigate whether a Pri 2 feature to modify the syntax block with custom syntax is necessary. + public override bool IsSupported(TypeReference tref) + { + var type = tref.Resolve(); + + if (type == null + || type.IsAbstract + || type.IsInterface// Interfaces: You cannot implement a Windows Runtime interface in JavaScript. + || type.HasGenericParameters + || !IsSupported(type.CustomAttributes) + || type.DeclaringType != null)//WinRT type can not be nested + { + return false; + } + + if (type.IsEnum || + type.IsValueType || + DocUtils.IsDelegate(type)) + { + if (type.IsEnum && !IsEnumSupported(type)) return false; + + return true; + } + + // Windows Runtime types cannot have multiple constructors with same number of arguments + var publicConstructors = type.GetConstructors().Where(i => i.IsPublic).ToList(); + if (!publicConstructors.Any()) + return false; + + var constructorsWithEqualNumberOfArguments = publicConstructors.GroupBy(x => x.Parameters.Count) + .Where(g => g.Count() > 1) + .Select(y => y.Key) + .ToList(); + + return constructorsWithEqualNumberOfArguments.Count == 0; + } + + protected virtual bool IsEnumSupported(TypeDefinition type) + { + return type.GetMembers().Skip(1).Any();//skip "__value element" + } + + public override bool IsSupported(MemberReference mref) + { + switch (mref) + { + case PropertyDefinition propertyDefinition: + if (!IsPropertySupported(propertyDefinition)) + return false; + break; + case MethodDefinition methodDefinition: + if (!IsMethodSupported(methodDefinition)) + return false; + break; + case FieldDefinition _: + return false;// In WinRT fields can be exposed only by structures. + case AttachedEventDefinition _: + return false; + case AttachedPropertyDefinition _: + return false; + } + + var member = mref.Resolve(); + return member != null + && !member.DeclaringType.HasGenericParameters + && !(mref is IGenericParameterProvider genericParameterProvider && genericParameterProvider.HasGenericParameters) + && !(mref is IMethodSignature methodSignature && methodSignature.Parameters.Any(i => i.ParameterType is GenericParameter)) + && mref.DeclaringType.DeclaringType == null//WinRT type can not be nested + && IsSupported(member.CustomAttributes); + } + + private bool IsMethodSupported(MethodDefinition methodDefinition) + { + bool isDestructor = DocUtils.IsDestructor(methodDefinition); + return + !DocUtils.IsOperator(methodDefinition) + && (!isDestructor || methodDefinition.DeclaringType.Interfaces.Any(i => i.InterfaceType.FullName == "Windows.Foundation.IClosable")) + && methodDefinition.Parameters.All(i => IsSupported(i.CustomAttributes) && !(i.ParameterType is ByReferenceType)) + && IsSupported(methodDefinition.MethodReturnType.CustomAttributes); + } + + // How to determine if an API supports JavaScript + // Use the WebHostHidden attribute. If WebHostHidden is present, the API doesn’t support JavaScript. + // None of the APIs in the “XAML” namespaces support JavaScript. + protected bool IsSupported(Collection<CustomAttribute> memberCustomAttributes) + { + return + memberCustomAttributes.All( + i => i.AttributeType.FullName != "Windows.Foundation.Metadata.WebHostHiddenAttribute"); + } + + protected virtual bool IsPropertySupported(PropertyDefinition property) + { + bool getVisible = property.GetMethod != null && property.GetMethod.IsPublic; + bool setVisible = property.SetMethod != null && property.SetMethod.IsPublic; + if (!setVisible && !getVisible) + return false; + + IEnumerable<MemberReference> defs = property.DeclaringType.GetDefaultMembers(); + foreach (MemberReference mi in defs) + { + if (mi == property) + { + return false; + } + } + return property.Parameters.Count == 0; + } + + protected override StringBuilder AppendParameters(StringBuilder buf, MethodDefinition method, IList<ParameterDefinition> parameters) + { + return buf.Append(string.Join(", ", parameters.Select(i => i.Name))); + } + + protected MethodDefinition GetConstructor(TypeDefinition type) + { + return type.GetConstructors() + .Where(i => i.IsPublic) + .OrderByDescending(i => i.Parameters.Count) + .First(); + } + + protected override string GetMethodName(MethodReference method) + { + if (DocUtils.IsDestructor(method.Resolve())) + return "Close"; + return CamelCase(method.Name); + } + + protected override string GetTypeName(TypeReference type, DynamicParserContext context, bool appendGeneric = true) + { + int n = type.Name.IndexOf("`"); + if (n >= 0) + return type.Name.Substring(0, n); + return type.Name; + } + + protected string ProcessFullName(string fullName) + { + int n = fullName.IndexOf("`"); + if (n >= 0) + return fullName.Substring(0, n); + return fullName; + } + } +}
\ No newline at end of file diff --git a/mdoc/Mono.Documentation/Updater/Formatters/JsMemberFormatter.cs b/mdoc/Mono.Documentation/Updater/Formatters/JsMemberFormatter.cs new file mode 100644 index 00000000..b3c1b97b --- /dev/null +++ b/mdoc/Mono.Documentation/Updater/Formatters/JsMemberFormatter.cs @@ -0,0 +1,80 @@ +using System.Text; +using Mono.Cecil; +using Mono.Documentation; +using Mono.Documentation.Updater; + +namespace mdoc.Mono.Documentation.Updater.Formatters +{ + public class JsMemberFormatter : JsFormatter + { + public override string Language => Consts.Javascript; + + private readonly MemberFormatter usageFormatter = new JsUsageFormatter(); + public override MemberFormatter UsageFormatter => usageFormatter; + + protected override string GetMethodDeclaration(MethodDefinition method) + { + var buf = new StringBuilder(); + + buf.Append("function "); + buf.Append(GetMethodName(method)); + buf.Append("("); + AppendParameters(buf, method, method.Parameters); + buf.Append(")"); + + return buf.ToString(); + } + + protected override string GetTypeDeclaration(TypeDefinition type) + { + // What version of ES/JS is supported? For example, we need to know what kind of syntax to use to declare a type + // [RP] This depends on your target platform. + // In UWP, it’s the same “version” of ES that is currently supported by the Edge browser. + // For Windows 8.0, this was IE10, and for Windows 8.1, this was IE11. + // Since Windows 10 and Edge, the browser has been evergreen, and is well into the ES2015+ versions. + + var publicConstructor = GetConstructor(type); + return GetDeclaration(publicConstructor); + } + + protected override string GetConstructorDeclaration(MethodDefinition constructor) + { + + var buf = new StringBuilder(); + + buf.Append("function "); + AppendTypeName(buf, constructor.DeclaringType.Name); + buf.Append("("); + AppendParameters(buf, constructor, constructor.Parameters); + buf.Append(")"); + + return buf.ToString(); + } + + public override bool IsSupported(MemberReference mref) + { + switch (mref) + { + case PropertyDefinition _: + return false; + case EventDefinition _: + return false; + } + return base.IsSupported(mref); + } + + public override bool IsSupported(TypeReference tref) + { + var type = tref.Resolve(); + if (type == null) + return false; + + if (type.IsEnum || + type.IsValueType || + DocUtils.IsDelegate(type)) + return false; + + return base.IsSupported(tref); + } + } +}
\ No newline at end of file diff --git a/mdoc/Mono.Documentation/Updater/Formatters/JsUsageFormatter.cs b/mdoc/Mono.Documentation/Updater/Formatters/JsUsageFormatter.cs new file mode 100644 index 00000000..fb5040b4 --- /dev/null +++ b/mdoc/Mono.Documentation/Updater/Formatters/JsUsageFormatter.cs @@ -0,0 +1,246 @@ +using System.Linq; +using System.Text; +using Mono.Cecil; +using Mono.Documentation; +using Mono.Documentation.Updater; +using Mono.Documentation.Util; + +namespace mdoc.Mono.Documentation.Updater.Formatters +{ + public class JsUsageFormatter : JsFormatter + { + public override string Language => "JavaScript (usage)"; + + protected override string GetPropertyDeclaration(PropertyDefinition property) + { + bool getVisible = property.GetMethod != null && property.GetMethod.IsPublic; + bool setVisible = property.SetMethod != null && property.SetMethod.IsPublic; + var method = property.SetMethod ?? property.GetMethod; + + // https://github.com/mono/api-doc-tools/issues/133 + // var [property value type, camel-cased] = [typename, camel-cased].[property name, camel-cased]; + // [typename, camel-cased].[property name, camel-cased] = [property value type, camel-cased]; + // Static properties + // var [property value type, camel-cased] = [typename].[property name, camel-cased]; + // [typename].[property name, camel-cased] = [property value type, camel-cased]; + var buf = new StringBuilder(); + var propertyValueType = CamelCase(GetName(property.PropertyType)); + var propertyName = DocUtils.GetPropertyName(property); + var propertyNameCamelCased = CamelCase(propertyName); + var typeName = GetName(property.DeclaringType); + if (!method.IsStatic) + typeName = CamelCase(typeName); + + if (getVisible) + { + buf.Append("var "); + buf.Append(propertyValueType); + buf.Append(" = "); + buf.Append(typeName); + buf.Append("."); + buf.Append(propertyNameCamelCased); + buf.Append(";"); + } + + if (setVisible) + { + if (getVisible) + buf.Append(GetLineEnding()); + + buf.Append(typeName); + buf.Append("."); + buf.Append(propertyNameCamelCased); + buf.Append(" = "); + buf.Append(propertyValueType); + buf.Append(";"); + } + return buf.ToString(); + } + + protected override string GetTypeDeclaration(TypeDefinition type) + { + var buf = new StringBuilder(); + + if (type.IsEnum) + { + // var value = [fully qualified type].[camel-cased name of first enum value]; + var firstElement = type.GetMembers().Skip(1).First();//skip "__value element" + + buf.Append("var value = "); + buf.Append(ProcessFullName(type.FullName)); + buf.Append("."); + buf.Append(CamelCase(firstElement.Name)); + return buf.ToString(); + } + if (type.IsValueType) + { + //Structures: Windows Runtime structures are objects in JavaScript. + // If you want to pass a Windows Runtime structure to a Windows Runtime method, + // don't instantiate the structure with the new keyword. Instead, create an object + // and add the relevant members and their values. The names of the members should be in camel case: + // SomeStruct.firstMember. + + // var [struct name, camel cased] = { + // [fieldname, came cased] : /* Your value */ + buf.Append("var "); + buf.Append(CamelCase(GetName(type))); + buf.Append(" = {"); + buf.Append(GetLineEnding()); + buf.Append(string.Join("," + GetLineEnding(), + type.Fields.Select(i => CamelCase(i.Name) + " : /* Your value */"))); + buf.Append(GetLineEnding()); + buf.Append("}"); + return buf.ToString(); + } + if (DocUtils.IsDelegate(type)) + { + // var [delegateName, camel-cased]Handler = function([parameter name list, camel cased]){ + // /* Your code */ + // } + MethodDefinition invoke = type.GetMethod("Invoke"); + buf.Append("var "); + buf.Append(CamelCase(GetName(type))); + buf.Append("Handler = function("); + AppendParameters(buf, invoke, invoke.Parameters); + buf.Append("){"); + buf.Append(GetLineEnding()); + buf.Append("/* Your code */"); + buf.Append(GetLineEnding()); + buf.Append("}"); + return buf.ToString(); + } + + var publicConstructor = GetConstructor(type); + return GetDeclaration(publicConstructor); + } + + protected override string GetMethodDeclaration(MethodDefinition method) + { + var buf = new StringBuilder(); + + if (IsAsync(method)) + { + // Async Methods + // (For static methods, use the fully-qualified class name. For non-static, + // use the class name without qualification and camel-cased.) + // [fully qualified type name].[camel-cased method name]([parameter names]).done( /* Your success and error handlers */ ); + var typeName = CamelCase(GetName(method.DeclaringType)); + if (method.IsStatic) + typeName = ProcessFullName(method.DeclaringType.FullName); + + buf.Append(typeName); + buf.Append("."); + buf.Append(GetMethodName(method)); + buf.Append("("); + AppendParameters(buf, method, method.Parameters); + buf.Append(").done( /* Your success and error handlers */ )"); + + return buf.ToString(); + } + + // For static and non-static method generate different signatures: + // 1) Non-static + // Usage (not void) + // var [return type, camel-cased] = [class-name, camel-cased].[method-name, camel-cased]([parameter name list]); + // Usage (void) + // [class-name, camel-cased].[method-name, camel cased]([parameter name list]); + // 2) Static + // Usage (not void) + // var [return type, camel-cased] = [fully-qualified class-name].[method-name, camel-cased]([parameter n + // Usage (void) + // [fully-qualified class name].[method-name, camel cased]([parameter name list]); + if (method.ReturnType != null && ProcessFullName(method.ReturnType.FullName) != Consts.VoidFullName) + { + buf.Append("var "); + buf.Append(CamelCase(GetName(method.ReturnType))); + buf.Append(" = "); + } + var className = method.IsStatic ? ProcessFullName(method.DeclaringType.FullName) : CamelCase(GetName(method.DeclaringType)); + buf.Append(className); + buf.Append("."); + buf.Append(CamelCase(method.Name)); + buf.Append("("); + AppendParameters(buf, method, method.Parameters); + buf.Append(")"); + + return buf.ToString(); + } + + protected override string GetConstructorDeclaration(MethodDefinition constructor) + { + var buf = new StringBuilder(); + + var typeName = GetName(constructor.DeclaringType); + buf.Append("var "); + buf.Append(CamelCase(typeName)); + buf.Append(" = new "); + buf.Append(typeName); + buf.Append("("); + AppendParameters(buf, constructor, constructor.Parameters); + buf.Append(");"); + + return buf.ToString(); + } + + private bool IsAsync(MethodDefinition method) + { + return method.CustomAttributes.Any(i => i.AttributeType.FullName == "System.Runtime.CompilerServices.AsyncStateMachineAttribute"); + } + + protected override StringBuilder AppendNamespace(StringBuilder buf, TypeReference type) + { + return buf; + } + + protected override string GetEventDeclaration(EventDefinition e) + { + // Usage: + //function on[EventName](eventArgs){/* Your code */} + //[class name, camel cased].addEventListener(“[event name, all lower-case]”, on[EventName]); + //[class name, camel cased].removeEventListener(“[event name, all lower-case]”, on[EventName]); + // If the event supports property syntax (it has a corresponding EventName property), add this: + // - or - + //[class name, camel cased].on[event name, all lower-case] = on[EventName]; + if (!e.AddMethod.IsPublic) + return null; + + var className = e.AddMethod.IsStatic ? ProcessFullName(e.DeclaringType.FullName) : CamelCase(GetName(e.DeclaringType)); + var eventName = e.Name; + var eventNameLowerCased = eventName.ToLower(); + var buf = new StringBuilder(); + buf.Append("function on"); + buf.Append(e.Name); + buf.Append("("); + buf.Append("eventArgs"); + buf.Append(") { /* Your code */ }"); + + buf.Append(GetLineEnding()); + buf.Append(className); + buf.Append(".addEventListener(\""); + buf.Append(eventNameLowerCased); + buf.Append("\", on"); + buf.Append(eventName); + buf.Append(");"); + + buf.Append(GetLineEnding()); + buf.Append(className); + buf.Append(".removeEventListener(\""); + buf.Append(eventNameLowerCased); + buf.Append("\", on"); + buf.Append(eventName); + buf.Append(");"); + + buf.Append(GetLineEnding()); + buf.Append("- or -"); + buf.Append(GetLineEnding()); + buf.Append(className); + buf.Append(".on"); + buf.Append(eventNameLowerCased); + buf.Append(" = on"); + buf.Append(eventName); + buf.Append(";"); + + return buf.ToString(); + } + } +} diff --git a/mdoc/Mono.Documentation/Updater/Formatters/MemberFormatter.cs b/mdoc/Mono.Documentation/Updater/Formatters/MemberFormatter.cs index 3bfa00d4..4df41918 100644 --- a/mdoc/Mono.Documentation/Updater/Formatters/MemberFormatter.cs +++ b/mdoc/Mono.Documentation/Updater/Formatters/MemberFormatter.cs @@ -3,9 +3,10 @@ using System.Collections.Generic; using System.Linq; using System.Text; -using Mono.Cecil; + using Mono.Documentation.Util; +using Mono.Cecil; namespace Mono.Documentation.Updater { @@ -17,16 +18,16 @@ namespace Mono.Documentation.Updater get { return ""; } } - public string GetName (MemberReference member) + public string GetName (MemberReference member, bool appendGeneric = true) { - return GetName (member, null); + return GetName (member, null, appendGeneric); } - public virtual string GetName (MemberReference member, DynamicParserContext context) + public virtual string GetName (MemberReference member, DynamicParserContext context, bool appendGeneric = true) { TypeReference type = member as TypeReference; if (type != null) - return GetTypeName (type, context); + return GetTypeName (type, context, appendGeneric); MethodReference method = member as MethodReference; if (method != null && method.Name == ".ctor") // method.IsConstructor return GetConstructorName (method); @@ -45,17 +46,17 @@ namespace Mono.Documentation.Updater (member == null ? "null" : member.GetType ().ToString ())); } - protected virtual string GetTypeName (TypeReference type) + protected virtual string GetTypeName (TypeReference type, bool appendGeneric = true) { - return GetTypeName (type, null); + return GetTypeName (type, null, appendGeneric); } - protected virtual string GetTypeName (TypeReference type, DynamicParserContext context) + protected virtual string GetTypeName (TypeReference type, DynamicParserContext context, bool appendGeneric=true) { if (type == null) throw new ArgumentNullException (nameof (type)); - var typeName = _AppendTypeName (new StringBuilder (type.Name.Length), type, context).ToString (); + var typeName = _AppendTypeName (new StringBuilder (type.Name.Length), type, context, appendGeneric).ToString (); typeName = RemoveMod (typeName); @@ -97,13 +98,20 @@ namespace Mono.Documentation.Updater protected virtual MemberFormatterState MemberFormatterState { get; set; } - protected StringBuilder _AppendTypeName (StringBuilder buf, TypeReference type, DynamicParserContext context) + protected virtual StringBuilder AppendArrayTypeName(StringBuilder buf, TypeReference type, DynamicParserContext context) + { + TypeSpecification spec = type as TypeSpecification; + _AppendTypeName(buf, spec != null ? spec.ElementType : type.GetElementType(), context); + return AppendArrayModifiers(buf, (ArrayType)type); + } + + protected StringBuilder _AppendTypeName (StringBuilder buf, TypeReference type, DynamicParserContext context, bool appendGeneric = true) { if (type is ArrayType) { - TypeSpecification spec = type as TypeSpecification; - _AppendTypeName (buf, spec != null ? spec.ElementType : type.GetElementType (), context); - return AppendArrayModifiers (buf, (ArrayType)type); + + return AppendArrayTypeName(buf, type, context); + } if (type is ByReferenceType) { @@ -124,7 +132,7 @@ namespace Mono.Documentation.Updater { return AppendFullTypeName (buf, type, context); } - return AppendGenericType (buf, type, context); + return AppendGenericType (buf, type, context, appendGeneric); } protected virtual StringBuilder AppendNamespace (StringBuilder buf, TypeReference type) @@ -195,12 +203,12 @@ namespace Mono.Documentation.Updater get { return new string[] { "<", ">" }; } } - protected virtual char NestedTypeSeparator + protected virtual string NestedTypeSeparator { - get { return '.'; } + get { return "."; } } - protected virtual StringBuilder AppendGenericType (StringBuilder buf, TypeReference type, DynamicParserContext context) + protected virtual StringBuilder AppendGenericType (StringBuilder buf, TypeReference type, DynamicParserContext context, bool appendGeneric = true) { List<TypeReference> decls = DocUtils.GetDeclaringTypes ( type is GenericInstanceType ? type.GetElementType () : type); @@ -220,7 +228,7 @@ namespace Mono.Documentation.Updater int ac = DocUtils.GetGenericArgumentCount (declDef); int c = ac - prev; prev = ac; - if (c > 0) + if ( appendGeneric && c > 0) { buf.Append (GenericTypeContainer[0]); var origState = MemberFormatterState; @@ -298,7 +306,7 @@ namespace Mono.Documentation.Updater public virtual string GetDeclaration (MemberReference mreference) { if (!IsSupported(mreference)) - return null; + return null; return GetDeclaration (mreference.Resolve ()); } @@ -428,7 +436,7 @@ namespace Mono.Documentation.Updater return GetEventName (e); } - protected virtual string GetAttachedEventDeclaration(AttachedEventDefinition e) + protected virtual string GetAttachedEventDeclaration(Mono.Documentation.Util.AttachedEventDefinition e) { return $"see Add{e.Name}Handler, and Remove{e.Name}Handler"; } @@ -442,6 +450,7 @@ namespace Mono.Documentation.Updater public virtual bool IsSupported(MemberReference mref) => true; + protected static bool IsPublicEII (EventDefinition e) { bool isPublicEII = false; @@ -464,5 +473,10 @@ namespace Mono.Documentation.Updater { return "\n"; } + + protected string CamelCase(string name) + { + return Char.ToLowerInvariant(name[0]) + name.Substring(1); + } } }
\ No newline at end of file diff --git a/mdoc/Mono.Documentation/Updater/Formatters/SlashDocMemberFormatter.cs b/mdoc/Mono.Documentation/Updater/Formatters/SlashDocMemberFormatter.cs index 54910763..e1a1bb8c 100644 --- a/mdoc/Mono.Documentation/Updater/Formatters/SlashDocMemberFormatter.cs +++ b/mdoc/Mono.Documentation/Updater/Formatters/SlashDocMemberFormatter.cs @@ -101,7 +101,7 @@ namespace Mono.Documentation.Updater return buf.Append (ArrayDelimeters[1]); } - protected override StringBuilder AppendGenericType (StringBuilder buf, TypeReference type, DynamicParserContext context) + protected override StringBuilder AppendGenericType (StringBuilder buf, TypeReference type, DynamicParserContext context, bool appendGeneric = true) { if (!AddTypeCount) base.AppendGenericType (buf, type, context); diff --git a/mdoc/Mono.Documentation/Updater/Formatters/VBFullMemberFormatter.cs b/mdoc/Mono.Documentation/Updater/Formatters/VBFullMemberFormatter.cs index 6b7ae8ad..c108cb74 100644 --- a/mdoc/Mono.Documentation/Updater/Formatters/VBFullMemberFormatter.cs +++ b/mdoc/Mono.Documentation/Updater/Formatters/VBFullMemberFormatter.cs @@ -204,7 +204,7 @@ namespace Mono.Documentation.Updater } } - protected override StringBuilder AppendGenericType(StringBuilder buf, TypeReference type, DynamicParserContext context) + protected override StringBuilder AppendGenericType(StringBuilder buf, TypeReference type, DynamicParserContext context, bool appendGeneric = true) { List<TypeReference> decls = DocUtils.GetDeclaringTypes( type is GenericInstanceType ? type.GetElementType() : type); @@ -344,7 +344,7 @@ namespace Mono.Documentation.Updater if (buf.Length != 0) buf.Append(" "); bool isFunction = method.MethodReturnType.ReturnType.FullName != "System.Void"; - if (!IsOperator(method)) + if (!DocUtils.IsOperator(method)) { if (isFunction) buf.Append("Function "); @@ -380,7 +380,7 @@ namespace Mono.Documentation.Updater return buf.Append(method.Name.Split('.').Last()); } - if (IsOperator(method)) + if (DocUtils.IsOperator(method)) { // this is an operator switch (method.Name) @@ -847,10 +847,5 @@ namespace Mono.Documentation.Updater { return method.CustomAttributes.Any(i => i.AttributeType.FullName == "System.Runtime.CompilerServices.IteratorStateMachineAttribute"); } - - private bool IsOperator(MethodDefinition method) - { - return method.Name.StartsWith("op_", StringComparison.Ordinal); - } } } diff --git a/mdoc/Resources/monodoc-ecma.xsd b/mdoc/Resources/monodoc-ecma.xsd index 9ba9597c..3ae49b62 100644 --- a/mdoc/Resources/monodoc-ecma.xsd +++ b/mdoc/Resources/monodoc-ecma.xsd @@ -43,6 +43,7 @@ add masterdoc support? <xs:attribute name="src" type="xs:string" /> <xs:attribute name="subset" type="xs:string" /> <xs:attribute name="Value" type="xs:string" /> + <xs:attribute name="Usage" type="xs:string" /> <xs:attribute name="version" type="xs:string" /> <xs:attribute name="tool" type="xs:string" /> <xs:attribute name="type" type="xs:string" /> @@ -465,6 +466,7 @@ add masterdoc support? <xs:complexType> <xs:attribute ref="Language" /> <xs:attribute ref="Value" /> + <xs:attribute ref="Usage" /> </xs:complexType> </xs:element> @@ -962,7 +964,8 @@ add masterdoc support? <xs:element name="TypeSignature"> <xs:complexType> <xs:attribute ref="Language" use="required" /> - <xs:attribute ref="Value" use="required" /> + <xs:attribute ref="Value"/> + <xs:attribute ref="Usage"/> <xs:attribute ref="Maintainer" /> </xs:complexType> </xs:element> diff --git a/mdoc/Test/en.expected-javascript/Mono.DocTest.Generic/Extensions.xml b/mdoc/Test/en.expected-javascript/Mono.DocTest.Generic/Extensions.xml new file mode 100644 index 00000000..775e6dd4 --- /dev/null +++ b/mdoc/Test/en.expected-javascript/Mono.DocTest.Generic/Extensions.xml @@ -0,0 +1,141 @@ +<Type Name="Extensions" FullName="Mono.DocTest.Generic.Extensions"> + <TypeSignature Language="C#" Value="public static class Extensions" /> + <TypeSignature Language="ILAsm" Value=".class public auto ansi abstract sealed beforefieldinit Extensions extends System.Object" /> + <AssemblyInfo> + <AssemblyName>DocTest</AssemblyName> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Base> + <BaseTypeName>System.Object</BaseTypeName> + </Base> + <Interfaces /> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + <Members> + <Member MemberName="Bar<T>"> + <MemberSignature Language="C#" Value="public static void Bar<T> (this Mono.DocTest.Generic.IFoo<T> self, string s);" /> + <MemberSignature Language="ILAsm" Value=".method public static hidebysig void Bar<T>(class Mono.DocTest.Generic.IFoo`1<!!T> self, string s) cil managed" /> + <MemberType>Method</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Void</ReturnType> + </ReturnValue> + <TypeParameters> + <TypeParameter Name="T" /> + </TypeParameters> + <Parameters> + <Parameter Name="self" Type="Mono.DocTest.Generic.IFoo<T>" RefType="this" /> + <Parameter Name="s" Type="System.String" /> + </Parameters> + <Docs> + <typeparam name="T">To be added.</typeparam> + <param name="self">To be added.</param> + <param name="s">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="ForEach<T>"> + <MemberSignature Language="C#" Value="public static void ForEach<T> (this System.Collections.Generic.IEnumerable<T> self, Action<T> a);" /> + <MemberSignature Language="ILAsm" Value=".method public static hidebysig void ForEach<T>(class System.Collections.Generic.IEnumerable`1<!!T> self, class System.Action`1<!!T> a) cil managed" /> + <MemberType>Method</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Void</ReturnType> + </ReturnValue> + <TypeParameters> + <TypeParameter Name="T" /> + </TypeParameters> + <Parameters> + <Parameter Name="self" Type="System.Collections.Generic.IEnumerable<T>" RefType="this" /> + <Parameter Name="a" Type="System.Action<T>" /> + </Parameters> + <Docs> + <typeparam name="T">To be added.</typeparam> + <param name="self">To be added.</param> + <param name="a">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="ToDouble"> + <MemberSignature Language="C#" Value="public static System.Collections.Generic.IEnumerable<double> ToDouble (this System.Collections.Generic.IEnumerable<int> list);" /> + <MemberSignature Language="ILAsm" Value=".method public static hidebysig class System.Collections.Generic.IEnumerable`1<float64> ToDouble(class System.Collections.Generic.IEnumerable`1<int32> list) cil managed" /> + <MemberSignature Language="JavaScript" Value="function toDouble(list)" Usage="var iEnumerable = Mono.DocTest.Generic.Extensions.toDouble(list)" /> + <MemberType>Method</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Collections.Generic.IEnumerable<System.Double></ReturnType> + </ReturnValue> + <Parameters> + <Parameter Name="list" Type="System.Collections.Generic.IEnumerable<System.Int32>" RefType="this" /> + </Parameters> + <Docs> + <param name="list">To be added.</param> + <summary>To be added.</summary> + <returns>To be added.</returns> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="ToDouble<T>"> + <MemberSignature Language="C#" Value="public static double ToDouble<T> (this T val) where T : Mono.DocTest.Generic.IFoo<T>;" /> + <MemberSignature Language="ILAsm" Value=".method public static hidebysig float64 ToDouble<(class Mono.DocTest.Generic.IFoo`1<!!T>) T>(!!T val) cil managed" /> + <MemberType>Method</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Double</ReturnType> + </ReturnValue> + <TypeParameters> + <TypeParameter Name="T"> + <Constraints> + <InterfaceName>Mono.DocTest.Generic.IFoo<T></InterfaceName> + </Constraints> + </TypeParameter> + </TypeParameters> + <Parameters> + <Parameter Name="val" Type="T" RefType="this" /> + </Parameters> + <Docs> + <typeparam name="T">To be added.</typeparam> + <param name="val">To be added.</param> + <summary>To be added.</summary> + <returns>To be added.</returns> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="ToEnumerable<T>"> + <MemberSignature Language="C#" Value="public static System.Collections.Generic.IEnumerable<T> ToEnumerable<T> (this T self);" /> + <MemberSignature Language="ILAsm" Value=".method public static hidebysig class System.Collections.Generic.IEnumerable`1<!!T> ToEnumerable<T>(!!T self) cil managed" /> + <MemberType>Method</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Collections.Generic.IEnumerable<T></ReturnType> + </ReturnValue> + <TypeParameters> + <TypeParameter Name="T" /> + </TypeParameters> + <Parameters> + <Parameter Name="self" Type="T" RefType="this" /> + </Parameters> + <Docs> + <typeparam name="T">To be added.</typeparam> + <param name="self">To be added.</param> + <summary>To be added.</summary> + <returns>To be added.</returns> + <remarks>To be added.</remarks> + </Docs> + </Member> + </Members> +</Type> diff --git a/mdoc/Test/en.expected-javascript/Mono.DocTest.Generic/Func`2.xml b/mdoc/Test/en.expected-javascript/Mono.DocTest.Generic/Func`2.xml new file mode 100644 index 00000000..2d8dcf09 --- /dev/null +++ b/mdoc/Test/en.expected-javascript/Mono.DocTest.Generic/Func`2.xml @@ -0,0 +1,64 @@ +<Type Name="Func<TArg,TRet>" FullName="Mono.DocTest.Generic.Func<TArg,TRet>"> + <TypeSignature Language="C#" Value="public delegate TRet Func<in TArg,out TRet>(TArg a) where TArg : Exception;" /> + <TypeSignature Language="ILAsm" Value=".class public auto ansi sealed Func`2<(class System.Exception) - TArg, + TRet> extends System.MulticastDelegate" /> + <AssemblyInfo> + <AssemblyName>DocTest</AssemblyName> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <TypeParameters> + <TypeParameter Name="TArg"> + <Attributes> + <Attribute> + <AttributeName>Mono.DocTest.Doc("arg!")</AttributeName> + </Attribute> + </Attributes> + <Constraints> + <ParameterAttribute>Contravariant</ParameterAttribute> + <BaseTypeName>System.Exception</BaseTypeName> + </Constraints> + </TypeParameter> + <TypeParameter Name="TRet"> + <Attributes> + <Attribute> + <AttributeName>Mono.DocTest.Doc("ret!")</AttributeName> + </Attribute> + </Attributes> + <Constraints> + <ParameterAttribute>Covariant</ParameterAttribute> + </Constraints> + </TypeParameter> + </TypeParameters> + <Base> + <BaseTypeName>System.Delegate</BaseTypeName> + </Base> + <Attributes> + <Attribute> + <AttributeName>Mono.DocTest.Doc("method")</AttributeName> + </Attribute> + </Attributes> + <Parameters> + <Parameter Name="a" Type="TArg"> + <Attributes> + <Attribute> + <AttributeName>Mono.DocTest.Doc("arg-actual")</AttributeName> + </Attribute> + </Attributes> + </Parameter> + </Parameters> + <ReturnValue> + <ReturnType>TRet</ReturnType> + <Attributes> + <Attribute> + <AttributeName>Mono.DocTest.Doc("return", Field=false)</AttributeName> + </Attribute> + </Attributes> + </ReturnValue> + <Docs> + <typeparam name="TArg">To be added.</typeparam> + <typeparam name="TRet">To be added.</typeparam> + <param name="a">To be added.</param> + <summary>To be added.</summary> + <returns>To be added.</returns> + <remarks>To be added.</remarks> + </Docs> +</Type> diff --git a/mdoc/Test/en.expected-javascript/Mono.DocTest.Generic/GenericBase`1+FooEventArgs.xml b/mdoc/Test/en.expected-javascript/Mono.DocTest.Generic/GenericBase`1+FooEventArgs.xml new file mode 100644 index 00000000..dff4379a --- /dev/null +++ b/mdoc/Test/en.expected-javascript/Mono.DocTest.Generic/GenericBase`1+FooEventArgs.xml @@ -0,0 +1,34 @@ +<Type Name="GenericBase<U>+FooEventArgs" FullName="Mono.DocTest.Generic.GenericBase<U>+FooEventArgs"> + <TypeSignature Language="C#" Value="public class GenericBase<U>.FooEventArgs : EventArgs" /> + <TypeSignature Language="ILAsm" Value=".class nested public auto ansi beforefieldinit GenericBase`1/FooEventArgs<U> extends System.EventArgs" /> + <AssemblyInfo> + <AssemblyName>DocTest</AssemblyName> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <TypeParameters> + <TypeParameter Name="U" /> + </TypeParameters> + <Base> + <BaseTypeName>System.EventArgs</BaseTypeName> + </Base> + <Interfaces /> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + <Members> + <Member MemberName=".ctor"> + <MemberSignature Language="C#" Value="public FooEventArgs ();" /> + <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" /> + <MemberType>Constructor</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Parameters /> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + </Members> +</Type> diff --git a/mdoc/Test/en.expected-javascript/Mono.DocTest.Generic/GenericBase`1+NestedCollection+Enumerator.xml b/mdoc/Test/en.expected-javascript/Mono.DocTest.Generic/GenericBase`1+NestedCollection+Enumerator.xml new file mode 100644 index 00000000..acc10189 --- /dev/null +++ b/mdoc/Test/en.expected-javascript/Mono.DocTest.Generic/GenericBase`1+NestedCollection+Enumerator.xml @@ -0,0 +1,20 @@ +<Type Name="GenericBase<U>+NestedCollection+Enumerator" FullName="Mono.DocTest.Generic.GenericBase<U>+NestedCollection+Enumerator"> + <TypeSignature Language="C#" Value="protected internal struct GenericBase<U>.NestedCollection.Enumerator" /> + <TypeSignature Language="ILAsm" Value=".class nested protected sequential ansi sealed beforefieldinit GenericBase`1/NestedCollection/Enumerator<U> extends System.ValueType" /> + <AssemblyInfo> + <AssemblyName>DocTest</AssemblyName> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <TypeParameters> + <TypeParameter Name="U" /> + </TypeParameters> + <Base> + <BaseTypeName>System.ValueType</BaseTypeName> + </Base> + <Interfaces /> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + <Members /> +</Type> diff --git a/mdoc/Test/en.expected-javascript/Mono.DocTest.Generic/GenericBase`1+NestedCollection.xml b/mdoc/Test/en.expected-javascript/Mono.DocTest.Generic/GenericBase`1+NestedCollection.xml new file mode 100644 index 00000000..e396bd2d --- /dev/null +++ b/mdoc/Test/en.expected-javascript/Mono.DocTest.Generic/GenericBase`1+NestedCollection.xml @@ -0,0 +1,34 @@ +<Type Name="GenericBase<U>+NestedCollection" FullName="Mono.DocTest.Generic.GenericBase<U>+NestedCollection"> + <TypeSignature Language="C#" Value="public class GenericBase<U>.NestedCollection" /> + <TypeSignature Language="ILAsm" Value=".class nested public auto ansi beforefieldinit GenericBase`1/NestedCollection<U> extends System.Object" /> + <AssemblyInfo> + <AssemblyName>DocTest</AssemblyName> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <TypeParameters> + <TypeParameter Name="U" /> + </TypeParameters> + <Base> + <BaseTypeName>System.Object</BaseTypeName> + </Base> + <Interfaces /> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + <Members> + <Member MemberName=".ctor"> + <MemberSignature Language="C#" Value="public NestedCollection ();" /> + <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" /> + <MemberType>Constructor</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Parameters /> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + </Members> +</Type> diff --git a/mdoc/Test/en.expected-javascript/Mono.DocTest.Generic/GenericBase`1.xml b/mdoc/Test/en.expected-javascript/Mono.DocTest.Generic/GenericBase`1.xml new file mode 100644 index 00000000..54f5e031 --- /dev/null +++ b/mdoc/Test/en.expected-javascript/Mono.DocTest.Generic/GenericBase`1.xml @@ -0,0 +1,145 @@ +<Type Name="GenericBase<U>" FullName="Mono.DocTest.Generic.GenericBase<U>"> + <TypeSignature Language="C#" Value="public class GenericBase<U>" /> + <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit GenericBase`1<U> extends System.Object" /> + <AssemblyInfo> + <AssemblyName>DocTest</AssemblyName> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <TypeParameters> + <TypeParameter Name="U" /> + </TypeParameters> + <Base> + <BaseTypeName>System.Object</BaseTypeName> + </Base> + <Interfaces /> + <Docs> + <typeparam name="U">To be added.</typeparam> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + <Members> + <Member MemberName=".ctor"> + <MemberSignature Language="C#" Value="public GenericBase ();" /> + <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" /> + <MemberType>Constructor</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Parameters /> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="BaseMethod<S>"> + <MemberSignature Language="C#" Value="public U BaseMethod<S> (S genericParameter);" /> + <MemberSignature Language="ILAsm" Value=".method public hidebysig instance !U BaseMethod<S>(!!S genericParameter) cil managed" /> + <MemberType>Method</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>U</ReturnType> + </ReturnValue> + <TypeParameters> + <TypeParameter Name="S"> + <Attributes> + <Attribute> + <AttributeName>Mono.DocTest.Doc("S")</AttributeName> + </Attribute> + </Attributes> + </TypeParameter> + </TypeParameters> + <Parameters> + <Parameter Name="genericParameter" Type="S" /> + </Parameters> + <Docs> + <typeparam name="S">To be added.</typeparam> + <param name="genericParameter">To be added.</param> + <summary>To be added.</summary> + <returns>To be added.</returns> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="ConstField1"> + <MemberSignature Language="C#" Value="public const int ConstField1;" /> + <MemberSignature Language="ILAsm" Value=".field public static literal int32 ConstField1" /> + <MemberType>Field</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Int32</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="ItemChanged"> + <MemberSignature Language="C#" Value="public event Action<Mono.DocTest.Generic.MyList<U>,Mono.DocTest.Generic.MyList<U>.Helper<U,U>> ItemChanged;" /> + <MemberSignature Language="ILAsm" Value=".event class System.Action`2<class Mono.DocTest.Generic.MyList`1<!U>, class Mono.DocTest.Generic.MyList`1/Helper`2<!U, !U, !U>> ItemChanged" /> + <MemberType>Event</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Action<Mono.DocTest.Generic.MyList<U>,Mono.DocTest.Generic.MyList<U>+Helper<U,U>></ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="MyEvent"> + <MemberSignature Language="C#" Value="public event EventHandler<Mono.DocTest.Generic.GenericBase<U>.FooEventArgs> MyEvent;" /> + <MemberSignature Language="ILAsm" Value=".event class System.EventHandler`1<class Mono.DocTest.Generic.GenericBase`1/FooEventArgs<!U>> MyEvent" /> + <MemberType>Event</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.EventHandler<Mono.DocTest.Generic.GenericBase<U>+FooEventArgs></ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="op_Explicit"> + <MemberSignature Language="C#" Value="public static explicit operator U (Mono.DocTest.Generic.GenericBase<U> list);" /> + <MemberSignature Language="ILAsm" Value=".method public static hidebysig specialname !U op_Explicit(class Mono.DocTest.Generic.GenericBase`1<!U> list) cil managed" /> + <MemberType>Method</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>U</ReturnType> + </ReturnValue> + <Parameters> + <Parameter Name="list" Type="Mono.DocTest.Generic.GenericBase<U>" /> + </Parameters> + <Docs> + <param name="list">To be added.</param> + <summary>To be added.</summary> + <returns>To be added.</returns> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="StaticField1"> + <MemberSignature Language="C#" Value="public static readonly Mono.DocTest.Generic.GenericBase<U> StaticField1;" /> + <MemberSignature Language="ILAsm" Value=".field public static initonly class Mono.DocTest.Generic.GenericBase`1<!U> StaticField1" /> + <MemberType>Field</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>Mono.DocTest.Generic.GenericBase<U></ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + </Members> +</Type> diff --git a/mdoc/Test/en.expected-javascript/Mono.DocTest.Generic/IFoo`1.xml b/mdoc/Test/en.expected-javascript/Mono.DocTest.Generic/IFoo`1.xml new file mode 100644 index 00000000..834141db --- /dev/null +++ b/mdoc/Test/en.expected-javascript/Mono.DocTest.Generic/IFoo`1.xml @@ -0,0 +1,45 @@ +<Type Name="IFoo<T>" FullName="Mono.DocTest.Generic.IFoo<T>"> + <TypeSignature Language="C#" Value="public interface IFoo<T>" /> + <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IFoo`1<T>" /> + <AssemblyInfo> + <AssemblyName>DocTest</AssemblyName> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <TypeParameters> + <TypeParameter Name="T" /> + </TypeParameters> + <Interfaces /> + <Docs> + <typeparam name="T">To be added.</typeparam> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + <Members> + <Member MemberName="Method<U>"> + <MemberSignature Language="C#" Value="public T Method<U> (T t, U u);" /> + <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance !T Method<U>(!T t, !!U u) cil managed" /> + <MemberType>Method</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>T</ReturnType> + </ReturnValue> + <TypeParameters> + <TypeParameter Name="U" /> + </TypeParameters> + <Parameters> + <Parameter Name="t" Type="T" /> + <Parameter Name="u" Type="U" /> + </Parameters> + <Docs> + <typeparam name="U">To be added.</typeparam> + <param name="t">To be added.</param> + <param name="u">To be added.</param> + <summary>To be added.</summary> + <returns>To be added.</returns> + <remarks>To be added.</remarks> + </Docs> + </Member> + </Members> +</Type> diff --git a/mdoc/Test/en.expected-javascript/Mono.DocTest.Generic/MyList`1+Helper`2.xml b/mdoc/Test/en.expected-javascript/Mono.DocTest.Generic/MyList`1+Helper`2.xml new file mode 100644 index 00000000..2f389db3 --- /dev/null +++ b/mdoc/Test/en.expected-javascript/Mono.DocTest.Generic/MyList`1+Helper`2.xml @@ -0,0 +1,61 @@ +<Type Name="MyList<T>+Helper<U,V>" FullName="Mono.DocTest.Generic.MyList<T>+Helper<U,V>"> + <TypeSignature Language="C#" Value="public class MyList<T>.Helper<U,V>" /> + <TypeSignature Language="ILAsm" Value=".class nested public auto ansi beforefieldinit MyList`1/Helper`2<T, U, V> extends System.Object" /> + <AssemblyInfo> + <AssemblyName>DocTest</AssemblyName> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <TypeParameters> + <TypeParameter Name="T" /> + <TypeParameter Name="U" /> + <TypeParameter Name="V" /> + </TypeParameters> + <Base> + <BaseTypeName>System.Object</BaseTypeName> + </Base> + <Interfaces /> + <Docs> + <typeparam name="U">To be added.</typeparam> + <typeparam name="V">To be added.</typeparam> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + <Members> + <Member MemberName=".ctor"> + <MemberSignature Language="C#" Value="public Helper ();" /> + <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" /> + <MemberType>Constructor</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Parameters /> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="UseT"> + <MemberSignature Language="C#" Value="public void UseT (T a, U b, V c);" /> + <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void UseT(!T a, !U b, !V c) cil managed" /> + <MemberType>Method</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Void</ReturnType> + </ReturnValue> + <Parameters> + <Parameter Name="a" Type="T" /> + <Parameter Name="b" Type="U" /> + <Parameter Name="c" Type="V" /> + </Parameters> + <Docs> + <param name="a">To be added.</param> + <param name="b">To be added.</param> + <param name="c">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + </Members> +</Type> diff --git a/mdoc/Test/en.expected-javascript/Mono.DocTest.Generic/MyList`1.xml b/mdoc/Test/en.expected-javascript/Mono.DocTest.Generic/MyList`1.xml new file mode 100644 index 00000000..e6dfb9c6 --- /dev/null +++ b/mdoc/Test/en.expected-javascript/Mono.DocTest.Generic/MyList`1.xml @@ -0,0 +1,205 @@ +<Type Name="MyList<T>" FullName="Mono.DocTest.Generic.MyList<T>"> + <TypeSignature Language="C#" Value="public class MyList<T> : Mono.DocTest.Generic.GenericBase<T>, System.Collections.Generic.IEnumerable<int[]>" /> + <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit MyList`1<T> extends Mono.DocTest.Generic.GenericBase`1<!T> implements class System.Collections.Generic.IEnumerable`1<int32[]>, class System.Collections.IEnumerable" /> + <AssemblyInfo> + <AssemblyName>DocTest</AssemblyName> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <TypeParameters> + <TypeParameter Name="T"> + <Attributes> + <Attribute> + <AttributeName>Mono.DocTest.Doc("Type Parameter!")</AttributeName> + </Attribute> + </Attributes> + </TypeParameter> + </TypeParameters> + <Base> + <BaseTypeName>Mono.DocTest.Generic.GenericBase<T></BaseTypeName> + <BaseTypeArguments> + <BaseTypeArgument TypeParamName="U">T</BaseTypeArgument> + </BaseTypeArguments> + </Base> + <Interfaces> + <Interface> + <InterfaceName>System.Collections.Generic.IEnumerable<System.Int32[]></InterfaceName> + </Interface> + </Interfaces> + <Docs> + <typeparam name="T">To be added.</typeparam> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + <Members> + <Member MemberName=".ctor"> + <MemberSignature Language="C#" Value="public MyList ();" /> + <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" /> + <MemberType>Constructor</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Parameters /> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="GetEnumerator"> + <MemberSignature Language="C#" Value="public System.Collections.Generic.IEnumerator<int[]> GetEnumerator ();" /> + <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance class System.Collections.Generic.IEnumerator`1<int32[]> GetEnumerator() cil managed" /> + <MemberType>Method</MemberType> + <Implements> + <InterfaceMember>M:System.Collections.Generic.IEnumerable`1.GetEnumerator</InterfaceMember> + </Implements> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Collections.Generic.IEnumerator<System.Int32[]></ReturnType> + </ReturnValue> + <Parameters /> + <Docs> + <summary>To be added.</summary> + <returns>To be added.</returns> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="GetHelper<U,V>"> + <MemberSignature Language="C#" Value="public Mono.DocTest.Generic.MyList<T>.Helper<U,V> GetHelper<U,V> ();" /> + <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class Mono.DocTest.Generic.MyList`1/Helper`2<!T, !!U, !!V> GetHelper<U, V>() cil managed" /> + <MemberType>Method</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>Mono.DocTest.Generic.MyList<T>+Helper<U,V></ReturnType> + </ReturnValue> + <TypeParameters> + <TypeParameter Name="U" /> + <TypeParameter Name="V" /> + </TypeParameters> + <Parameters /> + <Docs> + <typeparam name="U">To be added.</typeparam> + <typeparam name="V">To be added.</typeparam> + <summary>To be added.</summary> + <returns>To be added.</returns> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Method<U>"> + <MemberSignature Language="C#" Value="public void Method<U> (T t, U u);" /> + <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Method<U>(!T t, !!U u) cil managed" /> + <MemberType>Method</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Void</ReturnType> + </ReturnValue> + <TypeParameters> + <TypeParameter Name="U" /> + </TypeParameters> + <Parameters> + <Parameter Name="t" Type="T" /> + <Parameter Name="u" Type="U" /> + </Parameters> + <Docs> + <typeparam name="U">To be added.</typeparam> + <param name="t">To be added.</param> + <param name="u">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="RefMethod<U>"> + <MemberSignature Language="C#" Value="public void RefMethod<U> (ref T t, ref U u);" /> + <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void RefMethod<U>(!T& t, !!U& u) cil managed" /> + <MemberType>Method</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Void</ReturnType> + </ReturnValue> + <TypeParameters> + <TypeParameter Name="U" /> + </TypeParameters> + <Parameters> + <Parameter Name="t" Type="T&" RefType="ref" /> + <Parameter Name="u" Type="U&" RefType="ref" /> + </Parameters> + <Docs> + <typeparam name="U">To be added.</typeparam> + <param name="t">To be added.</param> + <param name="u">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="System.Collections.IEnumerable.GetEnumerator"> + <MemberSignature Language="C#" Value="System.Collections.IEnumerator IEnumerable.GetEnumerator ();" /> + <MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance class System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() cil managed" /> + <MemberType>Method</MemberType> + <Implements> + <InterfaceMember>M:System.Collections.IEnumerable.GetEnumerator</InterfaceMember> + </Implements> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Collections.IEnumerator</ReturnType> + </ReturnValue> + <Parameters /> + <Docs> + <summary>To be added.</summary> + <returns>To be added.</returns> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Test"> + <MemberSignature Language="C#" Value="public void Test (T t);" /> + <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Test(!T t) cil managed" /> + <MemberType>Method</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Void</ReturnType> + </ReturnValue> + <Parameters> + <Parameter Name="t" Type="T" /> + </Parameters> + <Docs> + <param name="t">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="UseHelper<U,V>"> + <MemberSignature Language="C#" Value="public void UseHelper<U,V> (Mono.DocTest.Generic.MyList<T>.Helper<U,V> helper);" /> + <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void UseHelper<U, V>(class Mono.DocTest.Generic.MyList`1/Helper`2<!T, !!U, !!V> helper) cil managed" /> + <MemberType>Method</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Void</ReturnType> + </ReturnValue> + <TypeParameters> + <TypeParameter Name="U" /> + <TypeParameter Name="V" /> + </TypeParameters> + <Parameters> + <Parameter Name="helper" Type="Mono.DocTest.Generic.MyList<T>+Helper<U,V>" /> + </Parameters> + <Docs> + <typeparam name="U">To be added.</typeparam> + <typeparam name="V">To be added.</typeparam> + <param name="helper">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + </Members> +</Type> diff --git a/mdoc/Test/en.expected-javascript/Mono.DocTest.Generic/MyList`2.xml b/mdoc/Test/en.expected-javascript/Mono.DocTest.Generic/MyList`2.xml new file mode 100644 index 00000000..f5fe4f1c --- /dev/null +++ b/mdoc/Test/en.expected-javascript/Mono.DocTest.Generic/MyList`2.xml @@ -0,0 +1,428 @@ +<Type Name="MyList<A,B>" FullName="Mono.DocTest.Generic.MyList<A,B>"> + <TypeSignature Language="C#" Value="public class MyList<A,B> : Mono.DocTest.Generic.GenericBase<System.Collections.Generic.Dictionary<A,B>>, Mono.DocTest.Generic.IFoo<A>, System.Collections.Generic.ICollection<A>, System.Collections.Generic.IEnumerable<A>, System.Collections.Generic.IEnumerator<A> where A : class, IList<B>, new() where B : class, A" /> + <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit MyList`2<class .ctor (class System.Collections.Generic.IList`1<!B>) A, class (!A) B> extends Mono.DocTest.Generic.GenericBase`1<class System.Collections.Generic.Dictionary`2<!A, !B>> implements class Mono.DocTest.Generic.IFoo`1<!A>, class System.Collections.Generic.ICollection`1<!A>, class System.Collections.Generic.IEnumerable`1<!A>, class System.Collections.Generic.IEnumerator`1<!A>, class System.Collections.IEnumerable, class System.Collections.IEnumerator, class System.IDisposable" /> + <AssemblyInfo> + <AssemblyName>DocTest</AssemblyName> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <TypeParameters> + <TypeParameter Name="A"> + <Constraints> + <ParameterAttribute>DefaultConstructorConstraint</ParameterAttribute> + <ParameterAttribute>ReferenceTypeConstraint</ParameterAttribute> + <InterfaceName>System.Collections.Generic.IList<B></InterfaceName> + </Constraints> + </TypeParameter> + <TypeParameter Name="B"> + <Constraints> + <ParameterAttribute>ReferenceTypeConstraint</ParameterAttribute> + <BaseTypeName>A</BaseTypeName> + </Constraints> + </TypeParameter> + </TypeParameters> + <Base> + <BaseTypeName>Mono.DocTest.Generic.GenericBase<System.Collections.Generic.Dictionary<A,B>></BaseTypeName> + <BaseTypeArguments> + <BaseTypeArgument TypeParamName="U">System.Collections.Generic.Dictionary<A,B></BaseTypeArgument> + </BaseTypeArguments> + </Base> + <Interfaces> + <Interface> + <InterfaceName>Mono.DocTest.Generic.IFoo<A></InterfaceName> + </Interface> + <Interface> + <InterfaceName>System.Collections.Generic.ICollection<A></InterfaceName> + </Interface> + <Interface> + <InterfaceName>System.Collections.Generic.IEnumerable<A></InterfaceName> + </Interface> + <Interface> + <InterfaceName>System.Collections.Generic.IEnumerator<A></InterfaceName> + </Interface> + </Interfaces> + <Docs> + <typeparam name="A">To be added.</typeparam> + <typeparam name="B">To be added.</typeparam> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + <Members> + <Member MemberName=".ctor"> + <MemberSignature Language="C#" Value="public MyList ();" /> + <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" /> + <MemberType>Constructor</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Parameters /> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="CopyTo"> + <MemberSignature Language="C#" Value="public void CopyTo (A[] array, int arrayIndex);" /> + <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void CopyTo(!A[] array, int32 arrayIndex) cil managed" /> + <MemberType>Method</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Void</ReturnType> + </ReturnValue> + <Parameters> + <Parameter Name="array" Type="A[]" /> + <Parameter Name="arrayIndex" Type="System.Int32" /> + </Parameters> + <Docs> + <param name="array">To be added.</param> + <param name="arrayIndex">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Count"> + <MemberSignature Language="C#" Value="public int Count { get; }" /> + <MemberSignature Language="ILAsm" Value=".property instance int32 Count" /> + <MemberType>Property</MemberType> + <Implements> + <InterfaceMember>P:System.Collections.Generic.ICollection`1.Count</InterfaceMember> + </Implements> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Int32</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <value>To be added.</value> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Current"> + <MemberSignature Language="C#" Value="public A Current { get; }" /> + <MemberSignature Language="ILAsm" Value=".property instance !A Current" /> + <MemberType>Property</MemberType> + <Implements> + <InterfaceMember>P:System.Collections.Generic.IEnumerator`1.Current</InterfaceMember> + </Implements> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>A</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <value>To be added.</value> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Dispose"> + <MemberSignature Language="C#" Value="public void Dispose ();" /> + <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void Dispose() cil managed" /> + <MemberType>Method</MemberType> + <Implements> + <InterfaceMember>M:System.IDisposable.Dispose</InterfaceMember> + </Implements> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Void</ReturnType> + </ReturnValue> + <Parameters /> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Foo"> + <MemberSignature Language="C#" Value="public System.Collections.Generic.KeyValuePair<System.Collections.Generic.IEnumerable<A>,System.Collections.Generic.IEnumerable<B>> Foo ();" /> + <MemberSignature Language="ILAsm" Value=".method public hidebysig instance valuetype System.Collections.Generic.KeyValuePair`2<class System.Collections.Generic.IEnumerable`1<!A>, class System.Collections.Generic.IEnumerable`1<!B>> Foo() cil managed" /> + <MemberType>Method</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Collections.Generic.KeyValuePair<System.Collections.Generic.IEnumerable<A>,System.Collections.Generic.IEnumerable<B>></ReturnType> + </ReturnValue> + <Parameters /> + <Docs> + <summary>To be added.</summary> + <returns>To be added.</returns> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="GetEnumerator"> + <MemberSignature Language="C#" Value="public System.Collections.Generic.List<A>.Enumerator GetEnumerator ();" /> + <MemberSignature Language="ILAsm" Value=".method public hidebysig instance valuetype System.Collections.Generic.List`1/Enumerator<!A> GetEnumerator() cil managed" /> + <MemberType>Method</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Collections.Generic.List<A>+Enumerator</ReturnType> + </ReturnValue> + <Parameters /> + <Docs> + <summary>To be added.</summary> + <returns>To be added.</returns> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Mono.DocTest.Generic.IFoo<A>.Method<U>"> + <MemberSignature Language="C#" Value="A IFoo<A>.Method<U> (A a, U u);" /> + <MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance !A Mono.DocTest.Generic.IFoo<A>.Method<U>(!A a, !!U u) cil managed" /> + <MemberType>Method</MemberType> + <Implements> + <InterfaceMember>M:Mono.DocTest.Generic.IFoo`1.Method``1(`0,``0)</InterfaceMember> + </Implements> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>A</ReturnType> + </ReturnValue> + <TypeParameters> + <TypeParameter Name="U" /> + </TypeParameters> + <Parameters> + <Parameter Name="a" Type="A" /> + <Parameter Name="u" Type="U" /> + </Parameters> + <Docs> + <typeparam name="U">To be added.</typeparam> + <param name="a">To be added.</param> + <param name="u">To be added.</param> + <summary>To be added.</summary> + <returns>To be added.</returns> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="MoveNext"> + <MemberSignature Language="C#" Value="public bool MoveNext ();" /> + <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance bool MoveNext() cil managed" /> + <MemberType>Method</MemberType> + <Implements> + <InterfaceMember>M:System.Collections.IEnumerator.MoveNext</InterfaceMember> + </Implements> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Boolean</ReturnType> + </ReturnValue> + <Parameters /> + <Docs> + <summary>To be added.</summary> + <returns>To be added.</returns> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Reset"> + <MemberSignature Language="C#" Value="public void Reset ();" /> + <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void Reset() cil managed" /> + <MemberType>Method</MemberType> + <Implements> + <InterfaceMember>M:System.Collections.IEnumerator.Reset</InterfaceMember> + </Implements> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Void</ReturnType> + </ReturnValue> + <Parameters /> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="System.Collections.Generic.ICollection<A>.Add"> + <MemberSignature Language="C#" Value="void ICollection<A>.Add (A item);" /> + <MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance void System.Collections.Generic.ICollection<A>.Add(!A item) cil managed" /> + <MemberType>Method</MemberType> + <Implements> + <InterfaceMember>M:System.Collections.Generic.ICollection`1.Add(`0)</InterfaceMember> + </Implements> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Void</ReturnType> + </ReturnValue> + <Parameters> + <Parameter Name="item" Type="A" /> + </Parameters> + <Docs> + <param name="item">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="System.Collections.Generic.ICollection<A>.Clear"> + <MemberSignature Language="C#" Value="void ICollection<A>.Clear ();" /> + <MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance void System.Collections.Generic.ICollection<A>.Clear() cil managed" /> + <MemberType>Method</MemberType> + <Implements> + <InterfaceMember>M:System.Collections.Generic.ICollection`1.Clear</InterfaceMember> + </Implements> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Void</ReturnType> + </ReturnValue> + <Parameters /> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="System.Collections.Generic.ICollection<A>.Contains"> + <MemberSignature Language="C#" Value="bool ICollection<A>.Contains (A item);" /> + <MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance bool System.Collections.Generic.ICollection<A>.Contains(!A item) cil managed" /> + <MemberType>Method</MemberType> + <Implements> + <InterfaceMember>M:System.Collections.Generic.ICollection`1.Contains(`0)</InterfaceMember> + </Implements> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Boolean</ReturnType> + </ReturnValue> + <Parameters> + <Parameter Name="item" Type="A" /> + </Parameters> + <Docs> + <param name="item">To be added.</param> + <summary>To be added.</summary> + <returns>To be added.</returns> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="System.Collections.Generic.ICollection<A>.IsReadOnly"> + <MemberSignature Language="C#" Value="bool System.Collections.Generic.ICollection<A>.IsReadOnly { get; }" /> + <MemberSignature Language="ILAsm" Value=".property instance bool System.Collections.Generic.ICollection<A>.IsReadOnly" /> + <MemberType>Property</MemberType> + <Implements> + <InterfaceMember>P:System.Collections.Generic.ICollection`1.IsReadOnly</InterfaceMember> + </Implements> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Boolean</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <value>To be added.</value> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="System.Collections.Generic.ICollection<A>.Remove"> + <MemberSignature Language="C#" Value="bool ICollection<A>.Remove (A item);" /> + <MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance bool System.Collections.Generic.ICollection<A>.Remove(!A item) cil managed" /> + <MemberType>Method</MemberType> + <Implements> + <InterfaceMember>M:System.Collections.Generic.ICollection`1.Remove(`0)</InterfaceMember> + </Implements> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Boolean</ReturnType> + </ReturnValue> + <Parameters> + <Parameter Name="item" Type="A" /> + </Parameters> + <Docs> + <param name="item">To be added.</param> + <summary>To be added.</summary> + <returns>To be added.</returns> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="System.Collections.Generic.IEnumerable<A>.GetEnumerator"> + <MemberSignature Language="C#" Value="System.Collections.Generic.IEnumerator<A> IEnumerable<A>.GetEnumerator ();" /> + <MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance class System.Collections.Generic.IEnumerator`1<!A> System.Collections.Generic.IEnumerable<A>.GetEnumerator() cil managed" /> + <MemberType>Method</MemberType> + <Implements> + <InterfaceMember>M:System.Collections.Generic.IEnumerable`1.GetEnumerator</InterfaceMember> + </Implements> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Collections.Generic.IEnumerator<A></ReturnType> + </ReturnValue> + <Parameters /> + <Docs> + <summary>To be added.</summary> + <returns>To be added.</returns> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="System.Collections.Generic.IEnumerator<A>.Current"> + <MemberSignature Language="C#" Value="A System.Collections.Generic.IEnumerator<A>.Current { get; }" /> + <MemberSignature Language="ILAsm" Value=".property instance !A System.Collections.Generic.IEnumerator<A>.Current" /> + <MemberType>Property</MemberType> + <Implements> + <InterfaceMember>P:System.Collections.Generic.IEnumerator`1.Current</InterfaceMember> + </Implements> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>A</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <value>To be added.</value> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="System.Collections.IEnumerable.GetEnumerator"> + <MemberSignature Language="C#" Value="System.Collections.IEnumerator IEnumerable.GetEnumerator ();" /> + <MemberSignature Language="ILAsm" Value=".method hidebysig newslot virtual instance class System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator() cil managed" /> + <MemberType>Method</MemberType> + <Implements> + <InterfaceMember>M:System.Collections.IEnumerable.GetEnumerator</InterfaceMember> + </Implements> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Collections.IEnumerator</ReturnType> + </ReturnValue> + <Parameters /> + <Docs> + <summary>To be added.</summary> + <returns>To be added.</returns> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="System.Collections.IEnumerator.Current"> + <MemberSignature Language="C#" Value="object System.Collections.IEnumerator.Current { get; }" /> + <MemberSignature Language="ILAsm" Value=".property instance object System.Collections.IEnumerator.Current" /> + <MemberType>Property</MemberType> + <Implements> + <InterfaceMember>P:System.Collections.IEnumerator.Current</InterfaceMember> + </Implements> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Object</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <value>To be added.</value> + <remarks>To be added.</remarks> + </Docs> + </Member> + </Members> +</Type> diff --git a/mdoc/Test/en.expected-javascript/Mono.DocTest/Color.xml b/mdoc/Test/en.expected-javascript/Mono.DocTest/Color.xml new file mode 100644 index 00000000..df59b117 --- /dev/null +++ b/mdoc/Test/en.expected-javascript/Mono.DocTest/Color.xml @@ -0,0 +1,78 @@ +<Type Name="Color" FullName="Mono.DocTest.Color"> + <TypeSignature Language="C#" Value="public enum Color" /> + <TypeSignature Language="ILAsm" Value=".class public auto ansi sealed Color extends System.Enum" /> + <TypeSignature Language="JavaScript" Usage="var value = Mono.DocTest.Color.red" /> + <AssemblyInfo> + <AssemblyName>DocTest</AssemblyName> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Base> + <BaseTypeName>System.Enum</BaseTypeName> + </Base> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + <Members> + <Member MemberName="AnotherGreen"> + <MemberSignature Language="C#" Value="AnotherGreen" /> + <MemberSignature Language="ILAsm" Value=".field public static literal valuetype Mono.DocTest.Color AnotherGreen = int32(2)" /> + <MemberType>Field</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>Mono.DocTest.Color</ReturnType> + </ReturnValue> + <MemberValue>2</MemberValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="Blue"> + <MemberSignature Language="C#" Value="Blue" /> + <MemberSignature Language="ILAsm" Value=".field public static literal valuetype Mono.DocTest.Color Blue = int32(1)" /> + <MemberType>Field</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>Mono.DocTest.Color</ReturnType> + </ReturnValue> + <MemberValue>1</MemberValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="Green"> + <MemberSignature Language="C#" Value="Green" /> + <MemberSignature Language="ILAsm" Value=".field public static literal valuetype Mono.DocTest.Color Green = int32(2)" /> + <MemberType>Field</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>Mono.DocTest.Color</ReturnType> + </ReturnValue> + <MemberValue>2</MemberValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="Red"> + <MemberSignature Language="C#" Value="Red" /> + <MemberSignature Language="ILAsm" Value=".field public static literal valuetype Mono.DocTest.Color Red = int32(0)" /> + <MemberType>Field</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>Mono.DocTest.Color</ReturnType> + </ReturnValue> + <MemberValue>0</MemberValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + </Members> +</Type> diff --git a/mdoc/Test/en.expected-javascript/Mono.DocTest/D.xml b/mdoc/Test/en.expected-javascript/Mono.DocTest/D.xml new file mode 100644 index 00000000..65536f5d --- /dev/null +++ b/mdoc/Test/en.expected-javascript/Mono.DocTest/D.xml @@ -0,0 +1,24 @@ +<Type Name="D" FullName="Mono.DocTest.D"> + <TypeSignature Language="C#" Value="public delegate dynamic D(Func<string,dynamic,object> value);" /> + <TypeSignature Language="ILAsm" Value=".class public auto ansi sealed D extends System.MulticastDelegate" /> + <TypeSignature Language="JavaScript" Usage="var dHandler = function(value){
/* Your code */
}" /> + <AssemblyInfo> + <AssemblyName>DocTest</AssemblyName> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Base> + <BaseTypeName>System.Delegate</BaseTypeName> + </Base> + <Parameters> + <Parameter Name="value" Type="System.Func<System.String,System.Object,System.Object>" /> + </Parameters> + <ReturnValue> + <ReturnType>System.Object</ReturnType> + </ReturnValue> + <Docs> + <param name="value">To be added.</param> + <summary>To be added.</summary> + <returns>To be added.</returns> + <remarks>To be added.</remarks> + </Docs> +</Type> diff --git a/mdoc/Test/en.expected-javascript/Mono.DocTest/DocAttribute.xml b/mdoc/Test/en.expected-javascript/Mono.DocTest/DocAttribute.xml new file mode 100644 index 00000000..92503844 --- /dev/null +++ b/mdoc/Test/en.expected-javascript/Mono.DocTest/DocAttribute.xml @@ -0,0 +1,103 @@ +<Type Name="DocAttribute" FullName="Mono.DocTest.DocAttribute"> + <TypeSignature Language="C#" Value="public class DocAttribute : Attribute" /> + <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit DocAttribute extends System.Attribute" /> + <TypeSignature Language="JavaScript" Value="function DocAttribute(docs)" Usage="var docAttribute = new DocAttribute(docs);" /> + <AssemblyInfo> + <AssemblyName>DocTest</AssemblyName> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Base> + <BaseTypeName>System.Attribute</BaseTypeName> + </Base> + <Interfaces /> + <Attributes> + <Attribute> + <AttributeName>System.AttributeUsage(System.AttributeTargets.All)</AttributeName> + </Attribute> + </Attributes> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + <Members> + <Member MemberName=".ctor"> + <MemberSignature Language="C#" Value="public DocAttribute (string docs);" /> + <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(string docs) cil managed" /> + <MemberSignature Language="JavaScript" Value="function DocAttribute(docs)" Usage="var docAttribute = new DocAttribute(docs);" /> + <MemberType>Constructor</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Parameters> + <Parameter Name="docs" Type="System.String" /> + </Parameters> + <Docs> + <param name="docs">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Field"> + <MemberSignature Language="C#" Value="public bool Field;" /> + <MemberSignature Language="ILAsm" Value=".field public bool Field" /> + <MemberType>Field</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Boolean</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="FlagsEnum"> + <MemberSignature Language="C#" Value="public ConsoleModifiers FlagsEnum;" /> + <MemberSignature Language="ILAsm" Value=".field public valuetype System.ConsoleModifiers FlagsEnum" /> + <MemberType>Field</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.ConsoleModifiers</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="NonFlagsEnum"> + <MemberSignature Language="C#" Value="public Mono.DocTest.Color NonFlagsEnum;" /> + <MemberSignature Language="ILAsm" Value=".field public valuetype Mono.DocTest.Color NonFlagsEnum" /> + <MemberType>Field</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>Mono.DocTest.Color</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Property"> + <MemberSignature Language="C#" Value="public Type Property { get; set; }" /> + <MemberSignature Language="ILAsm" Value=".property instance class System.Type Property" /> + <MemberSignature Language="JavaScript" Usage="var type = docAttribute.property;
docAttribute.property = type;" /> + <MemberType>Property</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Type</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <value>To be added.</value> + <remarks>To be added.</remarks> + </Docs> + </Member> + </Members> +</Type> diff --git a/mdoc/Test/en.expected-javascript/Mono.DocTest/DocValueType.xml b/mdoc/Test/en.expected-javascript/Mono.DocTest/DocValueType.xml new file mode 100644 index 00000000..9234cc6f --- /dev/null +++ b/mdoc/Test/en.expected-javascript/Mono.DocTest/DocValueType.xml @@ -0,0 +1,58 @@ +<Type Name="DocValueType" FullName="Mono.DocTest.DocValueType"> + <TypeSignature Language="C#" Value="public struct DocValueType : Mono.DocTest.IProcess" /> + <TypeSignature Language="ILAsm" Value=".class public sequential ansi sealed beforefieldinit DocValueType extends System.ValueType implements class Mono.DocTest.IProcess" /> + <TypeSignature Language="JavaScript" Usage="var docValueType = {
total : /* Your value */
}" /> + <AssemblyInfo> + <AssemblyName>DocTest</AssemblyName> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Base> + <BaseTypeName>System.ValueType</BaseTypeName> + </Base> + <Interfaces> + <Interface> + <InterfaceName>Mono.DocTest.IProcess</InterfaceName> + </Interface> + </Interfaces> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + <Members> + <Member MemberName="M"> + <MemberSignature Language="C#" Value="public void M (int i);" /> + <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void M(int32 i) cil managed" /> + <MemberSignature Language="JavaScript" Value="function m(i)" Usage="docValueType.m(i)" /> + <MemberType>Method</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Void</ReturnType> + </ReturnValue> + <Parameters> + <Parameter Name="i" Type="System.Int32" /> + </Parameters> + <Docs> + <param name="i">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="total"> + <MemberSignature Language="C#" Value="public int total;" /> + <MemberSignature Language="ILAsm" Value=".field public int32 total" /> + <MemberType>Field</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Int32</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + </Members> +</Type> diff --git a/mdoc/Test/en.expected-javascript/Mono.DocTest/IProcess.xml b/mdoc/Test/en.expected-javascript/Mono.DocTest/IProcess.xml new file mode 100644 index 00000000..2a35c4e7 --- /dev/null +++ b/mdoc/Test/en.expected-javascript/Mono.DocTest/IProcess.xml @@ -0,0 +1,14 @@ +<Type Name="IProcess" FullName="Mono.DocTest.IProcess"> + <TypeSignature Language="C#" Value="public interface IProcess" /> + <TypeSignature Language="ILAsm" Value=".class public interface auto ansi abstract IProcess" /> + <AssemblyInfo> + <AssemblyName>DocTest</AssemblyName> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Interfaces /> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + <Members /> +</Type> diff --git a/mdoc/Test/en.expected-javascript/Mono.DocTest/UseLists.xml b/mdoc/Test/en.expected-javascript/Mono.DocTest/UseLists.xml new file mode 100644 index 00000000..e02156b4 --- /dev/null +++ b/mdoc/Test/en.expected-javascript/Mono.DocTest/UseLists.xml @@ -0,0 +1,173 @@ +<Type Name="UseLists" FullName="Mono.DocTest.UseLists"> + <TypeSignature Language="C#" Value="public class UseLists" /> + <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit UseLists extends System.Object" /> + <TypeSignature Language="JavaScript" Value="function UseLists()" Usage="var useLists = new UseLists();" /> + <AssemblyInfo> + <AssemblyName>DocTest</AssemblyName> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Base> + <BaseTypeName>System.Object</BaseTypeName> + </Base> + <Interfaces /> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + <Members> + <Member MemberName=".ctor"> + <MemberSignature Language="C#" Value="public UseLists ();" /> + <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" /> + <MemberSignature Language="JavaScript" Value="function UseLists()" Usage="var useLists = new UseLists();" /> + <MemberType>Constructor</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Parameters /> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="GetValues<T>"> + <MemberSignature Language="C#" Value="public Mono.DocTest.Generic.MyList<T> GetValues<T> (T value) where T : struct;" /> + <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class Mono.DocTest.Generic.MyList`1<!!T> GetValues<struct .ctor (class System.ValueType) T>(!!T value) cil managed" /> + <MemberType>Method</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>Mono.DocTest.Generic.MyList<T></ReturnType> + </ReturnValue> + <TypeParameters> + <TypeParameter Name="T"> + <Constraints> + <ParameterAttribute>DefaultConstructorConstraint</ParameterAttribute> + <ParameterAttribute>NotNullableValueTypeConstraint</ParameterAttribute> + <BaseTypeName>System.ValueType</BaseTypeName> + </Constraints> + </TypeParameter> + </TypeParameters> + <Parameters> + <Parameter Name="value" Type="T" /> + </Parameters> + <Docs> + <typeparam name="T">To be added.</typeparam> + <param name="value">To be added.</param> + <summary>To be added.</summary> + <returns>To be added.</returns> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Process"> + <MemberSignature Language="C#" Value="public void Process (Mono.DocTest.Generic.MyList<int> list);" /> + <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Process(class Mono.DocTest.Generic.MyList`1<int32> list) cil managed" /> + <MemberSignature Language="JavaScript" Value="function process(list)" Usage="useLists.process(list)" /> + <MemberType>Method</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Void</ReturnType> + </ReturnValue> + <Parameters> + <Parameter Name="list" Type="Mono.DocTest.Generic.MyList<System.Int32>" /> + </Parameters> + <Docs> + <param name="list">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Process"> + <MemberSignature Language="C#" Value="public void Process (System.Collections.Generic.List<int> list);" /> + <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Process(class System.Collections.Generic.List`1<int32> list) cil managed" /> + <MemberSignature Language="JavaScript" Value="function process(list)" Usage="useLists.process(list)" /> + <MemberType>Method</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Void</ReturnType> + </ReturnValue> + <Parameters> + <Parameter Name="list" Type="System.Collections.Generic.List<System.Int32>" /> + </Parameters> + <Docs> + <param name="list">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Process"> + <MemberSignature Language="C#" Value="public void Process (System.Collections.Generic.List<Predicate<int>> list);" /> + <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Process(class System.Collections.Generic.List`1<class System.Predicate`1<int32>> list) cil managed" /> + <MemberSignature Language="JavaScript" Value="function process(list)" Usage="useLists.process(list)" /> + <MemberType>Method</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Void</ReturnType> + </ReturnValue> + <Parameters> + <Parameter Name="list" Type="System.Collections.Generic.List<System.Predicate<System.Int32>>" /> + </Parameters> + <Docs> + <param name="list">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Process<T>"> + <MemberSignature Language="C#" Value="public void Process<T> (System.Collections.Generic.List<Predicate<T>> list);" /> + <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Process<T>(class System.Collections.Generic.List`1<class System.Predicate`1<!!T>> list) cil managed" /> + <MemberType>Method</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Void</ReturnType> + </ReturnValue> + <TypeParameters> + <TypeParameter Name="T" /> + </TypeParameters> + <Parameters> + <Parameter Name="list" Type="System.Collections.Generic.List<System.Predicate<T>>" /> + </Parameters> + <Docs> + <typeparam name="T">To be added.</typeparam> + <param name="list">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="UseHelper<T,U,V>"> + <MemberSignature Language="C#" Value="public void UseHelper<T,U,V> (Mono.DocTest.Generic.MyList<T>.Helper<U,V> helper);" /> + <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void UseHelper<T, U, V>(class Mono.DocTest.Generic.MyList`1/Helper`2<!!T, !!U, !!V> helper) cil managed" /> + <MemberType>Method</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Void</ReturnType> + </ReturnValue> + <TypeParameters> + <TypeParameter Name="T" /> + <TypeParameter Name="U" /> + <TypeParameter Name="V" /> + </TypeParameters> + <Parameters> + <Parameter Name="helper" Type="Mono.DocTest.Generic.MyList<T>+Helper<U,V>" /> + </Parameters> + <Docs> + <typeparam name="T">To be added.</typeparam> + <typeparam name="U">To be added.</typeparam> + <typeparam name="V">To be added.</typeparam> + <param name="helper">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + </Members> +</Type> diff --git a/mdoc/Test/en.expected-javascript/Mono.DocTest/Widget+Del.xml b/mdoc/Test/en.expected-javascript/Mono.DocTest/Widget+Del.xml new file mode 100644 index 00000000..e3ad767a --- /dev/null +++ b/mdoc/Test/en.expected-javascript/Mono.DocTest/Widget+Del.xml @@ -0,0 +1,22 @@ +<Type Name="Widget+Del" FullName="Mono.DocTest.Widget+Del"> + <TypeSignature Language="C#" Value="public delegate void Widget.Del(int i);" /> + <TypeSignature Language="ILAsm" Value=".class nested public auto ansi sealed Widget/Del extends System.MulticastDelegate" /> + <AssemblyInfo> + <AssemblyName>DocTest</AssemblyName> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Base> + <BaseTypeName>System.Delegate</BaseTypeName> + </Base> + <Parameters> + <Parameter Name="i" Type="System.Int32" /> + </Parameters> + <ReturnValue> + <ReturnType>System.Void</ReturnType> + </ReturnValue> + <Docs> + <param name="i">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> +</Type> diff --git a/mdoc/Test/en.expected-javascript/Mono.DocTest/Widget+Direction.xml b/mdoc/Test/en.expected-javascript/Mono.DocTest/Widget+Direction.xml new file mode 100644 index 00000000..e563afea --- /dev/null +++ b/mdoc/Test/en.expected-javascript/Mono.DocTest/Widget+Direction.xml @@ -0,0 +1,82 @@ +<Type Name="Widget+Direction" FullName="Mono.DocTest.Widget+Direction"> + <TypeSignature Language="C#" Value="protected internal enum Widget.Direction" /> + <TypeSignature Language="ILAsm" Value=".class nested protected auto ansi sealed Widget/Direction extends System.Enum" /> + <AssemblyInfo> + <AssemblyName>DocTest</AssemblyName> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Base> + <BaseTypeName>System.Enum</BaseTypeName> + </Base> + <Attributes> + <Attribute> + <AttributeName>System.Flags</AttributeName> + </Attribute> + </Attributes> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + <Members> + <Member MemberName="East"> + <MemberSignature Language="C#" Value="East" /> + <MemberSignature Language="ILAsm" Value=".field public static literal valuetype Mono.DocTest.Widget/Direction East = int32(2)" /> + <MemberType>Field</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>Mono.DocTest.Widget+Direction</ReturnType> + </ReturnValue> + <MemberValue>2</MemberValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="North"> + <MemberSignature Language="C#" Value="North" /> + <MemberSignature Language="ILAsm" Value=".field public static literal valuetype Mono.DocTest.Widget/Direction North = int32(0)" /> + <MemberType>Field</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>Mono.DocTest.Widget+Direction</ReturnType> + </ReturnValue> + <MemberValue>0</MemberValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="South"> + <MemberSignature Language="C#" Value="South" /> + <MemberSignature Language="ILAsm" Value=".field public static literal valuetype Mono.DocTest.Widget/Direction South = int32(1)" /> + <MemberType>Field</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>Mono.DocTest.Widget+Direction</ReturnType> + </ReturnValue> + <MemberValue>1</MemberValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + <Member MemberName="West"> + <MemberSignature Language="C#" Value="West" /> + <MemberSignature Language="ILAsm" Value=".field public static literal valuetype Mono.DocTest.Widget/Direction West = int32(3)" /> + <MemberType>Field</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>Mono.DocTest.Widget+Direction</ReturnType> + </ReturnValue> + <MemberValue>3</MemberValue> + <Docs> + <summary>To be added.</summary> + </Docs> + </Member> + </Members> +</Type> diff --git a/mdoc/Test/en.expected-javascript/Mono.DocTest/Widget+IMenuItem.xml b/mdoc/Test/en.expected-javascript/Mono.DocTest/Widget+IMenuItem.xml new file mode 100644 index 00000000..55790785 --- /dev/null +++ b/mdoc/Test/en.expected-javascript/Mono.DocTest/Widget+IMenuItem.xml @@ -0,0 +1,47 @@ +<Type Name="Widget+IMenuItem" FullName="Mono.DocTest.Widget+IMenuItem"> + <TypeSignature Language="C#" Value="public interface Widget.IMenuItem" /> + <TypeSignature Language="ILAsm" Value=".class nested public interface auto ansi abstract Widget/IMenuItem" /> + <AssemblyInfo> + <AssemblyName>DocTest</AssemblyName> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Interfaces /> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + <Members> + <Member MemberName="A"> + <MemberSignature Language="C#" Value="public void A ();" /> + <MemberSignature Language="ILAsm" Value=".method public hidebysig newslot virtual instance void A() cil managed" /> + <MemberType>Method</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Void</ReturnType> + </ReturnValue> + <Parameters /> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="B"> + <MemberSignature Language="C#" Value="public int B { get; set; }" /> + <MemberSignature Language="ILAsm" Value=".property instance int32 B" /> + <MemberType>Property</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Int32</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <value>To be added.</value> + <remarks>To be added.</remarks> + </Docs> + </Member> + </Members> +</Type> diff --git a/mdoc/Test/en.expected-javascript/Mono.DocTest/Widget+NestedClass+Double+Triple+Quadruple.xml b/mdoc/Test/en.expected-javascript/Mono.DocTest/Widget+NestedClass+Double+Triple+Quadruple.xml new file mode 100644 index 00000000..937f51a6 --- /dev/null +++ b/mdoc/Test/en.expected-javascript/Mono.DocTest/Widget+NestedClass+Double+Triple+Quadruple.xml @@ -0,0 +1,31 @@ +<Type Name="Widget+NestedClass+Double+Triple+Quadruple" FullName="Mono.DocTest.Widget+NestedClass+Double+Triple+Quadruple"> + <TypeSignature Language="C#" Value="public class Widget.NestedClass.Double.Triple.Quadruple" /> + <TypeSignature Language="ILAsm" Value=".class nested public auto ansi beforefieldinit Widget/NestedClass/Double/Triple/Quadruple extends System.Object" /> + <AssemblyInfo> + <AssemblyName>DocTest</AssemblyName> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Base> + <BaseTypeName>System.Object</BaseTypeName> + </Base> + <Interfaces /> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + <Members> + <Member MemberName=".ctor"> + <MemberSignature Language="C#" Value="public Quadruple ();" /> + <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" /> + <MemberType>Constructor</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Parameters /> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + </Members> +</Type> diff --git a/mdoc/Test/en.expected-javascript/Mono.DocTest/Widget+NestedClass+Double+Triple.xml b/mdoc/Test/en.expected-javascript/Mono.DocTest/Widget+NestedClass+Double+Triple.xml new file mode 100644 index 00000000..5726eade --- /dev/null +++ b/mdoc/Test/en.expected-javascript/Mono.DocTest/Widget+NestedClass+Double+Triple.xml @@ -0,0 +1,31 @@ +<Type Name="Widget+NestedClass+Double+Triple" FullName="Mono.DocTest.Widget+NestedClass+Double+Triple"> + <TypeSignature Language="C#" Value="public class Widget.NestedClass.Double.Triple" /> + <TypeSignature Language="ILAsm" Value=".class nested public auto ansi beforefieldinit Widget/NestedClass/Double/Triple extends System.Object" /> + <AssemblyInfo> + <AssemblyName>DocTest</AssemblyName> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Base> + <BaseTypeName>System.Object</BaseTypeName> + </Base> + <Interfaces /> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + <Members> + <Member MemberName=".ctor"> + <MemberSignature Language="C#" Value="public Triple ();" /> + <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" /> + <MemberType>Constructor</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Parameters /> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + </Members> +</Type> diff --git a/mdoc/Test/en.expected-javascript/Mono.DocTest/Widget+NestedClass+Double.xml b/mdoc/Test/en.expected-javascript/Mono.DocTest/Widget+NestedClass+Double.xml new file mode 100644 index 00000000..04d7bb44 --- /dev/null +++ b/mdoc/Test/en.expected-javascript/Mono.DocTest/Widget+NestedClass+Double.xml @@ -0,0 +1,31 @@ +<Type Name="Widget+NestedClass+Double" FullName="Mono.DocTest.Widget+NestedClass+Double"> + <TypeSignature Language="C#" Value="public class Widget.NestedClass.Double" /> + <TypeSignature Language="ILAsm" Value=".class nested public auto ansi beforefieldinit Widget/NestedClass/Double extends System.Object" /> + <AssemblyInfo> + <AssemblyName>DocTest</AssemblyName> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Base> + <BaseTypeName>System.Object</BaseTypeName> + </Base> + <Interfaces /> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + <Members> + <Member MemberName=".ctor"> + <MemberSignature Language="C#" Value="public Double ();" /> + <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" /> + <MemberType>Constructor</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Parameters /> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + </Members> +</Type> diff --git a/mdoc/Test/en.expected-javascript/Mono.DocTest/Widget+NestedClass.xml b/mdoc/Test/en.expected-javascript/Mono.DocTest/Widget+NestedClass.xml new file mode 100644 index 00000000..432b7c64 --- /dev/null +++ b/mdoc/Test/en.expected-javascript/Mono.DocTest/Widget+NestedClass.xml @@ -0,0 +1,65 @@ +<Type Name="Widget+NestedClass" FullName="Mono.DocTest.Widget+NestedClass"> + <TypeSignature Language="C#" Value="public class Widget.NestedClass" /> + <TypeSignature Language="ILAsm" Value=".class nested public auto ansi beforefieldinit Widget/NestedClass extends System.Object" /> + <AssemblyInfo> + <AssemblyName>DocTest</AssemblyName> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Base> + <BaseTypeName>System.Object</BaseTypeName> + </Base> + <Interfaces /> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + <Members> + <Member MemberName=".ctor"> + <MemberSignature Language="C#" Value="public NestedClass ();" /> + <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" /> + <MemberType>Constructor</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Parameters /> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="M"> + <MemberSignature Language="C#" Value="public void M (int i);" /> + <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void M(int32 i) cil managed" /> + <MemberType>Method</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Void</ReturnType> + </ReturnValue> + <Parameters> + <Parameter Name="i" Type="System.Int32" /> + </Parameters> + <Docs> + <param name="i">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="value"> + <MemberSignature Language="C#" Value="public int value;" /> + <MemberSignature Language="ILAsm" Value=".field public int32 value" /> + <MemberType>Field</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Int32</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + </Members> +</Type> diff --git a/mdoc/Test/en.expected-javascript/Mono.DocTest/Widget+NestedClass`1.xml b/mdoc/Test/en.expected-javascript/Mono.DocTest/Widget+NestedClass`1.xml new file mode 100644 index 00000000..56114c56 --- /dev/null +++ b/mdoc/Test/en.expected-javascript/Mono.DocTest/Widget+NestedClass`1.xml @@ -0,0 +1,69 @@ +<Type Name="Widget+NestedClass<T>" FullName="Mono.DocTest.Widget+NestedClass<T>"> + <TypeSignature Language="C#" Value="public class Widget.NestedClass<T>" /> + <TypeSignature Language="ILAsm" Value=".class nested public auto ansi beforefieldinit Widget/NestedClass`1<T> extends System.Object" /> + <AssemblyInfo> + <AssemblyName>DocTest</AssemblyName> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <TypeParameters> + <TypeParameter Name="T" /> + </TypeParameters> + <Base> + <BaseTypeName>System.Object</BaseTypeName> + </Base> + <Interfaces /> + <Docs> + <typeparam name="T">To be added.</typeparam> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + <Members> + <Member MemberName=".ctor"> + <MemberSignature Language="C#" Value="public NestedClass ();" /> + <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" /> + <MemberType>Constructor</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Parameters /> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="M"> + <MemberSignature Language="C#" Value="public void M (int i);" /> + <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void M(int32 i) cil managed" /> + <MemberType>Method</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Void</ReturnType> + </ReturnValue> + <Parameters> + <Parameter Name="i" Type="System.Int32" /> + </Parameters> + <Docs> + <param name="i">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="value"> + <MemberSignature Language="C#" Value="public int value;" /> + <MemberSignature Language="ILAsm" Value=".field public int32 value" /> + <MemberType>Field</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Int32</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + </Members> +</Type> diff --git a/mdoc/Test/en.expected-javascript/Mono.DocTest/Widget.xml b/mdoc/Test/en.expected-javascript/Mono.DocTest/Widget.xml new file mode 100644 index 00000000..4a8fa4b4 --- /dev/null +++ b/mdoc/Test/en.expected-javascript/Mono.DocTest/Widget.xml @@ -0,0 +1,881 @@ +<Type Name="Widget" FullName="Mono.DocTest.Widget"> + <TypeSignature Language="C#" Value="public class Widget : Mono.DocTest.IProcess" /> + <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit Widget extends System.Object implements class Mono.DocTest.IProcess" /> + <AssemblyInfo> + <AssemblyName>DocTest</AssemblyName> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Base> + <BaseTypeName>System.Object</BaseTypeName> + </Base> + <Interfaces> + <Interface> + <InterfaceName>Mono.DocTest.IProcess</InterfaceName> + </Interface> + </Interfaces> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + <Members> + <Member MemberName=".ctor"> + <MemberSignature Language="C#" Value="public Widget ();" /> + <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" /> + <MemberSignature Language="JavaScript" Value="function Widget()" Usage="var widget = new Widget();" /> + <MemberType>Constructor</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Parameters /> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName=".ctor"> + <MemberSignature Language="C#" Value="public Widget (Converter<string,string> c);" /> + <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class System.Converter`2<string, string> c) cil managed" /> + <MemberSignature Language="JavaScript" Value="function Widget(c)" Usage="var widget = new Widget(c);" /> + <MemberType>Constructor</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Parameters> + <Parameter Name="c" Type="System.Converter<System.String,System.String>" /> + </Parameters> + <Docs> + <param name="c">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName=".ctor"> + <MemberSignature Language="C#" Value="public Widget (string s);" /> + <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(string s) cil managed" /> + <MemberSignature Language="JavaScript" Value="function Widget(s)" Usage="var widget = new Widget(s);" /> + <MemberType>Constructor</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Parameters> + <Parameter Name="s" Type="System.String" /> + </Parameters> + <Docs> + <param name="s">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="AnEvent"> + <MemberSignature Language="C#" Value="public event Mono.DocTest.Widget.Del AnEvent;" /> + <MemberSignature Language="ILAsm" Value=".event class Mono.DocTest.Widget/Del AnEvent" /> + <MemberSignature Language="JavaScript" Usage="function onAnEvent(eventArgs) { /* Your code */ }
widget.addEventListener("anevent", onAnEvent);
widget.removeEventListener("anevent", onAnEvent);
- or -
widget.onanevent = onAnEvent;" /> + <MemberType>Event</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Attributes> + <Attribute> + <AttributeName>Mono.DocTest.Doc("Del event")</AttributeName> + </Attribute> + <Attribute> + <AttributeName>add: Mono.DocTest.Doc("Del add accessor")</AttributeName> + </Attribute> + <Attribute> + <AttributeName>remove: Mono.DocTest.Doc("Del remove accessor")</AttributeName> + </Attribute> + </Attributes> + <ReturnValue> + <ReturnType>Mono.DocTest.Widget+Del</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="AnotherEvent"> + <MemberSignature Language="C#" Value="protected event Mono.DocTest.Widget.Del AnotherEvent;" /> + <MemberSignature Language="ILAsm" Value=".event class Mono.DocTest.Widget/Del AnotherEvent" /> + <MemberType>Event</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>Mono.DocTest.Widget+Del</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="array1"> + <MemberSignature Language="C#" Value="public long[] array1;" /> + <MemberSignature Language="ILAsm" Value=".field public int64[] array1" /> + <MemberType>Field</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Int64[]</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="array2"> + <MemberSignature Language="C#" Value="public Mono.DocTest.Widget[,] array2;" /> + <MemberSignature Language="ILAsm" Value=".field public class Mono.DocTest.Widget[,] array2" /> + <MemberType>Field</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>Mono.DocTest.Widget[,]</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="classCtorError"> + <MemberSignature Language="C#" Value="public static readonly string[] classCtorError;" /> + <MemberSignature Language="ILAsm" Value=".field public static initonly string[] classCtorError" /> + <MemberType>Field</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.String[]</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Default"> + <MemberSignature Language="C#" Value="public void Default (int a = 1, int b = 2);" /> + <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Default(int32 a, int32 b) cil managed" /> + <MemberSignature Language="JavaScript" Value="function default(a, b)" Usage="widget.default(a, b)" /> + <MemberType>Method</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Void</ReturnType> + </ReturnValue> + <Parameters> + <Parameter Name="a" Type="System.Int32" /> + <Parameter Name="b" Type="System.Int32" /> + </Parameters> + <Docs> + <param name="a">To be added.</param> + <param name="b">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Default"> + <MemberSignature Language="C#" Value="public void Default (string a = "a", char b = 'b');" /> + <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Default(string a, char b) cil managed" /> + <MemberSignature Language="JavaScript" Value="function default(a, b)" Usage="widget.default(a, b)" /> + <MemberType>Method</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Void</ReturnType> + </ReturnValue> + <Parameters> + <Parameter Name="a" Type="System.String" /> + <Parameter Name="b" Type="System.Char" /> + </Parameters> + <Docs> + <param name="a">To be added.</param> + <param name="b">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="defaultColor"> + <MemberSignature Language="C#" Value="protected static Mono.DocTest.Color defaultColor;" /> + <MemberSignature Language="ILAsm" Value=".field family static valuetype Mono.DocTest.Color defaultColor" /> + <MemberType>Field</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>Mono.DocTest.Color</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Dynamic0"> + <MemberSignature Language="C#" Value="public dynamic Dynamic0 (dynamic a, dynamic b);" /> + <MemberSignature Language="ILAsm" Value=".method public hidebysig instance object Dynamic0(object a, object b) cil managed" /> + <MemberSignature Language="JavaScript" Value="function dynamic0(a, b)" Usage="var object = widget.dynamic0(a, b)" /> + <MemberType>Method</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Object</ReturnType> + </ReturnValue> + <Parameters> + <Parameter Name="a" Type="System.Object" /> + <Parameter Name="b" Type="System.Object" /> + </Parameters> + <Docs> + <param name="a">To be added.</param> + <param name="b">To be added.</param> + <summary>To be added.</summary> + <returns>To be added.</returns> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Dynamic1"> + <MemberSignature Language="C#" Value="public System.Collections.Generic.Dictionary<dynamic,string> Dynamic1 (System.Collections.Generic.Dictionary<dynamic,string> value);" /> + <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class System.Collections.Generic.Dictionary`2<object, string> Dynamic1(class System.Collections.Generic.Dictionary`2<object, string> value) cil managed" /> + <MemberSignature Language="JavaScript" Value="function dynamic1(value)" Usage="var dictionary = widget.dynamic1(value)" /> + <MemberType>Method</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Collections.Generic.Dictionary<System.Object,System.String></ReturnType> + </ReturnValue> + <Parameters> + <Parameter Name="value" Type="System.Collections.Generic.Dictionary<System.Object,System.String>" /> + </Parameters> + <Docs> + <param name="value">To be added.</param> + <summary>To be added.</summary> + <returns>To be added.</returns> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Dynamic2"> + <MemberSignature Language="C#" Value="public Func<string,dynamic> Dynamic2 (Func<string,dynamic> value);" /> + <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class System.Func`2<string, object> Dynamic2(class System.Func`2<string, object> value) cil managed" /> + <MemberSignature Language="JavaScript" Value="function dynamic2(value)" Usage="var func = widget.dynamic2(value)" /> + <MemberType>Method</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Func<System.String,System.Object></ReturnType> + </ReturnValue> + <Parameters> + <Parameter Name="value" Type="System.Func<System.String,System.Object>" /> + </Parameters> + <Docs> + <param name="value">To be added.</param> + <summary>To be added.</summary> + <returns>To be added.</returns> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Dynamic3"> + <MemberSignature Language="C#" Value="public Func<Func<string,dynamic>,Func<dynamic,string>> Dynamic3 (Func<Func<string,dynamic>,Func<dynamic,string>> value);" /> + <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class System.Func`2<class System.Func`2<string, object>, class System.Func`2<object, string>> Dynamic3(class System.Func`2<class System.Func`2<string, object>, class System.Func`2<object, string>> value) cil managed" /> + <MemberSignature Language="JavaScript" Value="function dynamic3(value)" Usage="var func = widget.dynamic3(value)" /> + <MemberType>Method</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Func<System.Func<System.String,System.Object>,System.Func<System.Object,System.String>></ReturnType> + </ReturnValue> + <Parameters> + <Parameter Name="value" Type="System.Func<System.Func<System.String,System.Object>,System.Func<System.Object,System.String>>" /> + </Parameters> + <Docs> + <param name="value">To be added.</param> + <summary>To be added.</summary> + <returns>To be added.</returns> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="DynamicE1"> + <MemberSignature Language="C#" Value="public event Func<dynamic> DynamicE1;" /> + <MemberSignature Language="ILAsm" Value=".event class System.Func`1<object> DynamicE1" /> + <MemberSignature Language="JavaScript" Usage="function onDynamicE1(eventArgs) { /* Your code */ }
widget.addEventListener("dynamice1", onDynamicE1);
widget.removeEventListener("dynamice1", onDynamicE1);
- or -
widget.ondynamice1 = onDynamicE1;" /> + <MemberType>Event</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Attributes> + <Attribute> + <AttributeName>System.Obsolete("why not")</AttributeName> + </Attribute> + </Attributes> + <ReturnValue> + <ReturnType>System.Func<System.Object></ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="DynamicE2"> + <MemberSignature Language="C#" Value="public event Func<dynamic> DynamicE2;" /> + <MemberSignature Language="ILAsm" Value=".event class System.Func`1<object> DynamicE2" /> + <MemberSignature Language="JavaScript" Usage="function onDynamicE2(eventArgs) { /* Your code */ }
widget.addEventListener("dynamice2", onDynamicE2);
widget.removeEventListener("dynamice2", onDynamicE2);
- or -
widget.ondynamice2 = onDynamicE2;" /> + <MemberType>Event</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Func<System.Object></ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="DynamicF"> + <MemberSignature Language="C#" Value="public Func<Func<string,dynamic,string>,Func<dynamic,Func<dynamic>,string>> DynamicF;" /> + <MemberSignature Language="ILAsm" Value=".field public class System.Func`2<class System.Func`3<string, object, string>, class System.Func`3<object, class System.Func`1<object>, string>> DynamicF" /> + <MemberType>Field</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Func<System.Func<System.String,System.Object,System.String>,System.Func<System.Object,System.Func<System.Object>,System.String>></ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="DynamicP"> + <MemberSignature Language="C#" Value="public Func<Func<string,dynamic,string>,Func<dynamic,Func<dynamic>,string>> DynamicP { get; }" /> + <MemberSignature Language="ILAsm" Value=".property instance class System.Func`2<class System.Func`3<string, object, string>, class System.Func`3<object, class System.Func`1<object>, string>> DynamicP" /> + <MemberSignature Language="JavaScript" Usage="var func = widget.dynamicP;" /> + <MemberType>Property</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Func<System.Func<System.String,System.Object,System.String>,System.Func<System.Object,System.Func<System.Object>,System.String>></ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <value>To be added.</value> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Height"> + <MemberSignature Language="C#" Value="protected long Height { get; }" /> + <MemberSignature Language="ILAsm" Value=".property instance int64 Height" /> + <MemberType>Property</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Attributes> + <Attribute> + <AttributeName>Mono.DocTest.Doc("Height property")</AttributeName> + </Attribute> + </Attributes> + <ReturnValue> + <ReturnType>System.Int64</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <value>To be added.</value> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Item"> + <MemberSignature Language="C#" Value="public int this[int i] { get; set; }" /> + <MemberSignature Language="ILAsm" Value=".property instance int32 Item(int32)" /> + <MemberType>Property</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Attributes> + <Attribute> + <AttributeName>Mono.DocTest.Doc("Item property")</AttributeName> + </Attribute> + <Attribute> + <AttributeName>set: Mono.DocTest.Doc("Item property set accessor")</AttributeName> + </Attribute> + </Attributes> + <ReturnValue> + <ReturnType>System.Int32</ReturnType> + </ReturnValue> + <Parameters> + <Parameter Name="i" Type="System.Int32" /> + </Parameters> + <Docs> + <param name="i">To be added.</param> + <summary>To be added.</summary> + <value>To be added.</value> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Item"> + <MemberSignature Language="C#" Value="public int this[string s, int i] { get; set; }" /> + <MemberSignature Language="ILAsm" Value=".property instance int32 Item(string, int32)" /> + <MemberType>Property</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Int32</ReturnType> + </ReturnValue> + <Parameters> + <Parameter Name="s" Type="System.String" /> + <Parameter Name="i" Type="System.Int32" /> + </Parameters> + <Docs> + <param name="s">To be added.</param> + <param name="i">To be added.</param> + <summary>To be added.</summary> + <value>To be added.</value> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="M0"> + <MemberSignature Language="C#" Value="public static void M0 ();" /> + <MemberSignature Language="ILAsm" Value=".method public static hidebysig void M0() cil managed" /> + <MemberSignature Language="JavaScript" Value="function m0()" Usage="Mono.DocTest.Widget.m0()" /> + <MemberType>Method</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Void</ReturnType> + </ReturnValue> + <Parameters /> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="M1"> + <MemberSignature Language="C#" Value="public void M1 (char c, out float f, ref Mono.DocTest.DocValueType v);" /> + <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void M1(char c, [out] float32& f, valuetype Mono.DocTest.DocValueType& v) cil managed" /> + <MemberType>Method</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Attributes> + <Attribute> + <AttributeName>Mono.DocTest.Doc("normal DocAttribute", Field=true)</AttributeName> + </Attribute> + </Attributes> + <ReturnValue> + <ReturnType>System.Void</ReturnType> + <Attributes> + <Attribute> + <AttributeName>Mono.DocTest.Doc("return:DocAttribute", Property=typeof(Mono.DocTest.Widget))</AttributeName> + </Attribute> + </Attributes> + </ReturnValue> + <Parameters> + <Parameter Name="c" Type="System.Char"> + <Attributes> + <Attribute> + <AttributeName>Mono.DocTest.Doc("c", FlagsEnum=System.ConsoleModifiers.Alt | System.ConsoleModifiers.Control)</AttributeName> + </Attribute> + </Attributes> + </Parameter> + <Parameter Name="f" Type="System.Single&" RefType="out"> + <Attributes> + <Attribute> + <AttributeName>Mono.DocTest.Doc("f", NonFlagsEnum=Mono.DocTest.Color.Red)</AttributeName> + </Attribute> + </Attributes> + </Parameter> + <Parameter Name="v" Type="Mono.DocTest.DocValueType&" RefType="ref"> + <Attributes> + <Attribute> + <AttributeName>Mono.DocTest.Doc("v")</AttributeName> + </Attribute> + </Attributes> + </Parameter> + </Parameters> + <Docs> + <param name="c">To be added.</param> + <param name="f">To be added.</param> + <param name="v">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="M2"> + <MemberSignature Language="C#" Value="public void M2 (short[] x1, int[,] x2, long[][] x3);" /> + <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void M2(int16[] x1, int32[,] x2, int64[][] x3) cil managed" /> + <MemberSignature Language="JavaScript" Value="function m2(x1, x2, x3)" Usage="widget.m2(x1, x2, x3)" /> + <MemberType>Method</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Void</ReturnType> + </ReturnValue> + <Parameters> + <Parameter Name="x1" Type="System.Int16[]" /> + <Parameter Name="x2" Type="System.Int32[,]" /> + <Parameter Name="x3" Type="System.Int64[][]" /> + </Parameters> + <Docs> + <param name="x1">To be added.</param> + <param name="x2">To be added.</param> + <param name="x3">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="M3"> + <MemberSignature Language="C#" Value="protected void M3 (long[][] x3, Mono.DocTest.Widget[,,][] x4);" /> + <MemberSignature Language="ILAsm" Value=".method familyhidebysig instance void M3(int64[][] x3, class Mono.DocTest.Widget[,,][] x4) cil managed" /> + <MemberSignature Language="JavaScript" Value="function m3(x3, x4)" Usage="widget.m3(x3, x4)" /> + <MemberType>Method</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Void</ReturnType> + </ReturnValue> + <Parameters> + <Parameter Name="x3" Type="System.Int64[][]" /> + <Parameter Name="x4" Type="Mono.DocTest.Widget[,,][]" /> + </Parameters> + <Docs> + <param name="x3">To be added.</param> + <param name="x4">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="M4"> + <MemberSignature Language="C#" Value="protected void M4 (char* pc, Mono.DocTest.Color** ppf);" /> + <MemberSignature Language="ILAsm" Value=".method familyhidebysig instance void M4(char* pc, valuetype Mono.DocTest.Color** ppf) cil managed" /> + <MemberSignature Language="JavaScript" Value="function m4(pc, ppf)" Usage="widget.m4(pc, ppf)" /> + <MemberType>Method</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Void</ReturnType> + </ReturnValue> + <Parameters> + <Parameter Name="pc" Type="System.Char*" /> + <Parameter Name="ppf" Type="Mono.DocTest.Color**" /> + </Parameters> + <Docs> + <param name="pc">To be added.</param> + <param name="ppf">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="M5"> + <MemberSignature Language="C#" Value="protected void M5 (void* pv, double*[,][] pd);" /> + <MemberSignature Language="ILAsm" Value=".method familyhidebysig instance void M5(void* pv, float64*[,][] pd) cil managed" /> + <MemberSignature Language="JavaScript" Value="function m5(pv, pd)" Usage="widget.m5(pv, pd)" /> + <MemberType>Method</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Void</ReturnType> + </ReturnValue> + <Parameters> + <Parameter Name="pv" Type="System.Void*" /> + <Parameter Name="pd" Type="System.Double*[,][]" /> + </Parameters> + <Docs> + <param name="pv">To be added.</param> + <param name="pd">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="M6"> + <MemberSignature Language="C#" Value="protected void M6 (int i, params object[] args);" /> + <MemberSignature Language="ILAsm" Value=".method familyhidebysig instance void M6(int32 i, object[] args) cil managed" /> + <MemberSignature Language="JavaScript" Value="function m6(i, args)" Usage="widget.m6(i, args)" /> + <MemberType>Method</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Void</ReturnType> + </ReturnValue> + <Parameters> + <Parameter Name="i" Type="System.Int32" /> + <Parameter Name="args" Type="System.Object[]"> + <Attributes> + <Attribute> + <AttributeName>System.ParamArray</AttributeName> + </Attribute> + </Attributes> + </Parameter> + </Parameters> + <Docs> + <param name="i">To be added.</param> + <param name="args">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="M7"> + <MemberSignature Language="C#" Value="public void M7 (Mono.DocTest.Widget.NestedClass.Double.Triple.Quadruple a);" /> + <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void M7(class Mono.DocTest.Widget/NestedClass/Double/Triple/Quadruple a) cil managed" /> + <MemberSignature Language="JavaScript" Value="function m7(a)" Usage="widget.m7(a)" /> + <MemberType>Method</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Void</ReturnType> + </ReturnValue> + <Parameters> + <Parameter Name="a" Type="Mono.DocTest.Widget+NestedClass+Double+Triple+Quadruple" /> + </Parameters> + <Docs> + <param name="a">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="message"> + <MemberSignature Language="C#" Value="public string message;" /> + <MemberSignature Language="ILAsm" Value=".field public string message" /> + <MemberType>Field</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.String</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="monthlyAverage"> + <MemberSignature Language="C#" Value="protected internal readonly double monthlyAverage;" /> + <MemberSignature Language="ILAsm" Value=".field familyorassembly initonly float64 monthlyAverage" /> + <MemberType>Field</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Double</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="op_Addition"> + <MemberSignature Language="C#" Value="public static Mono.DocTest.Widget operator + (Mono.DocTest.Widget x1, Mono.DocTest.Widget x2);" /> + <MemberSignature Language="ILAsm" Value=".method public static hidebysig specialname class Mono.DocTest.Widget op_Addition(class Mono.DocTest.Widget x1, class Mono.DocTest.Widget x2) cil managed" /> + <MemberType>Method</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>Mono.DocTest.Widget</ReturnType> + </ReturnValue> + <Parameters> + <Parameter Name="x1" Type="Mono.DocTest.Widget" /> + <Parameter Name="x2" Type="Mono.DocTest.Widget" /> + </Parameters> + <Docs> + <param name="x1">To be added.</param> + <param name="x2">To be added.</param> + <summary>To be added.</summary> + <returns>To be added.</returns> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="op_Division"> + <MemberSignature Language="C#" Value="public static Mono.DocTest.Widget op_Division;" /> + <MemberSignature Language="ILAsm" Value=".field public static class Mono.DocTest.Widget op_Division" /> + <MemberType>Field</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>Mono.DocTest.Widget</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="op_Explicit"> + <MemberSignature Language="C#" Value="public static explicit operator int (Mono.DocTest.Widget x);" /> + <MemberSignature Language="ILAsm" Value=".method public static hidebysig specialname int32 op_Explicit(class Mono.DocTest.Widget x) cil managed" /> + <MemberType>Method</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Int32</ReturnType> + </ReturnValue> + <Parameters> + <Parameter Name="x" Type="Mono.DocTest.Widget" /> + </Parameters> + <Docs> + <param name="x">To be added.</param> + <summary>To be added.</summary> + <returns>To be added.</returns> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="op_Implicit"> + <MemberSignature Language="C#" Value="public static implicit operator long (Mono.DocTest.Widget x);" /> + <MemberSignature Language="ILAsm" Value=".method public static hidebysig specialname int64 op_Implicit(class Mono.DocTest.Widget x) cil managed" /> + <MemberType>Method</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Int64</ReturnType> + </ReturnValue> + <Parameters> + <Parameter Name="x" Type="Mono.DocTest.Widget" /> + </Parameters> + <Docs> + <param name="x">To be added.</param> + <summary>To be added.</summary> + <returns>To be added.</returns> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="op_UnaryPlus"> + <MemberSignature Language="C#" Value="public static Mono.DocTest.Widget operator + (Mono.DocTest.Widget x);" /> + <MemberSignature Language="ILAsm" Value=".method public static hidebysig specialname class Mono.DocTest.Widget op_UnaryPlus(class Mono.DocTest.Widget x) cil managed" /> + <MemberType>Method</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>Mono.DocTest.Widget</ReturnType> + </ReturnValue> + <Parameters> + <Parameter Name="x" Type="Mono.DocTest.Widget" /> + </Parameters> + <Docs> + <param name="x">To be added.</param> + <summary>To be added.</summary> + <returns>To be added.</returns> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="pCount"> + <MemberSignature Language="C#" Value="public int* pCount;" /> + <MemberSignature Language="ILAsm" Value=".field public int32* pCount" /> + <MemberType>Field</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Int32*</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="PI"> + <MemberSignature Language="C#" Value="protected internal const double PI = 3.14159;" /> + <MemberSignature Language="ILAsm" Value=".field familyorassembly static literal float64 PI = (3.14159)" /> + <MemberType>Field</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Double</ReturnType> + </ReturnValue> + <MemberValue>3.14159</MemberValue> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="ppValues"> + <MemberSignature Language="C#" Value="public float** ppValues;" /> + <MemberSignature Language="ILAsm" Value=".field public float32** ppValues" /> + <MemberType>Field</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Single**</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Width"> + <MemberSignature Language="C#" Value="public int Width { get; protected set; }" /> + <MemberSignature Language="ILAsm" Value=".property instance int32 Width" /> + <MemberSignature Language="JavaScript" Usage="var int32 = widget.width;" /> + <MemberType>Property</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Attributes> + <Attribute> + <AttributeName>Mono.DocTest.Doc("Width property")</AttributeName> + </Attribute> + <Attribute> + <AttributeName>get: Mono.DocTest.Doc("Width get accessor")</AttributeName> + </Attribute> + <Attribute> + <AttributeName>set: Mono.DocTest.Doc("Width set accessor")</AttributeName> + </Attribute> + </Attributes> + <ReturnValue> + <ReturnType>System.Int32</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <value>To be added.</value> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="X"> + <MemberSignature Language="C#" Value="protected internal short X { set; }" /> + <MemberSignature Language="ILAsm" Value=".property instance int16 X" /> + <MemberType>Property</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Int16</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <value>To be added.</value> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Y"> + <MemberSignature Language="C#" Value="protected internal double Y { get; set; }" /> + <MemberSignature Language="ILAsm" Value=".property instance float64 Y" /> + <MemberType>Property</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Double</ReturnType> + </ReturnValue> + <Docs> + <summary>To be added.</summary> + <value>To be added.</value> + <remarks>To be added.</remarks> + </Docs> + </Member> + </Members> +</Type> diff --git a/mdoc/Test/en.expected-javascript/NoNamespace.xml b/mdoc/Test/en.expected-javascript/NoNamespace.xml new file mode 100644 index 00000000..96f648fb --- /dev/null +++ b/mdoc/Test/en.expected-javascript/NoNamespace.xml @@ -0,0 +1,33 @@ +<Type Name="NoNamespace" FullName="NoNamespace"> + <TypeSignature Language="C#" Value="public class NoNamespace" /> + <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit NoNamespace extends System.Object" /> + <TypeSignature Language="JavaScript" Value="function NoNamespace()" Usage="var noNamespace = new NoNamespace();" /> + <AssemblyInfo> + <AssemblyName>DocTest</AssemblyName> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Base> + <BaseTypeName>System.Object</BaseTypeName> + </Base> + <Interfaces /> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + <Members> + <Member MemberName=".ctor"> + <MemberSignature Language="C#" Value="public NoNamespace ();" /> + <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" /> + <MemberSignature Language="JavaScript" Value="function NoNamespace()" Usage="var noNamespace = new NoNamespace();" /> + <MemberType>Constructor</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Parameters /> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + </Members> +</Type> diff --git a/mdoc/Test/en.expected-javascript/System/Action`1.xml b/mdoc/Test/en.expected-javascript/System/Action`1.xml new file mode 100644 index 00000000..7560590f --- /dev/null +++ b/mdoc/Test/en.expected-javascript/System/Action`1.xml @@ -0,0 +1,26 @@ +<Type Name="Action<T>" FullName="System.Action<T>"> + <TypeSignature Language="C#" Value="public delegate void Action<T>(T obj);" /> + <TypeSignature Language="ILAsm" Value=".class public auto ansi sealed Action`1<T> extends System.MulticastDelegate" /> + <AssemblyInfo> + <AssemblyName>DocTest</AssemblyName> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <TypeParameters> + <TypeParameter Name="T" /> + </TypeParameters> + <Base> + <BaseTypeName>System.Delegate</BaseTypeName> + </Base> + <Parameters> + <Parameter Name="obj" Type="T" /> + </Parameters> + <ReturnValue> + <ReturnType>System.Void</ReturnType> + </ReturnValue> + <Docs> + <typeparam name="T">To be added.</typeparam> + <param name="obj">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> +</Type> diff --git a/mdoc/Test/en.expected-javascript/System/Array.xml b/mdoc/Test/en.expected-javascript/System/Array.xml new file mode 100644 index 00000000..13ba92bd --- /dev/null +++ b/mdoc/Test/en.expected-javascript/System/Array.xml @@ -0,0 +1,110 @@ +<Type Name="Array" FullName="System.Array"> + <TypeSignature Language="C#" Value="public class Array" /> + <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit Array extends System.Object" /> + <TypeSignature Language="JavaScript" Value="function Array()" Usage="var array = new Array();" /> + <AssemblyInfo> + <AssemblyName>DocTest</AssemblyName> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Base> + <BaseTypeName>System.Object</BaseTypeName> + </Base> + <Interfaces /> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + <Members> + <Member MemberName=".ctor"> + <MemberSignature Language="C#" Value="public Array ();" /> + <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" /> + <MemberSignature Language="JavaScript" Value="function Array()" Usage="var array = new Array();" /> + <MemberType>Constructor</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Parameters /> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="AsReadOnly<T>"> + <MemberSignature Language="C#" Value="public static System.Collections.ObjectModel.ReadOnlyCollection<T> AsReadOnly<T> (T[] array);" /> + <MemberSignature Language="ILAsm" Value=".method public static hidebysig class System.Collections.ObjectModel.ReadOnlyCollection`1<!!T> AsReadOnly<T>(!!T[] array) cil managed" /> + <MemberType>Method</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Collections.ObjectModel.ReadOnlyCollection<T></ReturnType> + </ReturnValue> + <TypeParameters> + <TypeParameter Name="T" /> + </TypeParameters> + <Parameters> + <Parameter Name="array" Type="T[]" /> + </Parameters> + <Docs> + <typeparam name="T">To be added.</typeparam> + <param name="array">To be added.</param> + <summary>To be added.</summary> + <returns>To be added.</returns> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="ConvertAll<TInput,TOutput>"> + <MemberSignature Language="C#" Value="public static TOutput[] ConvertAll<TInput,TOutput> (TInput[] array, Converter<TInput,TOutput> converter);" /> + <MemberSignature Language="ILAsm" Value=".method public static hidebysig !!TOutput[] ConvertAll<TInput, TOutput>(!!TInput[] array, class System.Converter`2<!!TInput, !!TOutput> converter) cil managed" /> + <MemberType>Method</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>TOutput[]</ReturnType> + </ReturnValue> + <TypeParameters> + <TypeParameter Name="TInput" /> + <TypeParameter Name="TOutput" /> + </TypeParameters> + <Parameters> + <Parameter Name="array" Type="TInput[]" /> + <Parameter Name="converter" Type="System.Converter<TInput,TOutput>" /> + </Parameters> + <Docs> + <typeparam name="TInput">To be added.</typeparam> + <typeparam name="TOutput">To be added.</typeparam> + <param name="array">To be added.</param> + <param name="converter">To be added.</param> + <summary>To be added.</summary> + <returns>To be added.</returns> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="Resize<T>"> + <MemberSignature Language="C#" Value="public static void Resize<T> (ref T[] array, int newSize);" /> + <MemberSignature Language="ILAsm" Value=".method public static hidebysig void Resize<T>(!!T[]& array, int32 newSize) cil managed" /> + <MemberType>Method</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Void</ReturnType> + </ReturnValue> + <TypeParameters> + <TypeParameter Name="T" /> + </TypeParameters> + <Parameters> + <Parameter Name="array" Type="T[]&" RefType="ref" /> + <Parameter Name="newSize" Type="System.Int32" /> + </Parameters> + <Docs> + <typeparam name="T">To be added.</typeparam> + <param name="array">To be added.</param> + <param name="newSize">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + </Member> + </Members> +</Type> diff --git a/mdoc/Test/en.expected-javascript/System/AsyncCallback.xml b/mdoc/Test/en.expected-javascript/System/AsyncCallback.xml new file mode 100644 index 00000000..d0869234 --- /dev/null +++ b/mdoc/Test/en.expected-javascript/System/AsyncCallback.xml @@ -0,0 +1,23 @@ +<Type Name="AsyncCallback" FullName="System.AsyncCallback"> + <TypeSignature Language="C#" Value="public delegate void AsyncCallback(IAsyncResult ar);" /> + <TypeSignature Language="ILAsm" Value=".class public auto ansi sealed AsyncCallback extends System.MulticastDelegate" /> + <TypeSignature Language="JavaScript" Usage="var asyncCallbackHandler = function(ar){
/* Your code */
}" /> + <AssemblyInfo> + <AssemblyName>DocTest</AssemblyName> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Base> + <BaseTypeName>System.Delegate</BaseTypeName> + </Base> + <Parameters> + <Parameter Name="ar" Type="System.IAsyncResult" /> + </Parameters> + <ReturnValue> + <ReturnType>System.Void</ReturnType> + </ReturnValue> + <Docs> + <param name="ar">To be added.</param> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> +</Type> diff --git a/mdoc/Test/en.expected-javascript/System/Environment+SpecialFolder.xml b/mdoc/Test/en.expected-javascript/System/Environment+SpecialFolder.xml new file mode 100644 index 00000000..6e6a9408 --- /dev/null +++ b/mdoc/Test/en.expected-javascript/System/Environment+SpecialFolder.xml @@ -0,0 +1,16 @@ +<Type Name="Environment+SpecialFolder" FullName="System.Environment+SpecialFolder"> + <TypeSignature Language="C#" Value="public enum Environment.SpecialFolder" /> + <TypeSignature Language="ILAsm" Value=".class nested public auto ansi sealed Environment/SpecialFolder extends System.Enum" /> + <AssemblyInfo> + <AssemblyName>DocTest</AssemblyName> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Base> + <BaseTypeName>System.Enum</BaseTypeName> + </Base> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + <Members /> +</Type> diff --git a/mdoc/Test/en.expected-javascript/System/Environment.xml b/mdoc/Test/en.expected-javascript/System/Environment.xml new file mode 100644 index 00000000..3a82d793 --- /dev/null +++ b/mdoc/Test/en.expected-javascript/System/Environment.xml @@ -0,0 +1,71 @@ +<Type Name="Environment" FullName="System.Environment"> + <TypeSignature Language="C#" Value="public static class Environment" /> + <TypeSignature Language="ILAsm" Value=".class public auto ansi abstract sealed beforefieldinit Environment extends System.Object" /> + <AssemblyInfo> + <AssemblyName>DocTest</AssemblyName> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <Base> + <BaseTypeName>System.Object</BaseTypeName> + </Base> + <Interfaces /> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> + <Members> + <Member MemberName="GetFolderPath"> + <MemberSignature Language="C#" Value="public static string GetFolderPath (Environment.SpecialFolder folder);" /> + <MemberSignature Language="ILAsm" Value=".method public static hidebysig string GetFolderPath(valuetype System.Environment/SpecialFolder folder) cil managed" /> + <MemberSignature Language="JavaScript" Value="function getFolderPath(folder)" Usage="var string = System.Environment.getFolderPath(folder)" /> + <MemberType>Method</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.String</ReturnType> + </ReturnValue> + <Parameters> + <Parameter Name="folder" Type="System.Environment+SpecialFolder" /> + </Parameters> + <Docs> + <param name="folder">To be added.</param> + <summary>To be added.</summary> + <returns>To be added.</returns> + <remarks>To be added.</remarks> + </Docs> + </Member> + <Member MemberName="IsAligned<T>"> + <MemberSignature Language="C#" Value="public static bool IsAligned<T> (this T[] vect, int index) where T : struct;" /> + <MemberSignature Language="ILAsm" Value=".method public static hidebysig bool IsAligned<struct .ctor (class System.ValueType) T>(!!T[] vect, int32 index) cil managed" /> + <MemberType>Method</MemberType> + <AssemblyInfo> + <AssemblyVersion>0.0.0.0</AssemblyVersion> + </AssemblyInfo> + <ReturnValue> + <ReturnType>System.Boolean</ReturnType> + </ReturnValue> + <TypeParameters> + <TypeParameter Name="T"> + <Constraints> + <ParameterAttribute>DefaultConstructorConstraint</ParameterAttribute> + <ParameterAttribute>NotNullableValueTypeConstraint</ParameterAttribute> + <BaseTypeName>System.ValueType</BaseTypeName> + </Constraints> + </TypeParameter> + </TypeParameters> + <Parameters> + <Parameter Name="vect" Type="T[]" RefType="this" /> + <Parameter Name="index" Type="System.Int32" /> + </Parameters> + <Docs> + <typeparam name="T">To be added.</typeparam> + <param name="vect">To be added.</param> + <param name="index">To be added.</param> + <summary>To be added.</summary> + <returns>To be added.</returns> + <remarks>To be added.</remarks> + </Docs> + </Member> + </Members> +</Type> diff --git a/mdoc/Test/en.expected-javascript/index.xml b/mdoc/Test/en.expected-javascript/index.xml new file mode 100644 index 00000000..4839cbb1 --- /dev/null +++ b/mdoc/Test/en.expected-javascript/index.xml @@ -0,0 +1,223 @@ +<Overview> + <Assemblies> + <Assembly Name="DocTest" Version="0.0.0.0"> + <Attributes> + <Attribute> + <AttributeName>System.Diagnostics.Debuggable(System.Diagnostics.DebuggableAttribute+DebuggingModes.IgnoreSymbolStoreSequencePoints)</AttributeName> + </Attribute> + <Attribute> + <AttributeName>System.Runtime.CompilerServices.RuntimeCompatibility(WrapNonExceptionThrows=true)</AttributeName> + </Attribute> + </Attributes> + </Assembly> + </Assemblies> + <Remarks>To be added.</Remarks> + <Copyright>To be added.</Copyright> + <Types> + <Namespace Name=""> + <Type Name="NoNamespace" Kind="Class" /> + </Namespace> + <Namespace Name="Mono.DocTest"> + <Type Name="Color" Kind="Enumeration" /> + <Type Name="D" Kind="Delegate" /> + <Type Name="DocAttribute" Kind="Class" /> + <Type Name="DocValueType" Kind="Structure" /> + <Type Name="IProcess" Kind="Interface" /> + <Type Name="UseLists" Kind="Class" /> + <Type Name="Widget" Kind="Class" /> + <Type Name="Widget+Del" Kind="Delegate" /> + <Type Name="Widget+Direction" Kind="Enumeration" /> + <Type Name="Widget+IMenuItem" Kind="Interface" /> + <Type Name="Widget+NestedClass" Kind="Class" /> + <Type Name="Widget+NestedClass`1" DisplayName="Widget+NestedClass<T>" Kind="Class" /> + <Type Name="Widget+NestedClass+Double" Kind="Class" /> + <Type Name="Widget+NestedClass+Double+Triple" Kind="Class" /> + <Type Name="Widget+NestedClass+Double+Triple+Quadruple" Kind="Class" /> + </Namespace> + <Namespace Name="Mono.DocTest.Generic"> + <Type Name="Extensions" Kind="Class" /> + <Type Name="Func`2" DisplayName="Func<TArg,TRet>" Kind="Delegate" /> + <Type Name="GenericBase`1" DisplayName="GenericBase<U>" Kind="Class" /> + <Type Name="GenericBase`1+FooEventArgs" DisplayName="GenericBase<U>+FooEventArgs" Kind="Class" /> + <Type Name="GenericBase`1+NestedCollection" DisplayName="GenericBase<U>+NestedCollection" Kind="Class" /> + <Type Name="GenericBase`1+NestedCollection+Enumerator" DisplayName="GenericBase<U>+NestedCollection+Enumerator" Kind="Structure" /> + <Type Name="IFoo`1" DisplayName="IFoo<T>" Kind="Interface" /> + <Type Name="MyList`1" DisplayName="MyList<T>" Kind="Class" /> + <Type Name="MyList`1+Helper`2" DisplayName="MyList<T>+Helper<U,V>" Kind="Class" /> + <Type Name="MyList`2" DisplayName="MyList<A,B>" Kind="Class" /> + </Namespace> + <Namespace Name="System"> + <Type Name="Action`1" DisplayName="Action<T>" Kind="Delegate" /> + <Type Name="Array" Kind="Class" /> + <Type Name="AsyncCallback" Kind="Delegate" /> + <Type Name="Environment" Kind="Class" /> + <Type Name="Environment+SpecialFolder" Kind="Enumeration" /> + </Namespace> + </Types> + <Title>DocTest</Title> + <ExtensionMethods> + <ExtensionMethod> + <Targets> + <Target Type="T:Mono.DocTest.Generic.IFoo`1" /> + </Targets> + <Member MemberName="Bar<T>"> + <MemberSignature Language="C#" Value="public static void Bar<T> (this Mono.DocTest.Generic.IFoo<T> self, string s);" /> + <MemberSignature Language="ILAsm" Value=".method public static hidebysig void Bar<T>(class Mono.DocTest.Generic.IFoo`1<!!T> self, string s) cil managed" /> + <MemberType>ExtensionMethod</MemberType> + <ReturnValue> + <ReturnType>System.Void</ReturnType> + </ReturnValue> + <TypeParameters> + <TypeParameter Name="T" /> + </TypeParameters> + <Parameters> + <Parameter Name="self" Type="Mono.DocTest.Generic.IFoo<T>" RefType="this" /> + <Parameter Name="s" Type="System.String" /> + </Parameters> + <Docs> + <typeparam name="T">To be added.</typeparam> + <param name="self">To be added.</param> + <param name="s">To be added.</param> + <summary>To be added.</summary> + </Docs> + <Link Type="Mono.DocTest.Generic.Extensions" Member="M:Mono.DocTest.Generic.Extensions.Bar``1(Mono.DocTest.Generic.IFoo{``0},System.String)" /> + </Member> + </ExtensionMethod> + <ExtensionMethod> + <Targets> + <Target Type="T:System.Collections.Generic.IEnumerable`1" /> + </Targets> + <Member MemberName="ForEach<T>"> + <MemberSignature Language="C#" Value="public static void ForEach<T> (this System.Collections.Generic.IEnumerable<T> self, Action<T> a);" /> + <MemberSignature Language="ILAsm" Value=".method public static hidebysig void ForEach<T>(class System.Collections.Generic.IEnumerable`1<!!T> self, class System.Action`1<!!T> a) cil managed" /> + <MemberType>ExtensionMethod</MemberType> + <ReturnValue> + <ReturnType>System.Void</ReturnType> + </ReturnValue> + <TypeParameters> + <TypeParameter Name="T" /> + </TypeParameters> + <Parameters> + <Parameter Name="self" Type="System.Collections.Generic.IEnumerable<T>" RefType="this" /> + <Parameter Name="a" Type="System.Action<T>" /> + </Parameters> + <Docs> + <typeparam name="T">To be added.</typeparam> + <param name="self">To be added.</param> + <param name="a">To be added.</param> + <summary>To be added.</summary> + </Docs> + <Link Type="Mono.DocTest.Generic.Extensions" Member="M:Mono.DocTest.Generic.Extensions.ForEach``1(System.Collections.Generic.IEnumerable{``0},System.Action{``0})" /> + </Member> + </ExtensionMethod> + <ExtensionMethod> + <Targets> + <Target Type="T:System.Collections.Generic.IEnumerable`1" /> + </Targets> + <Member MemberName="ToDouble"> + <MemberSignature Language="C#" Value="public static System.Collections.Generic.IEnumerable<double> ToDouble (this System.Collections.Generic.IEnumerable<int> list);" /> + <MemberSignature Language="ILAsm" Value=".method public static hidebysig class System.Collections.Generic.IEnumerable`1<float64> ToDouble(class System.Collections.Generic.IEnumerable`1<int32> list) cil managed" /> + <MemberSignature Language="JavaScript" Value="function toDouble(list)" Usage="var iEnumerable = Mono.DocTest.Generic.Extensions.toDouble(list)" /> + <MemberType>ExtensionMethod</MemberType> + <ReturnValue> + <ReturnType>System.Collections.Generic.IEnumerable<System.Double></ReturnType> + </ReturnValue> + <Parameters> + <Parameter Name="list" Type="System.Collections.Generic.IEnumerable<System.Int32>" RefType="this" /> + </Parameters> + <Docs> + <param name="list">To be added.</param> + <summary>To be added.</summary> + </Docs> + <Link Type="Mono.DocTest.Generic.Extensions" Member="M:Mono.DocTest.Generic.Extensions.ToDouble(System.Collections.Generic.IEnumerable{System.Int32})" /> + </Member> + </ExtensionMethod> + <ExtensionMethod> + <Targets> + <Target Type="T:Mono.DocTest.Generic.IFoo`1" /> + </Targets> + <Member MemberName="ToDouble<T>"> + <MemberSignature Language="C#" Value="public static double ToDouble<T> (this T val) where T : Mono.DocTest.Generic.IFoo<T>;" /> + <MemberSignature Language="ILAsm" Value=".method public static hidebysig float64 ToDouble<(class Mono.DocTest.Generic.IFoo`1<!!T>) T>(!!T val) cil managed" /> + <MemberType>ExtensionMethod</MemberType> + <ReturnValue> + <ReturnType>System.Double</ReturnType> + </ReturnValue> + <TypeParameters> + <TypeParameter Name="T"> + <Constraints> + <InterfaceName>Mono.DocTest.Generic.IFoo<T></InterfaceName> + </Constraints> + </TypeParameter> + </TypeParameters> + <Parameters> + <Parameter Name="val" Type="T" RefType="this" /> + </Parameters> + <Docs> + <typeparam name="T">To be added.</typeparam> + <param name="val">To be added.</param> + <summary>To be added.</summary> + </Docs> + <Link Type="Mono.DocTest.Generic.Extensions" Member="M:Mono.DocTest.Generic.Extensions.ToDouble``1(``0)" /> + </Member> + </ExtensionMethod> + <ExtensionMethod> + <Targets> + <Target Type="System.Object" /> + </Targets> + <Member MemberName="ToEnumerable<T>"> + <MemberSignature Language="C#" Value="public static System.Collections.Generic.IEnumerable<T> ToEnumerable<T> (this T self);" /> + <MemberSignature Language="ILAsm" Value=".method public static hidebysig class System.Collections.Generic.IEnumerable`1<!!T> ToEnumerable<T>(!!T self) cil managed" /> + <MemberType>ExtensionMethod</MemberType> + <ReturnValue> + <ReturnType>System.Collections.Generic.IEnumerable<T></ReturnType> + </ReturnValue> + <TypeParameters> + <TypeParameter Name="T" /> + </TypeParameters> + <Parameters> + <Parameter Name="self" Type="T" RefType="this" /> + </Parameters> + <Docs> + <typeparam name="T">To be added.</typeparam> + <param name="self">To be added.</param> + <summary>To be added.</summary> + </Docs> + <Link Type="Mono.DocTest.Generic.Extensions" Member="M:Mono.DocTest.Generic.Extensions.ToEnumerable``1(``0)" /> + </Member> + </ExtensionMethod> + <ExtensionMethod> + <Targets> + <Target Type="T:System.Array" /> + </Targets> + <Member MemberName="IsAligned<T>"> + <MemberSignature Language="C#" Value="public static bool IsAligned<T> (this T[] vect, int index) where T : struct;" /> + <MemberSignature Language="ILAsm" Value=".method public static hidebysig bool IsAligned<struct .ctor (class System.ValueType) T>(!!T[] vect, int32 index) cil managed" /> + <MemberType>ExtensionMethod</MemberType> + <ReturnValue> + <ReturnType>System.Boolean</ReturnType> + </ReturnValue> + <TypeParameters> + <TypeParameter Name="T"> + <Constraints> + <ParameterAttribute>DefaultConstructorConstraint</ParameterAttribute> + <ParameterAttribute>NotNullableValueTypeConstraint</ParameterAttribute> + <BaseTypeName>System.ValueType</BaseTypeName> + </Constraints> + </TypeParameter> + </TypeParameters> + <Parameters> + <Parameter Name="vect" Type="T[]" RefType="this" /> + <Parameter Name="index" Type="System.Int32" /> + </Parameters> + <Docs> + <typeparam name="T">To be added.</typeparam> + <param name="vect">To be added.</param> + <param name="index">To be added.</param> + <summary>To be added.</summary> + </Docs> + <Link Type="System.Environment" Member="M:System.Environment.IsAligned``1(``0[],System.Int32)" /> + </Member> + </ExtensionMethod> + </ExtensionMethods> +</Overview> diff --git a/mdoc/Test/en.expected-javascript/ns-.xml b/mdoc/Test/en.expected-javascript/ns-.xml new file mode 100644 index 00000000..36dfeb30 --- /dev/null +++ b/mdoc/Test/en.expected-javascript/ns-.xml @@ -0,0 +1,6 @@ +<Namespace Name=""> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> +</Namespace> diff --git a/mdoc/Test/en.expected-javascript/ns-Mono.DocTest.Generic.xml b/mdoc/Test/en.expected-javascript/ns-Mono.DocTest.Generic.xml new file mode 100644 index 00000000..0d3e7924 --- /dev/null +++ b/mdoc/Test/en.expected-javascript/ns-Mono.DocTest.Generic.xml @@ -0,0 +1,6 @@ +<Namespace Name="Mono.DocTest.Generic"> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> +</Namespace> diff --git a/mdoc/Test/en.expected-javascript/ns-Mono.DocTest.xml b/mdoc/Test/en.expected-javascript/ns-Mono.DocTest.xml new file mode 100644 index 00000000..96ab3e78 --- /dev/null +++ b/mdoc/Test/en.expected-javascript/ns-Mono.DocTest.xml @@ -0,0 +1,6 @@ +<Namespace Name="Mono.DocTest"> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> +</Namespace> diff --git a/mdoc/Test/en.expected-javascript/ns-System.xml b/mdoc/Test/en.expected-javascript/ns-System.xml new file mode 100644 index 00000000..c9692742 --- /dev/null +++ b/mdoc/Test/en.expected-javascript/ns-System.xml @@ -0,0 +1,6 @@ +<Namespace Name="System"> + <Docs> + <summary>To be added.</summary> + <remarks>To be added.</remarks> + </Docs> +</Namespace> diff --git a/mdoc/mdoc.Test/BasicFormatterTests.cs b/mdoc/mdoc.Test/BasicFormatterTests.cs index 4bbefe15..3cb521e6 100644 --- a/mdoc/mdoc.Test/BasicFormatterTests.cs +++ b/mdoc/mdoc.Test/BasicFormatterTests.cs @@ -107,7 +107,7 @@ namespace mdoc.Test protected void TestPropertySignature(Type type, string expected, string memberName) { var signature = GetPropertySignature(type, memberName); - Assert.AreEqual(expected, signature); + Assert.AreEqual(FormatEndings(expected), signature); } private string GetPropertySignature(Type type, string memberName) @@ -131,7 +131,7 @@ namespace mdoc.Test protected void TestFieldSignature(Type type, string expected, string memberName) { var usage = GetFieldUsage(type, memberName); - Assert.AreEqual(expected, usage); + Assert.AreEqual(FormatEndings(expected), usage); } private string GetFieldUsage(Type type, string memberName) diff --git a/mdoc/mdoc.Test/JsMemberFormatterTests.cs b/mdoc/mdoc.Test/JsMemberFormatterTests.cs new file mode 100644 index 00000000..a710457e --- /dev/null +++ b/mdoc/mdoc.Test/JsMemberFormatterTests.cs @@ -0,0 +1,40 @@ +using mdoc.Mono.Documentation.Updater.Formatters; +using mdoc.Test.SampleClasses; +using NUnit.Framework; + +namespace mdoc.Test +{ + [TestFixture] + [Category("Javascript")] + [Category("Usage")] + class JsMemberFormatterTests : BasicFormatterTests<JsMemberFormatter> + { + protected override JsMemberFormatter formatter => new JsMemberFormatter(); + + + #region Methods + [Test] + [Category("Methods")] + public void Test_AyncMethod() + => TestMethodSignature(typeof(SomeClass), + "function asyncMethod()", + nameof(SomeClass.AsyncMethod)); + #endregion + + #region Types + [Test] + [Category("Types")] + [Category("Constructors")] + public void Test_Constructor_0() + => TestTypeSignature(typeof(TestClass), + "function TestClass()"); + + [Test] + [Category("Types")] + [Category("Constructors")] + public void Test_Constructor_1() + => TestTypeSignature(typeof(SomeClass), + "function SomeClass(i, j)"); + #endregion + } +}
\ No newline at end of file diff --git a/mdoc/mdoc.Test/JsUsageFormatterTests.cs b/mdoc/mdoc.Test/JsUsageFormatterTests.cs new file mode 100644 index 00000000..ac2cf6f1 --- /dev/null +++ b/mdoc/mdoc.Test/JsUsageFormatterTests.cs @@ -0,0 +1,286 @@ +using mdoc.Mono.Documentation.Updater.Formatters; +using mdoc.Test.SampleClasses; +using Mono.Documentation.Updater; +using NUnit.Framework; + +namespace mdoc.Test +{ + [TestFixture] + [Category("Javascript")] + [Category("Usage")] + class JsUsageFormatterTests : BasicFormatterTests<JsUsageFormatter> + { + protected override JsUsageFormatter formatter => new JsUsageFormatter(); + + #region IsSupported + [Test] + public void Test_IsSupportedType_WebHostHidden() + { + Assert.IsFalse(formatter.IsSupported(GetType(typeof(WebHostHiddenTestClass)))); + } + + [Test] + public void Test_IsSupportedMember_WebHostHidden() + { + Assert.IsFalse(formatter.IsSupported(GetMethod(typeof(WebHostHiddenTestClass), + i => i.Name == nameof(WebHostHiddenTestClass.SomeMethod)))); + } + + [Test] + public void Test_IsSupportedType_Generic() + { + Assert.IsFalse(formatter.IsSupported(GetType(typeof(SomeGenericClass<>)))); + } + + [Test] + public void Test_IsSupportedMember_Generic() + { + Assert.IsFalse(formatter.IsSupported(GetMethod(typeof(SomeGenericClass<>), + i => i.Name == "SomeMethod"))); + } + + [Test] + public void Test_IsSupportedMember_Generic2() + { + Assert.IsFalse(formatter.IsSupported(GetMethod(typeof(SomeGenericClass<>), + i => i.Name == "SomeMethod2"))); + } + + [Test] + public void Test_IsSupportedMember_Generic3() + { + // WinRT doesn't support public types with generic parameters + Assert.IsFalse(formatter.IsSupported(GetMethod(typeof(SomeGenericClass<>), + i => i.Name == "SomeMethod3"))); + } + + [Test] + public void Test_IsSupported_MethodWithWebHostHiddenParameter() + { + Assert.IsFalse(formatter.IsSupported(GetMethod(typeof(SomeClass), + i => i.Name == nameof(SomeClass.SomeMethodWebHostHiddenParameter)))); + } + + [Test] + public void Test_IsSupported_MethodWithWebHostHiddenReturn() + { + Assert.IsFalse(formatter.IsSupported(GetMethod(typeof(SomeClass), + i => i.Name == nameof(SomeClass.SomeMethodWebHostHiddenReturn)))); + } + + [Test] + public void Test_IsSupportedMember_Operator() + { + // Operator overloads are not supported as they are not supported for Windows Runtime + // (that is to say, they are not supported at the ABI level). + // C# supports operator overloading, and C# implementations get compiled to metadata as static methods + // on the type in question, such as TypeName::op_Equality, TypeName::op_GreaterThan, etc. + // You can see a list on StackOverflow. As long as they’re public, they can be invoked by name + // just like any other static method. + Assert.IsFalse(formatter.IsSupported(GetMethod(typeof(TestClass), + i => i.Name == "op_UnaryPlus"))); + } + + [Test] + public void Test_IsSupportedMember_NotOperator() + { + Assert.IsFalse(formatter.IsSupported(GetMethod(typeof(SomeClass), + i => i.Name == nameof(SomeClass.op_NotOperator)))); + } + + #endregion + + #region Fields + [Test] + [Category("Fields")] + public void Test_Field() + => TestFieldSignature(typeof(SomeStruct), + null, nameof(SomeStruct.IntMember)); + #endregion + + #region Properties + [Test] + [Category("Properties")] + public void Test_Property_0() + => TestPropertySignature(typeof(SomeClass), +@"var int32 = someClass.property; +someClass.property = int32;", +nameof(SomeClass.Property)); + + [Test] + [Category("Properties")] + public void Test_Property_1() + => TestPropertySignature(typeof(SomeClass), +@"var testClass = someClass.property2; +someClass.property2 = testClass;", +nameof(SomeClass.Property2)); + + [Test] + [Category("Properties")] + public void Test_Property_2() + => TestPropertySignature(typeof(SomeClass), + "var testClass = someClass.property3;", + nameof(SomeClass.Property3)); + + [Test] + [Category("Properties")] + public void Test_Property_3() + => TestPropertySignature(typeof(SomeClass), + "someClass.property4 = testClass;", + nameof(SomeClass.Property4)); + + [Test] + [Category("Properties")] + public void Test_Static_Property_0() + => TestPropertySignature(typeof(SomeClass), +@"var int32 = SomeClass.staticProperty; +SomeClass.staticProperty = int32;", +nameof(SomeClass.StaticProperty)); + #endregion + + #region Types + [Test] + [Category("Types")] + [Category("Enums")] + public void Test_Enum_0() + => TestTypeSignature(typeof(SomeEnum), "var value = mdoc.Test.SampleClasses.SomeEnum.testEnumElement1"); + + [Test] + [Category("Types")] + [Category("Enums")] + public void Test_Enum_1() + => TestTypeSignature(typeof(SomeEmptyEnum), null); + + [Test] + [Category("Types")] + [Category("Struct")] + public void Test_Struct() + => TestTypeSignature(typeof(SomeStruct), +@"var someStruct = { +intMember : /* Your value */, +staticMember : /* Your value */, +testClassMember : /* Your value */ +}"); + + [Test] + [Category("Types")] + [Category("Deleagates")] + public void Test_Delegate() + => TestTypeSignature(typeof(SomeDelegate), +@"var someDelegateHandler = function(str){ +/* Your code */ +}"); + + [Test] + [Category("Types")] + [Category("Class")] + public void Test_Class_0() + => TestTypeSignature(typeof(SomeClass), +@"var someClass = new SomeClass(i, j);"); + + [Test] + [Category("Types")] + [Category("Class")] + public void Test_Class_1() + => TestTypeSignature(typeof(SomeClassWithManyConstructors), null); + + #endregion + + #region Methods + [Test] + [Category("Methods")] + public void Test_AyncMethod() + => TestMethodSignature(typeof(SomeClass), + "someClass.asyncMethod().done( /* Your success and error handlers */ )", + nameof(SomeClass.AsyncMethod)); + + [Test] + [Category("Methods")] + public void Test_StaticAyncMethod() + => TestMethodSignature(typeof(SomeClass), + "mdoc.Test.SampleClasses.SomeClass.staticAsyncMethod().done( /* Your success and error handlers */ )", + nameof(SomeClass.StaticAsyncMethod)); + + [Test] + [Category("Methods")] + public void Test_Method() + => TestMethodSignature(typeof(SomeClass), + "someClass.someMethod()", + nameof(SomeClass.SomeMethod)); + + [Test] + [Category("Methods")] + public void Test_StaticMethod() + => TestMethodSignature(typeof(SomeClass), + "mdoc.Test.SampleClasses.SomeClass.someStaticMethod()", + nameof(SomeClass.SomeStaticMethod)); + + [Test] + [Category("Methods")] + public void Test_MethodWithParameters() + => TestMethodSignature(typeof(SomeClass), + "someClass.someMethodWithParameters(someClass, i)", + nameof(SomeClass.SomeMethodWithParameters)); + + [Test] + [Category("Methods")] + public void Test_MethodWithReturn() + => TestMethodSignature(typeof(SomeClass), + "var int32 = someClass.someMethod2()", + nameof(SomeClass.SomeMethod2)); + + [Test] + [Category("Methods")] + public void Test_MethodWithReturnBool() + => TestMethodSignature(typeof(SomeClass), + "var boolean = someClass.someMethodWithReturnBool()", + nameof(SomeClass.SomeMethodWithReturnBool)); + + [Test] + [Category("Methods")] + public void Test_StaticMethodWithReturn() + => TestMethodSignature(typeof(SomeClass), + "var int32 = mdoc.Test.SampleClasses.SomeClass.someStaticMethod2()", + nameof(SomeClass.SomeStaticMethod2)); + + [Test] + [Category("Methods")] + [Category("Constructors")] + public void Test_Constructor() + => TestMethodSignature(typeof(TestClass), + "var testClass = new TestClass();", + ".ctor"); + #endregion + + #region Events + [Test] + [Category("Events")] + public void Test_Event() + => TestEventSignature(typeof(SomeClass), +"function onAppMemoryUsageIncreased(eventArgs) { /* Your code */ }" + MemberFormatter.GetLineEnding() + +"someClass.addEventListener(\"appmemoryusageincreased\", onAppMemoryUsageIncreased);" + MemberFormatter.GetLineEnding() + +"someClass.removeEventListener(\"appmemoryusageincreased\", onAppMemoryUsageIncreased);" + MemberFormatter.GetLineEnding() + +"- or -" + MemberFormatter.GetLineEnding() + +"someClass.onappmemoryusageincreased = onAppMemoryUsageIncreased;", + nameof(SomeClass.AppMemoryUsageIncreased)); + + [Test] + [Category("Events")] + public void Test_StaticEvent() + => TestEventSignature(typeof(SomeClass), +"function onStaticEvent(eventArgs) { /* Your code */ }" + MemberFormatter.GetLineEnding() + +"mdoc.Test.SampleClasses.SomeClass.addEventListener(\"staticevent\", onStaticEvent);" + MemberFormatter.GetLineEnding() + +"mdoc.Test.SampleClasses.SomeClass.removeEventListener(\"staticevent\", onStaticEvent);" + MemberFormatter.GetLineEnding() + +"- or -" + MemberFormatter.GetLineEnding() + +"mdoc.Test.SampleClasses.SomeClass.onstaticevent = onStaticEvent;", + nameof(SomeClass.StaticEvent)); + + [Test] + [Category("Events")] + public void Test_EventPrivate() + => TestEventSignature(typeof(SomeClass), + null, + "PrivateEvent"); + #endregion + } +} diff --git a/mdoc/mdoc.Test/SampleClasses/SomeClass.cs b/mdoc/mdoc.Test/SampleClasses/SomeClass.cs new file mode 100644 index 00000000..be72f7f3 --- /dev/null +++ b/mdoc/mdoc.Test/SampleClasses/SomeClass.cs @@ -0,0 +1,96 @@ +using System; +using Windows.Foundation.Metadata; + +namespace mdoc.Test.SampleClasses +{ + public class SomeClass + { + public SomeClass(int i) + { + + } + + public SomeClass(int i, int j) + { + + } + + public int Field; + + public int Property { get; set; } + + public static int StaticProperty { get; set; } + + public TestClass Property2 { get; set; } + public static TestClass StaticProperty2 { get; set; } + + public TestClass Property3 { get; } + + public TestClass Property4 + { + set + { + + } + } + + public async void AsyncMethod() + { + + } + + public static async void StaticAsyncMethod() + { + + } + + public void SomeMethodWithParameters(SomeClass someClass, int i) + { + + } + + public void SomeMethod() + { + + } + + public void SomeMethodWebHostHiddenParameter([WebHostHidden] int parameter) + { + + } + + [return: WebHostHidden()] + public int SomeMethodWebHostHiddenReturn(int parameter) + { + throw new NotImplementedException(); + } + + public static void SomeStaticMethod() + { + + } + + public int SomeMethod2() + { + return 0; + } + + public static int SomeStaticMethod2() + { + return 0; + } + + public bool SomeMethodWithReturnBool() + { + return true; + } + + public void op_NotOperator() + { + } + + public event EventHandler<object> AppMemoryUsageIncreased; + public static event EventHandler<object> StaticEvent; + private static event EventHandler<object> PrivateEvent; + } +}
\ No newline at end of file diff --git a/mdoc/mdoc.Test/SampleClasses/SomeClassWithManyConstructors.cs b/mdoc/mdoc.Test/SampleClasses/SomeClassWithManyConstructors.cs new file mode 100644 index 00000000..edbc4f60 --- /dev/null +++ b/mdoc/mdoc.Test/SampleClasses/SomeClassWithManyConstructors.cs @@ -0,0 +1,15 @@ +namespace mdoc.Test.SampleClasses +{ + public sealed class SomeClassWithManyConstructors + { + public SomeClassWithManyConstructors(int i) + { + + } + + public SomeClassWithManyConstructors(float i) + { + + } + } +}
\ No newline at end of file diff --git a/mdoc/mdoc.Test/SampleClasses/SomeDelegate.cs b/mdoc/mdoc.Test/SampleClasses/SomeDelegate.cs new file mode 100644 index 00000000..7c5b6cb2 --- /dev/null +++ b/mdoc/mdoc.Test/SampleClasses/SomeDelegate.cs @@ -0,0 +1,4 @@ +namespace mdoc.Test.SampleClasses +{ + public delegate void SomeDelegate(string str); +}
\ No newline at end of file diff --git a/mdoc/mdoc.Test/SampleClasses/SomeEmptyEnum.cs b/mdoc/mdoc.Test/SampleClasses/SomeEmptyEnum.cs new file mode 100644 index 00000000..350bc3b9 --- /dev/null +++ b/mdoc/mdoc.Test/SampleClasses/SomeEmptyEnum.cs @@ -0,0 +1,6 @@ +namespace mdoc.Test.SampleClasses +{ + public enum SomeEmptyEnum + { + } +}
\ No newline at end of file diff --git a/mdoc/mdoc.Test/SampleClasses/SomeEnum.cs b/mdoc/mdoc.Test/SampleClasses/SomeEnum.cs new file mode 100644 index 00000000..87593b0d --- /dev/null +++ b/mdoc/mdoc.Test/SampleClasses/SomeEnum.cs @@ -0,0 +1,8 @@ +namespace mdoc.Test.SampleClasses +{ + public enum SomeEnum + { + TestEnumElement1, + TestEnumElement2, + } +}
\ No newline at end of file diff --git a/mdoc/mdoc.Test/SampleClasses/SomeGenericClass.cs b/mdoc/mdoc.Test/SampleClasses/SomeGenericClass.cs new file mode 100644 index 00000000..5d0bbf22 --- /dev/null +++ b/mdoc/mdoc.Test/SampleClasses/SomeGenericClass.cs @@ -0,0 +1,18 @@ +namespace mdoc.Test.SampleClasses +{ + public class SomeGenericClass<T> + { + public void SomeMethod<T>(T t) + { + + } + public void SomeMethod2(T t) + { + + } + public void SomeMethod3(int t) + { + + } + } +}
\ No newline at end of file diff --git a/mdoc/mdoc.Test/SampleClasses/SomeStruct.cs b/mdoc/mdoc.Test/SampleClasses/SomeStruct.cs new file mode 100644 index 00000000..49fa8900 --- /dev/null +++ b/mdoc/mdoc.Test/SampleClasses/SomeStruct.cs @@ -0,0 +1,9 @@ +namespace mdoc.Test.SampleClasses +{ + public struct SomeStruct + { + public int IntMember; + public static int StaticMember; + public TestClass TestClassMember; + } +}
\ No newline at end of file diff --git a/mdoc/mdoc.Test/SampleClasses/WebHostHiddenAttribute.cs b/mdoc/mdoc.Test/SampleClasses/WebHostHiddenAttribute.cs new file mode 100644 index 00000000..6931f0e9 --- /dev/null +++ b/mdoc/mdoc.Test/SampleClasses/WebHostHiddenAttribute.cs @@ -0,0 +1,9 @@ +using System; + +namespace Windows.Foundation.Metadata +{ + public class WebHostHiddenAttribute : Attribute + { + + } +}
\ No newline at end of file diff --git a/mdoc/mdoc.Test/SampleClasses/WebHostHiddenTestClass.cs b/mdoc/mdoc.Test/SampleClasses/WebHostHiddenTestClass.cs new file mode 100644 index 00000000..765e8198 --- /dev/null +++ b/mdoc/mdoc.Test/SampleClasses/WebHostHiddenTestClass.cs @@ -0,0 +1,14 @@ +using Windows.Foundation.Metadata; + +namespace mdoc.Test.SampleClasses +{ + [WebHostHidden] + public class WebHostHiddenTestClass + { + [WebHostHidden] + public void SomeMethod() + { + + } + } +} diff --git a/mdoc/mdoc.Test/mdoc.Test.csproj b/mdoc/mdoc.Test/mdoc.Test.csproj index f15adf7a..4feee40c 100644 --- a/mdoc/mdoc.Test/mdoc.Test.csproj +++ b/mdoc/mdoc.Test/mdoc.Test.csproj @@ -49,9 +49,20 @@ <Compile Include="FormatterTests.cs" />
<Compile Include="FSharp\FSharpFormatterTests.cs" />
<Compile Include="FSharp\FSharpUsageFormatterTests.cs" />
+ <Compile Include="JsMemberFormatterTests.cs" />
+ <Compile Include="JsUsageFormatterTests.cs" />
+ <Compile Include="SampleClasses\SomeDelegate.cs" />
<Compile Include="SampleClasses\TestClass.cs" />
+ <Compile Include="SampleClasses\SomeGenericClass.cs" />
+ <Compile Include="SampleClasses\WebHostHiddenTestClass.cs" />
+ <Compile Include="SampleClasses\SomeClass.cs" />
+ <Compile Include="SampleClasses\SomeClassWithManyConstructors.cs" />
+ <Compile Include="SampleClasses\SomeEmptyEnum.cs" />
+ <Compile Include="SampleClasses\SomeEnum.cs" />
<Compile Include="SampleClasses\TestPrivateClass.cs" />
<Compile Include="SampleClasses\TestClassTwo.cs" />
+ <Compile Include="SampleClasses\SomeStruct.cs" />
+ <Compile Include="SampleClasses\WebHostHiddenAttribute.cs" />
<Compile Include="VBFormatterTests.cs" />
</ItemGroup>
<ItemGroup>
diff --git a/mdoc/mdoc.csproj b/mdoc/mdoc.csproj index 6219cd9a..71b58d53 100644 --- a/mdoc/mdoc.csproj +++ b/mdoc/mdoc.csproj @@ -53,6 +53,9 @@ <ItemGroup>
<Compile Include="Mono.Documentation\Updater\Formatters\ApplePlatformEnumFormatter.cs" />
<Compile Include="Mono.Documentation\Updater\Formatters\FSharpFormatter.cs" />
+ <Compile Include="Mono.Documentation\Updater\Formatters\JsFormatter.cs" />
+ <Compile Include="Mono.Documentation\Updater\Formatters\JsMemberFormatter.cs" />
+ <Compile Include="Mono.Documentation\Updater\Formatters\JsUsageFormatter.cs" />
<Compile Include="Mono.Documentation\Updater\Formatters\FSharpFullMemberFormatter.cs" />
<Compile Include="Mono.Documentation\Updater\Formatters\FSharpMemberFormatter.cs" />
<Compile Include="Mono.Documentation\Updater\Formatters\FSharpUsageFormatter.cs" />
|