[wasm] add missing API xml doc (#76196)
authorPavel Savara <pavel.savara@gmail.com>
Mon, 3 Oct 2022 11:00:05 +0000 (13:00 +0200)
committerGitHub <noreply@github.com>
Mon, 3 Oct 2022 11:00:05 +0000 (13:00 +0200)
* add missing xml doc
Co-authored-by: Carlos Sanchez <1175054+carlossanlop@users.noreply.github.com>
30 files changed:
src/libraries/System.Runtime.InteropServices.JavaScript/ref/System.Runtime.InteropServices.JavaScript.cs
src/libraries/System.Runtime.InteropServices.JavaScript/src/System/Runtime/InteropServices/JavaScript/JSException.cs
src/libraries/System.Runtime.InteropServices.JavaScript/src/System/Runtime/InteropServices/JavaScript/JSExportAttribute.cs
src/libraries/System.Runtime.InteropServices.JavaScript/src/System/Runtime/InteropServices/JavaScript/JSFunctionBinding.cs
src/libraries/System.Runtime.InteropServices.JavaScript/src/System/Runtime/InteropServices/JavaScript/JSHost.cs
src/libraries/System.Runtime.InteropServices.JavaScript/src/System/Runtime/InteropServices/JavaScript/JSImportAttribute.cs
src/libraries/System.Runtime.InteropServices.JavaScript/src/System/Runtime/InteropServices/JavaScript/JSMarshalAsAttribute.cs
src/libraries/System.Runtime.InteropServices.JavaScript/src/System/Runtime/InteropServices/JavaScript/JSMarshalerType.cs
src/libraries/System.Runtime.InteropServices.JavaScript/src/System/Runtime/InteropServices/JavaScript/JSObject.cs
src/libraries/System.Runtime.InteropServices.JavaScript/src/System/Runtime/InteropServices/JavaScript/JSType.cs
src/libraries/System.Runtime.InteropServices.JavaScript/src/System/Runtime/InteropServices/JavaScript/Legacy/Array.cs
src/libraries/System.Runtime.InteropServices.JavaScript/src/System/Runtime/InteropServices/JavaScript/Legacy/ArrayBuffer.cs
src/libraries/System.Runtime.InteropServices.JavaScript/src/System/Runtime/InteropServices/JavaScript/Legacy/Runtime.cs
src/libraries/System.Runtime.InteropServices.JavaScript/src/System/Runtime/InteropServices/JavaScript/Marshaling/JSMarshalerArgument.BigInt64.cs
src/libraries/System.Runtime.InteropServices.JavaScript/src/System/Runtime/InteropServices/JavaScript/Marshaling/JSMarshalerArgument.Bool.cs
src/libraries/System.Runtime.InteropServices.JavaScript/src/System/Runtime/InteropServices/JavaScript/Marshaling/JSMarshalerArgument.Byte.cs
src/libraries/System.Runtime.InteropServices.JavaScript/src/System/Runtime/InteropServices/JavaScript/Marshaling/JSMarshalerArgument.Char.cs
src/libraries/System.Runtime.InteropServices.JavaScript/src/System/Runtime/InteropServices/JavaScript/Marshaling/JSMarshalerArgument.DateTime.cs
src/libraries/System.Runtime.InteropServices.JavaScript/src/System/Runtime/InteropServices/JavaScript/Marshaling/JSMarshalerArgument.Double.cs
src/libraries/System.Runtime.InteropServices.JavaScript/src/System/Runtime/InteropServices/JavaScript/Marshaling/JSMarshalerArgument.Exception.cs
src/libraries/System.Runtime.InteropServices.JavaScript/src/System/Runtime/InteropServices/JavaScript/Marshaling/JSMarshalerArgument.Func.cs
src/libraries/System.Runtime.InteropServices.JavaScript/src/System/Runtime/InteropServices/JavaScript/Marshaling/JSMarshalerArgument.Int16.cs
src/libraries/System.Runtime.InteropServices.JavaScript/src/System/Runtime/InteropServices/JavaScript/Marshaling/JSMarshalerArgument.Int32.cs
src/libraries/System.Runtime.InteropServices.JavaScript/src/System/Runtime/InteropServices/JavaScript/Marshaling/JSMarshalerArgument.Int52.cs
src/libraries/System.Runtime.InteropServices.JavaScript/src/System/Runtime/InteropServices/JavaScript/Marshaling/JSMarshalerArgument.IntPtr.cs
src/libraries/System.Runtime.InteropServices.JavaScript/src/System/Runtime/InteropServices/JavaScript/Marshaling/JSMarshalerArgument.JSObject.cs
src/libraries/System.Runtime.InteropServices.JavaScript/src/System/Runtime/InteropServices/JavaScript/Marshaling/JSMarshalerArgument.Object.cs
src/libraries/System.Runtime.InteropServices.JavaScript/src/System/Runtime/InteropServices/JavaScript/Marshaling/JSMarshalerArgument.Single.cs
src/libraries/System.Runtime.InteropServices.JavaScript/src/System/Runtime/InteropServices/JavaScript/Marshaling/JSMarshalerArgument.String.cs
src/libraries/System.Runtime.InteropServices.JavaScript/src/System/Runtime/InteropServices/JavaScript/Marshaling/JSMarshalerArgument.Task.cs

index c910e7f..d13c24c 100644 (file)
@@ -152,6 +152,7 @@ public static class JSHost
 [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
 public sealed class JSFunctionBinding
 {
+    internal JSFunctionBinding() { throw null; }
     public static void InvokeJS(JSFunctionBinding signature, Span<JSMarshalerArgument> arguments) { throw null; }
     public static JSFunctionBinding BindJSFunction(string functionName, string moduleName, ReadOnlySpan<JSMarshalerType> signatures) { throw null; }
     public static JSFunctionBinding BindManagedFunction(string fullyQualifiedName, int signatureHash, ReadOnlySpan<JSMarshalerType> signatures) { throw null; }
index de5715f..d063ce8 100644 (file)
@@ -6,7 +6,7 @@ using System.Runtime.Versioning;
 namespace System.Runtime.InteropServices.JavaScript
 {
     /// <summary>
-    /// Represents an Exception initiated from the JavaScript interop code.
+    /// Represents an exception initiated from the JavaScript interop code.
     /// </summary>
     [SupportedOSPlatform("browser")] // @kg: Do we really need to platform-lock JSException?
     public sealed class JSException : Exception
index 1a076af..9d33f59 100644 (file)
@@ -6,12 +6,12 @@ using System.Runtime.Versioning;
 namespace System.Runtime.InteropServices.JavaScript
 {
     /// <summary>
-    /// Attribute used to indicate a source generator should export a method to JavaScript and create thunks necessary to marshal its arguments along with any return value or thrown exception.
-    /// For marshaling arguments of complex types <seealso cref="JSMarshalAsAttribute{T}"/>.
+    /// Indicates that a source generator should export the attributed method to JavaScript and create thunks necessary to marshal its arguments and any return value or thrown exception.
     /// </summary>
     /// <remarks>
+    /// For marshaling arguments of complex types <see cref="JSMarshalAsAttribute{T}" />.
     /// This attribute is meaningless if the source generator associated with it is not enabled.
-    /// The current built-in source generator only supports C# and only supplies an implementation when
+    /// The current built-in source generator only supports C# and only supplies an implementation when applied to static, non-partial, or non-generic methods.
     /// applied to static, non-partial, non-generic methods.
     /// Exported methods cannot be trimmed by the linker.
     /// </remarks>
@@ -20,7 +20,7 @@ namespace System.Runtime.InteropServices.JavaScript
     public sealed class JSExportAttribute : Attribute
     {
         /// <summary>
-        /// Initializes a new instance of the <see cref="JSExportAttribute"/>.
+        /// Initializes a new instance of the <see cref="JSExportAttribute" /> class.
         /// </summary>
         public JSExportAttribute()
         {
index a7c099a..0b8ce88 100644 (file)
@@ -15,8 +15,13 @@ namespace System.Runtime.InteropServices.JavaScript
     [CLSCompliant(false)]
     [SupportedOSPlatform("browser")]
     [EditorBrowsable(EditorBrowsableState.Never)]
-    public sealed partial class JSFunctionBinding
+    public sealed class JSFunctionBinding
     {
+        /// <summary>
+        /// This API supports JSImport infrastructure and is not intended to be used directly from your code.
+        /// </summary>
+        internal JSFunctionBinding() { }
+
         #region intentionally opaque internal structure
         internal unsafe JSBindingHeader* Header;
         internal unsafe JSBindingType* Sigs;// points to first arg, not exception, not result
@@ -118,6 +123,8 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Invokes a previously bound JavaScript function using the provided span to transport argument and return values.
         /// This API supports JSImport infrastructure and is not intended to be used directly from your code.
         /// </summary>
+        /// <param name="signature">Generated metadata about the method signature used for marshaling.</param>
+        /// <param name="arguments">The intermediate buffer with marshalled arguments.</param>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public static void InvokeJS(JSFunctionBinding signature, Span<JSMarshalerArgument> arguments)
         {
@@ -128,6 +135,11 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Locates and binds a JavaScript function given name and module so that it can later be invoked by managed callers.
         /// This API supports JSImport infrastructure and is not intended to be used directly from your code.
         /// </summary>
+        /// <param name="functionName">The name of the exported JavaScript function.</param>
+        /// <param name="moduleName">The name of the ES6 module.</param>
+        /// <param name="signatures">The metadata about the signature of the marshaled parameters.</param>
+        /// <returns>The method metadata.</returns>
+        /// <exception cref="PlatformNotSupportedException">The method is executed on an architecture other than WebAssembly.</exception>
         // JavaScriptExports need to be protected from trimming because they are used from C/JS code which IL linker can't see
         [DynamicDependency(DynamicallyAccessedMemberTypes.PublicMethods, "System.Runtime.InteropServices.JavaScript.JavaScriptExports", "System.Runtime.InteropServices.JavaScript")]
         // TODO make this DynamicDependency conditional
@@ -144,6 +156,11 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Binds a specific managed function wrapper so that it can later be invoked by JavaScript callers.
         /// This API supports JSImport infrastructure and is not intended to be used directly from your code.
         /// </summary>
+        /// <param name="fullyQualifiedName">The fully qualified name of the exported method.</param>
+        /// <param name="signatureHash">The hash of the signature metadata.</param>
+        /// <param name="signatures">The metadata about the signature of the marshaled parameters.</param>
+        /// <returns>The method metadata.</returns>
+        /// <exception cref="PlatformNotSupportedException">The method is executed on architecture other than WebAssembly.</exception>
         public static JSFunctionBinding BindManagedFunction(string fullyQualifiedName, int signatureHash, ReadOnlySpan<JSMarshalerType> signatures)
         {
             if (RuntimeInformation.OSArchitecture != Architecture.Wasm)
index b549ceb..e7083dd 100644 (file)
@@ -15,7 +15,7 @@ namespace System.Runtime.InteropServices.JavaScript
     public static partial class JSHost
     {
         /// <summary>
-        /// Returns a proxy for the <see href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/globalThis">globalThis</see> JavaScript host object.
+        /// Returns a proxy for the <see href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/globalThis">globalThis</see> JavaScript host object.
         /// </summary>
         public static JSObject GlobalThis
         {
@@ -37,8 +37,8 @@ namespace System.Runtime.InteropServices.JavaScript
         }
 
         /// <summary>
-        /// Download and instantiate an ES6 module from the provided URL, via the JavaScript host's <see href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/import">dynamic import API</see>.
-        /// If a module with the provided <paramref name="moduleName"/> has previously been instantiated, it will be returned instead.
+        /// Downloads and instantiates an ES6 module from the provided URL, via the JavaScript host's <see href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Operators/import">dynamic import API</see>.
+        /// If a module with the provided <paramref name="moduleName" /> has previously been instantiated, it will be returned instead.
         /// </summary>
         /// <param name="moduleName">Globally unique identifier of the ES6 module, which is used by <see cref="JSImportAttribute(string, string)"/>.</param>
         /// <param name="moduleUrl">The location of the module file.</param>
index 2fe0679..1139e8c 100644 (file)
@@ -7,12 +7,11 @@ namespace System.Runtime.InteropServices.JavaScript
 {
     /// <summary>
     /// Indicates that the JSImport source generator should create a managed wrapper to invoke a specific imported JavaScript function and marshal its arguments, return values, and exceptions.
-    /// To configure the marshaling behavior for specific values, <seealso cref="JSMarshalAsAttribute{T}"/>.
+    /// To configure the marshalling behavior for specific values, <see cref="JSMarshalAsAttribute{T}" />.
     /// </summary>
     /// <remarks>
     /// This attribute is meaningless if the source generator associated with it is not enabled.
-    /// The current built-in source generator only supports C# and only supplies an implementation when
-    /// applied to static, partial, non-generic methods.
+    /// The current built-in source generator only supports C# and only supplies an implementation when applied to static, partial, non-generic methods.
     /// </remarks>
     /// <example>
     /// <code>
@@ -29,34 +28,34 @@ namespace System.Runtime.InteropServices.JavaScript
     public sealed class JSImportAttribute : Attribute
     {
         /// <summary>
-        /// The name of the target JavaScript function. This name will be used as a key to locate the function in the module.
-        /// Functions nested inside of objects can be referred to by using the dot operator to connect one or more names.
+        /// Gets the name of the target JavaScript function. This name will be used as a key to locate the function in the module.
         /// </summary>
+        /// <remarks>Functions nested inside of objects can be referred to by using the dot operator to connect one or more names.</remarks>
         public string FunctionName { get; }
 
         /// <summary>
-        /// Globally unique identifier of the ES6 module, if any, that contains the function. The module must be loaded via <see cref="JSHost.ImportAsync(string, string, Threading.CancellationToken)"/> before any attempt to invoke the function.
+        /// Gets the globally unique identifier of the ES6 module, if any, that contains the function. The module must be loaded via <see cref="JSHost.ImportAsync(string, string, Threading.CancellationToken)" /> before any attempt to invoke the function.
         /// </summary>
         public string? ModuleName { get; }
 
         /// <summary>
-        /// Initializes a new instance of the <see cref="JSImportAttribute"/>.
+        /// Initializes a new instance of the <see cref="JSImportAttribute" /> class.
         /// </summary>
-        /// <param name="functionName">Name of the function to be bound in the module. It allows dots for nested objects.</param>
+        /// <param name="functionName">The name of the function to be bound in the module. Use dots for nested objects.</param>
         public JSImportAttribute(string functionName)
         {
             FunctionName = functionName;
         }
 
         /// <summary>
-        /// Initializes a new instance of the <see cref="JSImportAttribute"/>.
+        /// Initializes a new instance of the <see cref="JSImportAttribute" /> class.
         /// </summary>
         /// <param name="functionName">
         /// The name of the target JavaScript function. This name will be used as a key to locate the function in the module.
         /// Functions nested inside of objects can be referred to by using the dot operator to connect one or more names.
         /// </param>
         /// <param name="moduleName">
-        /// Globally unique identifier of the ES6 module, if any, that contains the function. The module must be loaded via <see cref="JSHost.ImportAsync(string, string, Threading.CancellationToken)"/> before any attempt to invoke the function.
+        /// Globally unique identifier of the ES6 module, if any, that contains the function. The module must be loaded via <see cref="JSHost.ImportAsync(string, string, Threading.CancellationToken)" /> before any attempt to invoke the function.
         /// </param>
         public JSImportAttribute(string functionName, string moduleName)
         {
index 798e235..bea4adf 100644 (file)
@@ -9,7 +9,7 @@ namespace System.Runtime.InteropServices.JavaScript
     /// Specifies the JavaScript type associated with a managed argument or return value.
     /// The JSImport generator will use this information to marshal data between the JavaScript and managed environments.
     /// </summary>
-    /// <typeparam name="T">One of the types defined in <see cref="JSType"/>, for example <see cref="JSType.MemoryView"/></typeparam>
+    /// <typeparam name="T">One of the types defined in <see cref="JSType" />, for example <see cref="JSType.MemoryView" />.</typeparam>
     /// <example>
     /// <code>
     /// [JSImport("createFunction", "my-math-helper")]
@@ -22,7 +22,7 @@ namespace System.Runtime.InteropServices.JavaScript
     public sealed class JSMarshalAsAttribute<T> : Attribute where T : JSType
     {
         /// <summary>
-        /// Create a <see cref="JSMarshalAsAttribute{T}" /> configured by generic parameters of <see cref="JSType" />.
+        /// Initializes a new instance of <see cref="JSMarshalAsAttribute{T}" /> configured by generic parameters of <see cref="JSType" />.
         /// </summary>
         public JSMarshalAsAttribute() { }
     }
index f7483d4..c9e08c3 100644 (file)
@@ -7,8 +7,8 @@ using System.Runtime.Versioning;
 namespace System.Runtime.InteropServices.JavaScript
 {
     /// <summary>
-    /// Represents type metadata about marshaler, which are necessary for marshaling function arguments.
-    /// It's used by JSImport code generator and should not be used by developers in source code.
+    /// Represents type metadata about the marshaller that are necessary for marshalling function arguments.
+    /// This API is used by the JSImport code generator and should not be used by developers in source code.
     /// </summary>
     [SupportedOSPlatform("browser")]
     [EditorBrowsable(EditorBrowsableState.Never)]
@@ -29,6 +29,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// <summary>
         /// Marshaling validates that the JavaScript function returned undefined value.
         /// </summary>
+        /// <returns>The marshaler metadata.</returns>
         public static JSMarshalerType Void { get; } = new JSMarshalerType(new JSFunctionBinding.JSBindingType
         {
             Type = MarshalerType.Void
@@ -37,38 +38,43 @@ namespace System.Runtime.InteropServices.JavaScript
         /// <summary>
         /// Marshaling ignores result of the JavaScript function.
         /// </summary>
+        /// <returns>The marshaler metadata.</returns>
         public static JSMarshalerType Discard { get; } = new JSMarshalerType(new JSFunctionBinding.JSBindingType
         {
             Type = MarshalerType.Discard
         });
 
         /// <summary>
-        /// Marshal as JavaScript <see href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</see> type.
+        /// Marshal as JavaScript <see href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</see> type.
         /// </summary>
+        /// <returns>The marshaler metadata.</returns>
         public static JSMarshalerType Boolean { get; } = new JSMarshalerType(new JSFunctionBinding.JSBindingType
         {
             Type = MarshalerType.Boolean
         });
 
         /// <summary>
-        /// Marshal as JavaScript Number via <see href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array">Uint8Array</see>.
+        /// Marshal as JavaScript Number via <see href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Uint8Array">Uint8Array</see>.
         /// </summary>
+        /// <returns>The marshaler metadata.</returns>
         public static JSMarshalerType Byte { get; } = new JSMarshalerType(new JSFunctionBinding.JSBindingType
         {
             Type = MarshalerType.Byte
         });
 
         /// <summary>
-        /// Marshal as JavaScript <see href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">String</see> one character long.
+        /// Marshal as JavaScript <see href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">String</see> one character long.
         /// </summary>
+        /// <returns>The marshaler metadata.</returns>
         public static JSMarshalerType Char { get; } = new JSMarshalerType(new JSFunctionBinding.JSBindingType
         {
             Type = MarshalerType.Char
         });
 
         /// <summary>
-        /// Marshal as JavaScript Number via <see href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int16Array">Int16Array</see>.
+        /// Marshal as JavaScript Number via <see href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Int16Array">Int16Array</see>.
         /// </summary>
+        /// <returns>The marshaler metadata.</returns>
         public static JSMarshalerType Int16 { get; } = new JSMarshalerType(new JSFunctionBinding.JSBindingType
         {
             Type = MarshalerType.Int16
@@ -76,8 +82,9 @@ namespace System.Runtime.InteropServices.JavaScript
 
 
         /// <summary>
-        /// Marshal as JavaScript Number via <see href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Int32Array">Int32Array</see>.
+        /// Marshal as JavaScript Number via <see href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Int32Array">Int32Array</see>.
         /// </summary>
+        /// <returns>The marshaler metadata.</returns>
         public static JSMarshalerType Int32 { get; } = new JSMarshalerType(new JSFunctionBinding.JSBindingType
         {
             Type = MarshalerType.Int32
@@ -86,46 +93,52 @@ namespace System.Runtime.InteropServices.JavaScript
         /// <summary>
         /// Marshal as JavaScript Number within -9007199254740991 and 9007199254740991 range.
         /// </summary>
+        /// <returns>The marshaler metadata.</returns>
         public static JSMarshalerType Int52 { get; } = new JSMarshalerType(new JSFunctionBinding.JSBindingType
         {
             Type = MarshalerType.Int52
         });
 
         /// <summary>
-        /// Marshal as JavaScript <see href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt">BigInt</see>.
+        /// Marshal as JavaScript <see href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/BigInt">BigInt</see>.
         /// </summary>
+        /// <returns>The marshaler metadata.</returns>
         public static JSMarshalerType BigInt64 { get; } = new JSMarshalerType(new JSFunctionBinding.JSBindingType
         {
             Type = MarshalerType.BigInt64
         });
 
         /// <summary>
-        /// Marshal as JavaScript <see href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</see>.
+        /// Marshal as JavaScript <see href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</see>.
         /// </summary>
+        /// <returns>The marshaler metadata.</returns>
         public static JSMarshalerType Double { get; } = new JSMarshalerType(new JSFunctionBinding.JSBindingType
         {
             Type = MarshalerType.Double
         });
 
         /// <summary>
-        /// Marshal as JavaScript <see href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</see>.
+        /// Marshal as JavaScript <see href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</see>.
         /// </summary>
+        /// <returns>The marshaler metadata.</returns>
         public static JSMarshalerType Single { get; } = new JSMarshalerType(new JSFunctionBinding.JSBindingType
         {
             Type = MarshalerType.Single
         });
 
         /// <summary>
-        /// Marshal as JavaScript <see href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</see>.
+        /// Marshal as JavaScript <see href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</see>.
         /// </summary>
+        /// <returns>The marshaler metadata.</returns>
         public static JSMarshalerType IntPtr { get; } = new JSMarshalerType(new JSFunctionBinding.JSBindingType
         {
             Type = MarshalerType.IntPtr
         });
 
         /// <summary>
-        /// Marshal as JavaScript <see href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</see> or it's JSObject proxy on managed side.
+        /// Marshal as JavaScript <see href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</see> or its JSObject proxy on managed side.
         /// </summary>
+        /// <returns>The marshaler metadata.</returns>
         public static JSMarshalerType JSObject { get; } = new JSMarshalerType(new JSFunctionBinding.JSBindingType
         {
             Type = MarshalerType.JSObject
@@ -134,43 +147,53 @@ namespace System.Runtime.InteropServices.JavaScript
         /// <summary>
         /// Dynamic marshal as best fit. For <see cref="object"/> maps to ManagedObject proxy on JavaScript side.
         /// </summary>
+        /// <returns>The marshaler metadata.</returns>
         public static JSMarshalerType Object { get; } = new JSMarshalerType(new JSFunctionBinding.JSBindingType
         {
             Type = MarshalerType.Object
         });
 
         /// <summary>
-        /// Marshal as JavaScript <see href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">String</see>.
+        /// Marshal as JavaScript <see href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">String</see>.
         /// </summary>
+        /// <returns>The marshaler metadata.</returns>
         public static JSMarshalerType String { get; } = new JSMarshalerType(new JSFunctionBinding.JSBindingType
         {
             Type = MarshalerType.String
         });
 
         /// <summary>
-        /// Marshal as JavaScript <see href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error">Error</see>.
+        /// Marshal as JavaScript <see href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Error">Error</see>.
         /// </summary>
+        /// <returns>The marshaler metadata.</returns>
         public static JSMarshalerType Exception { get; } = new JSMarshalerType(new JSFunctionBinding.JSBindingType
         {
             Type = MarshalerType.Exception
         });
 
         /// <summary>
-        /// Marshal as JavaScript <see href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date">Date</see>.
+        /// Marshal as JavaScript <see href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Date">Date</see>.
         /// </summary>
+        /// <returns>The marshaler metadata.</returns>
         public static JSMarshalerType DateTime { get; } = new JSMarshalerType(new JSFunctionBinding.JSBindingType
         {
             Type = MarshalerType.DateTime
         });
 
         /// <summary>
-        /// Marshal as JavaScript <see href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date">Date</see>.
+        /// Marshal as JavaScript <see href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Date">Date</see>.
         /// </summary>
+        /// <returns>The marshaler metadata.</returns>
         public static JSMarshalerType DateTimeOffset { get; } = new JSMarshalerType(new JSFunctionBinding.JSBindingType
         {
             Type = MarshalerType.DateTimeOffset
         });
 
+        /// <summary>
+        /// Marshal as JavaScript underlying primitive type.
+        /// </summary>
+        /// <param name="primitive">Underlying primitive type.</param>
+        /// <returns>The marshaler metadata.</returns>
         public static JSMarshalerType Nullable(JSMarshalerType primitive)
         {
             CheckNullable(primitive);
@@ -187,16 +210,19 @@ namespace System.Runtime.InteropServices.JavaScript
         });
 
         /// <summary>
-        /// Marshal as JavaScript <see href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise">Promise</see>.
+        /// Marshal as JavaScript <see href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise">Promise</see>.
         /// </summary>
+        /// <returns>The marshaler metadata.</returns>
         public static JSMarshalerType Task()
         {
             return _task;
         }
 
         /// <summary>
-        /// Marshal as JavaScript <see href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise">Promise</see>.
+        /// Marshal as JavaScript <see href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise">Promise</see>.
         /// </summary>
+        /// <returns>The marshaler metadata.</returns>
+        /// <param name="result">Metadata about the type of the <see cref="System.Threading.Tasks.Task"/> result value.</param>
         public static JSMarshalerType Task(JSMarshalerType result)
         {
             CheckTask(result);
@@ -208,8 +234,10 @@ namespace System.Runtime.InteropServices.JavaScript
         }
 
         /// <summary>
-        /// Marshal as JavaScript <see href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array">Array</see>.
+        /// Marshal as JavaScript <see href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array">Array</see>.
         /// </summary>
+        /// <param name="element">Metadata about the type of the array element.</param>
+        /// <returns>The marshaler metadata.</returns>
         public static JSMarshalerType Array(JSMarshalerType element)
         {
             CheckArray(element);
@@ -226,6 +254,8 @@ namespace System.Runtime.InteropServices.JavaScript
         /// <remarks>
         /// ArraySegment will hold <see cref="GCHandleType.Pinned"/> to underlying array until disposed or garbage collected on JS side.
         /// </remarks>
+        /// <param name="element">Metadata about the type of the array element.</param>
+        /// <returns>The marshaler metadata.</returns>
         public static JSMarshalerType ArraySegment(JSMarshalerType element)
         {
             CheckArraySegment(element);
@@ -240,6 +270,8 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Marshal as instance of Span class on JavaScript side.
         /// </summary>
         /// <remarks>Marshaler is not pinning the data, caller is responsible for doing that.</remarks>
+        /// <param name="element">Metadata about the type of the span element.</param>
+        /// <returns>The marshaler metadata.</returns>
         public static JSMarshalerType Span(JSMarshalerType element)
         {
             CheckArraySegment(element);
@@ -256,16 +288,19 @@ namespace System.Runtime.InteropServices.JavaScript
         });
 
         /// <summary>
-        /// Marshal as JavaScript <see href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function">Function</see>.
+        /// Marshal as JavaScript <see href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Function">Function</see>.
         /// </summary>
+        /// <returns>The marshaler metadata.</returns>
         public static JSMarshalerType Action()
         {
             return _action;
         }
 
         /// <summary>
-        /// Marshal as JavaScript <see href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function">Function</see>.
+        /// Marshal as JavaScript <see href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Function">Function</see>.
         /// </summary>
+        /// <param name="arg1">Metadata about the type of the first argument of the <see cref="System.Action{T1}"/>.</param>
+        /// <returns>The marshaler metadata.</returns>
         public static JSMarshalerType Action(JSMarshalerType arg1)
         {
             CheckTask(arg1);
@@ -277,8 +312,11 @@ namespace System.Runtime.InteropServices.JavaScript
         }
 
         /// <summary>
-        /// Marshal as JavaScript <see href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function">Function</see>.
+        /// Marshal as JavaScript <see href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Function">Function</see>.
         /// </summary>
+        /// <param name="arg1">Metadata about the type of the first argument of the <see cref="System.Action{T1,T2}"/>.</param>
+        /// <param name="arg2">Metadata about the type of the second argument of the <see cref="System.Action{T1,T2}"/>.</param>
+        /// <returns>The marshaler metadata.</returns>
         public static JSMarshalerType Action(JSMarshalerType arg1, JSMarshalerType arg2)
         {
             CheckTask(arg1);
@@ -292,8 +330,12 @@ namespace System.Runtime.InteropServices.JavaScript
         }
 
         /// <summary>
-        /// Marshal as JavaScript <see href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function">Function</see>.
+        /// Marshal as JavaScript <see href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Function">Function</see>.
         /// </summary>
+        /// <param name="arg1">Metadata about the type of the first argument of the <see cref="System.Action{T1,T2,T3}"/>.</param>
+        /// <param name="arg2">Metadata about the type of the second argument of the <see cref="System.Action{T1,T2,T3}"/>.</param>
+        /// <param name="arg3">Metadata about the type of the third argument of the <see cref="System.Action{T1,T2,T3}"/>.</param>
+        /// <returns>The marshaler metadata.</returns>
         public static JSMarshalerType Action(JSMarshalerType arg1, JSMarshalerType arg2, JSMarshalerType arg3)
         {
             CheckTask(arg1);
@@ -309,8 +351,10 @@ namespace System.Runtime.InteropServices.JavaScript
         }
 
         /// <summary>
-        /// Marshal as JavaScript <see href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function">Function</see>.
+        /// Marshal as JavaScript <see href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Function">Function</see>.
         /// </summary>
+        /// <param name="result">Metadata about the type of the result of the <see cref="System.Func{TRes}"/>.</param>
+        /// <returns>The marshaler metadata.</returns>
         public static JSMarshalerType Function(JSMarshalerType result)
         {
             CheckTask(result);
@@ -322,8 +366,11 @@ namespace System.Runtime.InteropServices.JavaScript
         }
 
         /// <summary>
-        /// Marshal as JavaScript <see href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function">Function</see>.
+        /// Marshal as JavaScript <see href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Function">Function</see>.
         /// </summary>
+        /// <param name="arg1">Metadata about the type of the first argument of the <see cref="System.Func{TRes,T1}"/>.</param>
+        /// <param name="result">Metadata about the type of the result of the <see cref="System.Func{TRes,T1}"/>.</param>
+        /// <returns>The marshaler metadata.</returns>
         public static JSMarshalerType Function(JSMarshalerType arg1, JSMarshalerType result)
         {
             CheckTask(arg1);
@@ -337,8 +384,12 @@ namespace System.Runtime.InteropServices.JavaScript
         }
 
         /// <summary>
-        /// Marshal as JavaScript <see href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function">Function</see>.
+        /// Marshal as JavaScript <see href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Function">Function</see>.
         /// </summary>
+        /// <param name="arg1">Metadata about the type of the first argument of the <see cref="System.Func{TRes,T1,T2}"/>.</param>
+        /// <param name="arg2">Metadata about the type of the second argument of the <see cref="System.Func{TRes,T1,T2}"/>.</param>
+        /// <param name="result">Metadata about the type of the result of the <see cref="System.Func{TRes,T1,T2}"/>.</param>
+        /// <returns>The marshaler metadata.</returns>
         public static JSMarshalerType Function(JSMarshalerType arg1, JSMarshalerType arg2, JSMarshalerType result)
         {
             CheckTask(arg1);
@@ -354,8 +405,13 @@ namespace System.Runtime.InteropServices.JavaScript
         }
 
         /// <summary>
-        /// Marshal as JavaScript <see href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function">Function</see>.
+        /// Marshal as JavaScript <see href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Function">Function</see>.
         /// </summary>
+        /// <param name="arg1">Metadata about the type of the first argument of the <see cref="System.Func{TRes,T1,T2,T3}"/>.</param>
+        /// <param name="arg2">Metadata about the type of the second argument of the <see cref="System.Func{TRes,T1,T2,T3}"/>.</param>
+        /// <param name="arg3">Metadata about the type of the third argument of the <see cref="System.Func{TRes,T1,T2,T3}"/>.</param>
+        /// <param name="result">Metadata about the type of the result of the <see cref="System.Func{TRes,T1,T2,T3}"/>.</param>
+        /// <returns>The marshaler metadata.</returns>
         public static JSMarshalerType Function(JSMarshalerType arg1, JSMarshalerType arg2, JSMarshalerType arg3, JSMarshalerType result)
         {
             CheckTask(arg1);
index 551379f..c4a066a 100644 (file)
@@ -21,6 +21,8 @@ namespace System.Runtime.InteropServices.JavaScript
         /// <summary>
         /// Checks whether the target object or one of its prototypes has a property with the specified name.
         /// </summary>
+        /// <param name="propertyName">The name of the property.</param>
+        /// <returns><see langword="true" /> when the object has the property with the specified name.</returns>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public bool HasProperty(string propertyName)
         {
@@ -31,6 +33,8 @@ namespace System.Runtime.InteropServices.JavaScript
         /// <summary>
         /// Returns <code>typeof()</code> of the property.
         /// </summary>
+        /// <param name="propertyName">The name of the property.</param>
+        /// <returns>One of "undefined", "object", "boolean", "number", "bigint", "string", "symbol" or "function".</returns>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public string GetTypeOfProperty(string propertyName)
         {
@@ -39,8 +43,10 @@ namespace System.Runtime.InteropServices.JavaScript
         }
 
         /// <summary>
-        /// Returns value of the property as <see cref="bool"/> if the property exists, otherwise false.
+        /// Returns the value of the specified property as <see cref="T:System.Boolean" /> if the property exists, otherwise <see langword="false" />.
         /// </summary>
+        /// <param name="propertyName">The name of the property.</param>
+        /// <returns>The value of the property with the specified name.</returns>
         /// <remarks>Will throw <see cref="JSException"/> when the property value is not a bool.</remarks>
         /// <seealso cref="GetTypeOfProperty(string)"/>
         /// <seealso cref="HasProperty(string)"/>
@@ -54,6 +60,8 @@ namespace System.Runtime.InteropServices.JavaScript
         /// <summary>
         /// Returns value of the property as <see cref="int"/> if the property exists, otherwise 0.
         /// </summary>
+        /// <param name="propertyName">The name of the property.</param>
+        /// <returns>The value of the property with the specified name.</returns>
         /// <seealso cref="GetTypeOfProperty(string)"/>
         /// <seealso cref="HasProperty(string)"/>
         /// <remarks>Will throw <see cref="JSException"/> when the property value is not an integer.</remarks>
@@ -67,6 +75,8 @@ namespace System.Runtime.InteropServices.JavaScript
         /// <summary>
         /// Returns value of the property as <see cref="double"/> if the property exists, otherwise 0.
         /// </summary>
+        /// <param name="propertyName">The name of the property.</param>
+        /// <returns>The value of the property with the specified name.</returns>
         /// <seealso cref="GetTypeOfProperty(string)"/>
         /// <seealso cref="HasProperty(string)"/>
         /// <remarks>Will throw <see cref="JSException"/> when the property value is not a number.</remarks>
@@ -80,6 +90,8 @@ namespace System.Runtime.InteropServices.JavaScript
         /// <summary>
         /// Returns value of the property as <see cref="string"/> if the property exists, otherwise null.
         /// </summary>
+        /// <param name="propertyName">The name of the property.</param>
+        /// <returns>The value of the property with the specified name.</returns>
         /// <seealso cref="GetTypeOfProperty(string)"/>
         /// <seealso cref="HasProperty(string)"/>
         /// <remarks>Will throw <see cref="JSException"/> when the property value is not a string.</remarks>
@@ -93,6 +105,8 @@ namespace System.Runtime.InteropServices.JavaScript
         /// <summary>
         /// Returns value of the property as <see cref="JSObject"/> proxy if the property exists, otherwise null.
         /// </summary>
+        /// <param name="propertyName">The name of the property.</param>
+        /// <returns>The value of the property with the specified name.</returns>
         /// <seealso cref="GetTypeOfProperty(string)"/>
         /// <seealso cref="HasProperty(string)"/>
         /// <remarks>Will throw <see cref="JSException"/> when the property value is not an object.</remarks>
@@ -106,6 +120,8 @@ namespace System.Runtime.InteropServices.JavaScript
         /// <summary>
         /// Returns value of the property as <see cref="byte"/> array if the property exists, otherwise null.
         /// </summary>
+        /// <param name="propertyName">The name of the property.</param>
+        /// <returns>The value of the property with the specified name.</returns>
         /// <seealso cref="GetTypeOfProperty(string)"/>
         /// <seealso cref="HasProperty(string)"/>
         /// <remarks>Will throw <see cref="JSException"/> when the property value is not an array.</remarks>
@@ -120,6 +136,8 @@ namespace System.Runtime.InteropServices.JavaScript
         /// <summary>
         /// Defines a new property on the target object, or modifies an existing property to have the specified value.
         /// </summary>
+        /// <param name="propertyName">The name of the property.</param>
+        /// <param name="value">Value of property to set.</param>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public void SetProperty(string propertyName, bool value)
         {
@@ -130,6 +148,8 @@ namespace System.Runtime.InteropServices.JavaScript
         /// <summary>
         /// Defines a new property on the target object, or modifies an existing property to have the specified value.
         /// </summary>
+        /// <param name="propertyName">The name of the property.</param>
+        /// <param name="value">Value of property to set.</param>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public void SetProperty(string propertyName, int value)
         {
@@ -140,6 +160,8 @@ namespace System.Runtime.InteropServices.JavaScript
         /// <summary>
         /// Defines a new property on the target object, or modifies an existing property to have the specified value.
         /// </summary>
+        /// <param name="propertyName">The name of the property.</param>
+        /// <param name="value">Value of property to set.</param>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public void SetProperty(string propertyName, double value)
         {
@@ -150,6 +172,8 @@ namespace System.Runtime.InteropServices.JavaScript
         /// <summary>
         /// Defines a new property on the target object, or modifies an existing property to have the specified value.
         /// </summary>
+        /// <param name="propertyName">The name of the property.</param>
+        /// <param name="value">Value of property to set.</param>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public void SetProperty(string propertyName, string? value)
         {
@@ -160,6 +184,8 @@ namespace System.Runtime.InteropServices.JavaScript
         /// <summary>
         /// Defines a new property on the target object, or modifies an existing property to have the specified value.
         /// </summary>
+        /// <param name="propertyName">The name of the property.</param>
+        /// <param name="value">Value of property to set.</param>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public void SetProperty(string propertyName, JSObject? value)
         {
@@ -170,6 +196,8 @@ namespace System.Runtime.InteropServices.JavaScript
         /// <summary>
         /// Defines a new property on the target object, or modifies an existing property to have the specified value.
         /// </summary>
+        /// <param name="propertyName">The name of the property.</param>
+        /// <param name="value">Value of property to set.</param>
         /// <remarks>The method will copy the bytes.</remarks>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public void SetProperty(string propertyName, byte[]? value)
index 0bedac9..1e2df77 100644 (file)
@@ -6,7 +6,7 @@ using System.Runtime.Versioning;
 namespace System.Runtime.InteropServices.JavaScript
 {
     /// <summary>
-    /// Used as generic argument for <see cref="JSMarshalAsAttribute{T}"/> to express expected JavaScript type, which should be source or result of argument marshaling.
+    /// Used as generic argument for <see cref="JSMarshalAsAttribute{T}"/> to express expected JavaScript type, which should be input or output of argument marshaling.
     /// </summary>
     [SupportedOSPlatform("browser")]
     public abstract class JSType
@@ -29,7 +29,7 @@ namespace System.Runtime.InteropServices.JavaScript
         }
 
         /// <summary>
-        /// Marshal as JavaScript <see href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</see> type.
+        /// Marshal as JavaScript <see href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean">Boolean</see> type.
         /// </summary>
         public sealed class Boolean : JSType
         {
@@ -37,7 +37,7 @@ namespace System.Runtime.InteropServices.JavaScript
         }
 
         /// <summary>
-        /// Marshal as JavaScript <see href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</see> type.
+        /// Marshal as JavaScript <see href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</see> type.
         /// </summary>
         public sealed class Number : JSType
         {
@@ -45,7 +45,7 @@ namespace System.Runtime.InteropServices.JavaScript
         }
 
         /// <summary>
-        /// Marshal as JavaScript <see href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt">BigInt</see> type.
+        /// Marshal as JavaScript <see href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/BigInt">BigInt</see> type.
         /// </summary>
         public sealed class BigInt : JSType
         {
@@ -53,7 +53,7 @@ namespace System.Runtime.InteropServices.JavaScript
         }
 
         /// <summary>
-        /// Marshal as JavaScript <see href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date">Date</see> type.
+        /// Marshal as JavaScript <see href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Date">Date</see> type.
         /// </summary>
         public sealed class Date : JSType
         {
@@ -61,7 +61,7 @@ namespace System.Runtime.InteropServices.JavaScript
         }
 
         /// <summary>
-        /// Marshal as JavaScript <see href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">String</see> type.
+        /// Marshal as JavaScript <see href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String">String</see> type.
         /// </summary>
         public sealed class String : JSType
         {
@@ -69,7 +69,7 @@ namespace System.Runtime.InteropServices.JavaScript
         }
 
         /// <summary>
-        /// Marshal as JavaScript <see href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</see> type.
+        /// Marshal as JavaScript <see href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</see> type.
         /// </summary>
         public sealed class Object : JSType
         {
@@ -77,7 +77,7 @@ namespace System.Runtime.InteropServices.JavaScript
         }
 
         /// <summary>
-        /// Marshal as JavaScript <see href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error">Error</see> type.
+        /// Marshal as JavaScript <see href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Error">Error</see> type.
         /// </summary>
         public sealed class Error : JSType
         {
@@ -93,23 +93,25 @@ namespace System.Runtime.InteropServices.JavaScript
         }
 
         /// <summary>
-        /// Marshal as copy of JavaScript <see href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array">Array</see> or <see href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray">TypedArray</see> type.
+        /// Marshal as a copy of the JavaScript <see href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array">Array</see> or <see href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/TypedArray">TypedArray</see> type.
         /// </summary>
+        /// <typeparam name="T">The type of array element.</typeparam>
         public sealed class Array<T> : JSType where T : JSType
         {
             internal Array() { }
         }
 
         /// <summary>
-        /// Marshal as JavaScript <see href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise">Promise</see> type.
+        /// Marshal as JavaScript <see href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Promise">Promise</see> type.
         /// </summary>
+        /// <typeparam name="T">The type of marshalled result value.</typeparam>
         public sealed class Promise<T> : JSType where T : JSType
         {
             internal Promise() { }
         }
 
         /// <summary>
-        /// Marshal as JavaScript <see href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function">Function</see> type.
+        /// Marshal as JavaScript <see href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Function">Function</see> type.
         /// </summary>
         public sealed class Function : JSType
         {
@@ -117,32 +119,42 @@ namespace System.Runtime.InteropServices.JavaScript
         }
 
         /// <summary>
-        /// Marshal as JavaScript <see href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function">Function</see> type.
+        /// Marshal as JavaScript <see href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Function">Function</see> type.
         /// </summary>
+        /// <typeparam name="T">The type of marshaled parameter or result.</typeparam>
         public sealed class Function<T> : JSType where T : JSType
         {
             internal Function() { }
         }
 
         /// <summary>
-        /// Marshal as JavaScript <see href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function">Function</see> type.
+        /// Marshal as JavaScript <see href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Function">Function</see> type.
         /// </summary>
+        /// <typeparam name="T1">The type of marshaled parameter or result.</typeparam>
+        /// <typeparam name="T2">Type of marshaled parameter.</typeparam>
         public sealed class Function<T1, T2> : JSType where T1 : JSType where T2 : JSType
         {
             internal Function() { }
         }
 
         /// <summary>
-        /// Marshal as JavaScript <see href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function">Function</see> type.
+        /// Marshal as JavaScript <see href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Function">Function</see> type.
         /// </summary>
+        /// <typeparam name="T1">The type of marshaled parameter or result.</typeparam>
+        /// <typeparam name="T2">Type of marshaled parameter.</typeparam>
+        /// <typeparam name="T3">Type of marshaled parameter.</typeparam>
         public sealed class Function<T1, T2, T3> : JSType where T1 : JSType where T2 : JSType where T3 : JSType
         {
             internal Function() { }
         }
 
         /// <summary>
-        /// Marshal as JavaScript <see href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function">Function</see> type.
+        /// Marshal as JavaScript <see href="https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Function">Function</see> type.
         /// </summary>
+        /// <typeparam name="T1">The type of marshaled parameter or result.</typeparam>
+        /// <typeparam name="T2">Type of marshaled parameter.</typeparam>
+        /// <typeparam name="T3">Type of marshaled parameter.</typeparam>
+        /// <typeparam name="T4">Type of marshaled parameter.</typeparam>
         public sealed class Function<T1, T2, T3, T4> : JSType where T1 : JSType where T2 : JSType where T3 : JSType where T4 : JSType
         {
             internal Function() { }
index 2c669c0..83ae782 100644 (file)
@@ -31,20 +31,20 @@ namespace System.Runtime.InteropServices.JavaScript
         /// <summary>
         /// Push the specified elements.
         /// </summary>
-        /// <returns>The new length of the Array push was called on</returns>
+        /// <returns>The new length of the Array push was called on.</returns>
         /// <param name="elements">Elements.</param>
         public int Push(params object[] elements) => (int)this.Invoke("push", elements);
 
         /// <summary>
         /// Pop this instance.
         /// </summary>
-        /// <returns>The element removed from the array or null if the array was empty</returns>
+        /// <returns>The element removed from the array or null if the array was empty.</returns>
         public object Pop() => (object)this.Invoke("pop");
 
         /// <summary>
         /// Remove the first element of the Array and return that element
         /// </summary>
-        /// <returns>The removed element</returns>
+        /// <returns>The removed element.</returns>
         public object Shift() => this.Invoke("shift");
 
         /// <summary>
@@ -57,15 +57,15 @@ namespace System.Runtime.InteropServices.JavaScript
         /// <summary>
         /// Index of the search element.
         /// </summary>
-        /// <returns>The index of first occurrence of searchElement in the Array or -1 if not Found</returns>
+        /// <returns>The index of first occurrence of searchElement in the Array or -1 if not Found.</returns>
         /// <param name="searchElement">Search element.</param>
-        /// <param name="fromIndex">The index to start the search from</param>
+        /// <param name="fromIndex">The index to start the search from.</param>
         public int IndexOf(object searchElement, int fromIndex = 0) => (int)this.Invoke("indexOf", searchElement, fromIndex);
 
         /// <summary>
         /// Finds the index of the last occurrence of<paramref name="searchElement" />
         /// </summary>
-        /// <returns>The index of the last occurrence</returns>
+        /// <returns>The index of the last occurrence.</returns>
         /// <param name="searchElement">Search element.</param>
         public int LastIndexOf(object searchElement) => (int)this.Invoke("lastIndexOf", searchElement);
 
index f02e18a..972bfea 100644 (file)
@@ -32,7 +32,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// <summary>
         /// Gets a value indicating whether this ArrayBuffer is view.
         /// </summary>
-        /// <value><c>true</c> if is view; otherwise, <c>false</c>.</value>
+        /// <value><see langword="true"/> if is view; otherwise, <see langword="false"/>.</value>
         public bool IsView => (bool)this.GetObjectProperty("isView");
 
         /// <summary>
index 469f71c..d895845 100644 (file)
@@ -51,7 +51,7 @@ namespace System.Runtime.InteropServices.JavaScript
         ///   Returns the named property from the object, or throws a JSException on error.
         /// </summary>
         /// <param name="self">thisArg</param>
-        /// <param name="name">The name of the property to lookup</param>
+        /// <param name="name">The name of the property to lookup.</param>
         /// <remarks>
         ///   This method can raise a JSException if fetching the property in Javascript raises an exception.
         /// </remarks>
@@ -90,7 +90,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// <remarks>
         /// </remarks>
         /// <param name="self">thisArg</param>
-        /// <param name="name">The name of the property to lookup</param>
+        /// <param name="name">The name of the property to lookup.</param>
         /// <param name="value">The value can be a primitive type (int, double, string, bool), an
         /// array that will be surfaced as a typed ArrayBuffer (byte[], sbyte[], short[], ushort[],
         /// float[], double[]) </param>
index f53960e..a2bce80 100644 (file)
@@ -11,6 +11,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public unsafe void ToManagedBig(out long value)
         {
@@ -26,6 +27,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public void ToJSBig(long value)
         {
@@ -37,6 +39,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public unsafe void ToManagedBig(out long? value)
         {
@@ -52,6 +55,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public void ToJSBig(long? value)
         {
index 336db0c..375e4b9 100644 (file)
@@ -11,6 +11,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public unsafe void ToManaged(out bool value)
         {
@@ -26,6 +27,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public void ToJS(bool value)
         {
@@ -37,6 +39,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public unsafe void ToManaged(out bool? value)
         {
@@ -52,6 +55,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public void ToJS(bool? value)
         {
index 0c97341..1ce1dc2 100644 (file)
@@ -11,6 +11,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public unsafe void ToManaged(out byte value)
         {
@@ -26,6 +27,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public void ToJS(byte value)
         {
@@ -37,6 +39,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public unsafe void ToManaged(out byte? value)
         {
@@ -52,6 +55,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public void ToJS(byte? value)
         {
@@ -70,6 +74,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         public unsafe void ToManaged(out byte[]? value)
         {
             if (slot.Type == MarshalerType.None)
@@ -86,6 +91,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         public unsafe void ToJS(byte[]? value)
         {
             if (value == null)
@@ -104,6 +110,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         // this only supports array round-trip, there is no way how to create ArraySegment in JS
         public unsafe void ToManaged(out ArraySegment<byte> value)
         {
@@ -117,6 +124,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         public unsafe void ToJS(ArraySegment<byte> value)
         {
             if (value.Array == null)
@@ -135,6 +143,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         public unsafe void ToManaged(out Span<byte> value)
         {
             value = new Span<byte>((void*)slot.IntPtrValue, slot.Length);
@@ -144,7 +153,8 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
-        /// <remarks>caller is responsible for pinning</remarks>
+        /// <remarks>caller is responsible for pinning.</remarks>
+        /// <param name="value">The value to be marshaled.</param>
         public unsafe void ToJS(Span<byte> value)
         {
             slot.Length = value.Length;
index 8a05000..7daddfb 100644 (file)
@@ -11,6 +11,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public unsafe void ToManaged(out char value)
         {
@@ -26,6 +27,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public void ToJS(char value)
         {
@@ -37,6 +39,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public unsafe void ToManaged(out char? value)
         {
@@ -52,6 +55,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public void ToJS(char? value)
         {
index 3984941..6521ac0 100644 (file)
@@ -11,6 +11,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public unsafe void ToManaged(out DateTimeOffset value)
         {
@@ -26,6 +27,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public void ToJS(DateTimeOffset value)
         {
@@ -37,6 +39,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public unsafe void ToManaged(out DateTimeOffset? value)
         {
@@ -52,6 +55,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public void ToJS(DateTimeOffset? value)
         {
@@ -70,6 +74,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public unsafe void ToManaged(out DateTime value)
         {
@@ -85,6 +90,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public void ToJS(DateTime value)
         {
@@ -96,6 +102,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public unsafe void ToManaged(out DateTime? value)
         {
@@ -111,6 +118,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public void ToJS(DateTime? value)
         {
index 43c48be..9589ea0 100644 (file)
@@ -11,6 +11,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public unsafe void ToManaged(out double value)
         {
@@ -26,6 +27,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public void ToJS(double value)
         {
@@ -37,6 +39,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public unsafe void ToManaged(out double? value)
         {
@@ -52,6 +55,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public void ToJS(double? value)
         {
@@ -70,6 +74,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public unsafe void ToManaged(out double[]? value)
         {
@@ -87,6 +92,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public void ToJS(double[] value)
         {
@@ -106,6 +112,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         // this only supports array round-trip
         public unsafe void ToManaged(out ArraySegment<double> value)
         {
@@ -119,6 +126,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         public unsafe void ToJS(ArraySegment<double> value)
         {
             if (value.Array == null)
@@ -137,6 +145,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         public unsafe void ToManaged(out Span<double> value)
         {
             value = new Span<double>((void*)slot.IntPtrValue, slot.Length);
@@ -146,7 +155,8 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
-        /// <remarks>caller is responsible for pinning</remarks>
+        /// <remarks>caller is responsible for pinning.</remarks>
+        /// <param name="value">The value to be marshaled.</param>
         public unsafe void ToJS(Span<double> value)
         {
             slot.Length = value.Length;
index 8c2ec3f..0e9dfba 100644 (file)
@@ -11,6 +11,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public unsafe void ToManaged(out Exception? value)
         {
@@ -45,6 +46,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public unsafe void ToJS(Exception? value)
         {
index e631f89..0b84e72 100644 (file)
@@ -124,6 +124,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         public unsafe void ToManaged(out Action? value)
         {
             if (slot.Type == MarshalerType.None)
@@ -139,6 +140,9 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <typeparam name="T">The type of the marshaled argument of the Action.</typeparam>
+        /// <param name="value">The value to be marshaled.</param>
+        /// <param name="arg1Marshaler">The generated callback which marshals the argument of the Action.</param>
         public unsafe void ToManaged<T>(out Action<T>? value, ArgumentToJSCallback<T> arg1Marshaler)
         {
             if (slot.Type == MarshalerType.None)
@@ -154,6 +158,11 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <typeparam name="T1">The type of the marshaled argument of the Action.</typeparam>
+        /// <typeparam name="T2">The type of the marshaled argument of the Action.</typeparam>
+        /// <param name="value">The value to be marshaled.</param>
+        /// <param name="arg1Marshaler">The generated callback which marshals the argument of the Action.</param>
+        /// <param name="arg2Marshaler">The generated callback which marshals the argument of the Action.</param>
         public unsafe void ToManaged<T1, T2>(out Action<T1, T2>? value, ArgumentToJSCallback<T1> arg1Marshaler, ArgumentToJSCallback<T2> arg2Marshaler)
         {
             if (slot.Type == MarshalerType.None)
@@ -169,6 +178,13 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <typeparam name="T1">The type of the marshaled argument of the Action.</typeparam>
+        /// <typeparam name="T2">The type of the marshaled argument of the Action.</typeparam>
+        /// <typeparam name="T3">The type of the marshaled argument of the Action.</typeparam>
+        /// <param name="value">The value to be marshaled.</param>
+        /// <param name="arg1Marshaler">The generated callback which marshals the argument of the Action.</param>
+        /// <param name="arg2Marshaler">The generated callback which marshals the argument of the Action.</param>
+        /// <param name="arg3Marshaler">The generated callback which marshals the argument of the Action.</param>
         public unsafe void ToManaged<T1, T2, T3>(out Action<T1, T2, T3>? value, ArgumentToJSCallback<T1> arg1Marshaler, ArgumentToJSCallback<T2> arg2Marshaler, ArgumentToJSCallback<T3> arg3Marshaler)
         {
             if (slot.Type == MarshalerType.None)
@@ -319,6 +335,9 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <typeparam name="TResult">Type of marshaled result of the Func.</typeparam>
+        /// <param name="value">The value to be marshaled.</param>
+        /// <param name="resMarshaler">The generated callback which marshals the result of the Func.</param>
         public unsafe void ToManaged<TResult>(out Func<TResult>? value, ArgumentToManagedCallback<TResult> resMarshaler)
         {
             if (slot.Type == MarshalerType.None)
@@ -334,6 +353,11 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <typeparam name="T">The type of the marshaled argument of the Func.</typeparam>
+        /// <typeparam name="TResult">Type of marshaled result of the Func.</typeparam>
+        /// <param name="value">The value to be marshaled.</param>
+        /// <param name="arg1Marshaler">The generated callback which marshals the argument of the Func.</param>
+        /// <param name="resMarshaler">The generated callback which marshals the result of the Func.</param>
         public unsafe void ToManaged<T, TResult>(out Func<T, TResult>? value, ArgumentToJSCallback<T> arg1Marshaler, ArgumentToManagedCallback<TResult> resMarshaler)
         {
             if (slot.Type == MarshalerType.None)
@@ -350,6 +374,13 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <typeparam name="T1">The type of the marshaled argument of the Func.</typeparam>
+        /// <typeparam name="T2">The type of the marshaled argument of the Func.</typeparam>
+        /// <typeparam name="TResult">Type of marshaled result of the Func.</typeparam>
+        /// <param name="value">The value to be marshaled.</param>
+        /// <param name="arg1Marshaler">The generated callback which marshals the argument of the Func.</param>
+        /// <param name="arg2Marshaler">The generated callback which marshals the argument of the Func.</param>
+        /// <param name="resMarshaler">The generated callback which marshals the result of the Func.</param>
         public unsafe void ToManaged<T1, T2, TResult>(out Func<T1, T2, TResult>? value, ArgumentToJSCallback<T1> arg1Marshaler, ArgumentToJSCallback<T2> arg2Marshaler, ArgumentToManagedCallback<TResult> resMarshaler)
         {
             if (slot.Type == MarshalerType.None)
@@ -365,6 +396,15 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <typeparam name="T1">The type of the marshaled argument of the Func.</typeparam>
+        /// <typeparam name="T2">The type of the marshaled argument of the Func.</typeparam>
+        /// <typeparam name="T3">The type of the marshaled argument of the Func.</typeparam>
+        /// <typeparam name="TResult">Type of marshaled result of the Func.</typeparam>
+        /// <param name="value">The value to be marshaled.</param>
+        /// <param name="arg1Marshaler">The generated callback which marshals the argument of the Func.</param>
+        /// <param name="arg2Marshaler">The generated callback which marshals the argument of the Func.</param>
+        /// <param name="arg3Marshaler">The generated callback which marshals the argument of the Func.</param>
+        /// <param name="resMarshaler">The generated callback which marshals the result of the Func.</param>
         public unsafe void ToManaged<T1, T2, T3, TResult>(out Func<T1, T2, T3, TResult>? value, ArgumentToJSCallback<T1> arg1Marshaler, ArgumentToJSCallback<T2> arg2Marshaler, ArgumentToJSCallback<T3> arg3Marshaler, ArgumentToManagedCallback<TResult> resMarshaler)
         {
             if (slot.Type == MarshalerType.None)
@@ -380,6 +420,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         public unsafe void ToJS(Action value)
         {
             Action cpy = value;
@@ -397,6 +438,9 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <typeparam name="T">The type of the marshaled argument of the Action.</typeparam>
+        /// <param name="value">The value to be marshaled.</param>
+        /// <param name="arg1Marshaler">The generated callback which marshals the argument of the Action.</param>
         public unsafe void ToJS<T>(Action<T> value, ArgumentToManagedCallback<T> arg1Marshaler)
         {
             Action<T> cpy = value;
@@ -415,6 +459,11 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <typeparam name="T1">The type of the marshaled argument of the Action.</typeparam>
+        /// <typeparam name="T2">The type of the marshaled argument of the Action.</typeparam>
+        /// <param name="value">The value to be marshaled.</param>
+        /// <param name="arg1Marshaler">The generated callback which marshals the argument of the Action.</param>
+        /// <param name="arg2Marshaler">The generated callback which marshals the argument of the Action.</param>
         public unsafe void ToJS<T1, T2>(Action<T1, T2> value, ArgumentToManagedCallback<T1> arg1Marshaler, ArgumentToManagedCallback<T2> arg2Marshaler)
         {
             Action<T1, T2> cpy = value;
@@ -435,6 +484,13 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <typeparam name="T1">The type of the marshaled argument of the Action.</typeparam>
+        /// <typeparam name="T2">The type of the marshaled argument of the Action.</typeparam>
+        /// <typeparam name="T3">The type of the marshaled argument of the Action.</typeparam>
+        /// <param name="value">The value to be marshaled.</param>
+        /// <param name="arg1Marshaler">The generated callback which marshals the argument of the Action.</param>
+        /// <param name="arg2Marshaler">The generated callback which marshals the argument of the Action.</param>
+        /// <param name="arg3Marshaler">The generated callback which marshals the argument of the Action.</param>
         public unsafe void ToJS<T1, T2, T3>(Action<T1, T2, T3> value, ArgumentToManagedCallback<T1> arg1Marshaler, ArgumentToManagedCallback<T2> arg2Marshaler, ArgumentToManagedCallback<T3> arg3Marshaler)
         {
             Action<T1, T2, T3> cpy = value;
@@ -457,6 +513,9 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <typeparam name="TResult">Type of marshaled result of the Func.</typeparam>
+        /// <param name="value">The value to be marshaled.</param>
+        /// <param name="resMarshaler">The generated callback which marshals the result of the Func.</param>
         public unsafe void ToJS<TResult>(Func<TResult> value, ArgumentToJSCallback<TResult> resMarshaler)
         {
             Func<TResult> cpy = value;
@@ -475,6 +534,11 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <typeparam name="T">The type of the marshaled argument of the Func.</typeparam>
+        /// <typeparam name="TResult">Type of marshaled result of the Func.</typeparam>
+        /// <param name="value">The value to be marshaled.</param>
+        /// <param name="resMarshaler">The generated callback which marshals the result of the Func.</param>
+        /// <param name="arg1Marshaler">The generated callback which marshals the argument of the Func.</param>
         public unsafe void ToJS<T, TResult>(Func<T, TResult> value, ArgumentToManagedCallback<T> arg1Marshaler, ArgumentToJSCallback<TResult> resMarshaler)
         {
             Func<T, TResult> cpy = value;
@@ -495,6 +559,13 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <typeparam name="T1">The type of the marshaled argument of the Func.</typeparam>
+        /// <typeparam name="T2">The type of the marshaled argument of the Func.</typeparam>
+        /// <typeparam name="TResult">Type of marshaled result of the Func.</typeparam>
+        /// <param name="value">The value to be marshaled.</param>
+        /// <param name="resMarshaler">The generated callback which marshals the result of the Func.</param>
+        /// <param name="arg1Marshaler">The generated callback which marshals the argument of the Func.</param>
+        /// <param name="arg2Marshaler">The generated callback which marshals the argument of the Func.</param>
         public unsafe void ToJS<T1, T2, TResult>(Func<T1, T2, TResult> value, ArgumentToManagedCallback<T1> arg1Marshaler, ArgumentToManagedCallback<T2> arg2Marshaler, ArgumentToJSCallback<TResult> resMarshaler)
         {
             Func<T1, T2, TResult> cpy = value;
@@ -517,6 +588,15 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <typeparam name="T1">The type of the marshaled argument of the Func.</typeparam>
+        /// <typeparam name="T2">The type of the marshaled argument of the Func.</typeparam>
+        /// <typeparam name="T3">The type of the marshaled argument of the Func.</typeparam>
+        /// <typeparam name="TResult">Type of marshaled result of the Func.</typeparam>
+        /// <param name="value">The value to be marshaled.</param>
+        /// <param name="resMarshaler">The generated callback which marshals the result of the Func.</param>
+        /// <param name="arg1Marshaler">The generated callback which marshals the argument of the Func.</param>
+        /// <param name="arg2Marshaler">The generated callback which marshals the argument of the Func.</param>
+        /// <param name="arg3Marshaler">The generated callback which marshals the argument of the Func.</param>
         public unsafe void ToJS<T1, T2, T3, TResult>(Func<T1, T2, T3, TResult> value, ArgumentToManagedCallback<T1> arg1Marshaler, ArgumentToManagedCallback<T2> arg2Marshaler, ArgumentToManagedCallback<T3> arg3Marshaler, ArgumentToJSCallback<TResult> resMarshaler)
         {
             Func<T1, T2, T3, TResult> cpy = value;
index aa1ea30..6a2fec5 100644 (file)
@@ -11,6 +11,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public unsafe void ToManaged(out short value)
         {
@@ -26,6 +27,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public void ToJS(short value)
         {
@@ -37,6 +39,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public unsafe void ToManaged(out short? value)
         {
@@ -52,6 +55,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public void ToJS(short? value)
         {
index 75b2549..0f384d1 100644 (file)
@@ -11,6 +11,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public unsafe void ToManaged(out int value)
         {
@@ -26,6 +27,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public void ToJS(int value)
         {
@@ -37,6 +39,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public unsafe void ToManaged(out int? value)
         {
@@ -52,6 +55,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public void ToJS(int? value)
         {
@@ -70,6 +74,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         public unsafe void ToManaged(out int[]? value)
         {
             if (slot.Type == MarshalerType.None)
@@ -86,6 +91,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         public unsafe void ToJS(int[]? value)
         {
             if (value == null)
@@ -104,6 +110,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         // this only supports array round-trip
         public unsafe void ToManaged(out ArraySegment<int> value)
         {
@@ -117,6 +124,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         public unsafe void ToJS(ArraySegment<int> value)
         {
             if (value.Array == null)
@@ -135,6 +143,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         public unsafe void ToManaged(out Span<int> value)
         {
             value = new Span<int>((void*)slot.IntPtrValue, slot.Length);
@@ -144,7 +153,8 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
-        /// <remarks>caller is responsible for pinning</remarks>
+        /// <remarks>caller is responsible for pinning.</remarks>
+        /// <param name="value">The value to be marshaled.</param>
         public unsafe void ToJS(Span<int> value)
         {
             slot.Length = value.Length;
index a22902b..920935a 100644 (file)
@@ -14,6 +14,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public unsafe void ToManaged(out long value)
         {
@@ -29,6 +30,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public void ToJS(long value)
         {
@@ -45,6 +47,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public unsafe void ToManaged(out long? value)
         {
@@ -60,6 +63,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public void ToJS(long? value)
         {
index 88a9776..251db16 100644 (file)
@@ -11,6 +11,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public unsafe void ToManaged(out IntPtr value)
         {
@@ -26,6 +27,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public void ToJS(IntPtr value)
         {
@@ -37,6 +39,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public unsafe void ToManaged(out IntPtr? value)
         {
@@ -52,6 +55,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public void ToJS(IntPtr? value)
         {
@@ -70,6 +74,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public unsafe void ToManaged(out void* value)
         {
@@ -85,6 +90,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public unsafe void ToJS(void* value)
         {
index 58522b4..b725241 100644 (file)
@@ -11,6 +11,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public unsafe void ToManaged(out JSObject? value)
         {
@@ -26,6 +27,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public void ToJS(JSObject? value)
         {
@@ -49,6 +51,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public unsafe void ToManaged(out JSObject?[]? value)
         {
@@ -74,6 +77,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public unsafe void ToJS(JSObject?[] value)
         {
index ac93951..65187fa 100644 (file)
@@ -17,6 +17,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public unsafe void ToManaged(out object? value)
         {
@@ -108,6 +109,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public void ToJS(object? value)
         {
@@ -324,6 +326,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public unsafe void ToManaged(out object?[]? value)
         {
@@ -350,6 +353,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public unsafe void ToJS(object?[] value)
         {
index 08dfe11..c22d26c 100644 (file)
@@ -11,6 +11,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public unsafe void ToManaged(out float value)
         {
@@ -26,6 +27,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public void ToJS(float value)
         {
@@ -37,6 +39,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public unsafe void ToManaged(out float? value)
         {
@@ -52,6 +55,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public void ToJS(float? value)
         {
index afabd54..eef48c7 100644 (file)
@@ -11,6 +11,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public unsafe void ToManaged(out string? value)
         {
@@ -30,6 +31,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public unsafe void ToJS(string? value)
         {
@@ -57,6 +59,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public unsafe void ToManaged(out string?[]? value)
         {
@@ -83,6 +86,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         [MethodImpl(MethodImplOptions.AggressiveInlining)]
         public unsafe void ToJS(string?[] value)
         {
index 1387686..9c3edf3 100644 (file)
@@ -10,23 +10,30 @@ namespace System.Runtime.InteropServices.JavaScript
     public partial struct JSMarshalerArgument
     {
         /// <summary>
-        /// Helps with marshaling of the Task result or Function arguments.
-        /// It's used by JSImport code generator and should not be used by developers in source code.
+        /// Assists in marshalling of Task results and Function arguments.
+        /// This API is used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <typeparam name="T">Type of the marshaled value.</typeparam>
+        /// <param name="arg">The low-level argument representation.</param>
+        /// <param name="value">The value to be marshaled.</param>
         [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
         public delegate void ArgumentToManagedCallback<T>(ref JSMarshalerArgument arg, out T value);
 
         /// <summary>
-        /// Helps with marshaling of the Task result or Function arguments.
-        /// It's used by JSImport code generator and should not be used by developers in source code.
+        /// Assists in marshalling of Task results and Function arguments.
+        /// This API is used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <typeparam name="T">Type of the marshaled value.</typeparam>
+        /// <param name="arg">The low-level argument representation.</param>
+        /// <param name="value">The value to be marshaled.</param>
         [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
         public delegate void ArgumentToJSCallback<T>(ref JSMarshalerArgument arg, T value);
 
         /// <summary>
         /// Implementation of the argument marshaling.
-        /// It's used by JSImport code generator and should not be used by developers in source code.
+        /// This API is used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         public unsafe void ToManaged(out Task? value)
         {
             if (slot.Type == MarshalerType.None)
@@ -63,6 +70,9 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
+        /// <param name="marshaler">The generated callback which marshals the result value of the <see cref="System.Threading.Tasks.Task"/>.</param>
+        /// <typeparam name="T">Type of marshaled result of the <see cref="System.Threading.Tasks.Task"/>.</typeparam>
         public unsafe void ToManaged<T>(out Task<T>? value, ArgumentToManagedCallback<T> marshaler)
         {
             if (slot.Type == MarshalerType.None)
@@ -177,6 +187,7 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
         public void ToJS(Task? value)
         {
             Task? task = value;
@@ -248,6 +259,9 @@ namespace System.Runtime.InteropServices.JavaScript
         /// Implementation of the argument marshaling.
         /// It's used by JSImport code generator and should not be used by developers in source code.
         /// </summary>
+        /// <param name="value">The value to be marshaled.</param>
+        /// <param name="marshaler">The generated callback which marshals the result value of the <see cref="System.Threading.Tasks.Task"/>.</param>
+        /// <typeparam name="T">Type of marshaled result of the <see cref="System.Threading.Tasks.Task"/>.</typeparam>
         public void ToJS<T>(Task<T>? value, ArgumentToJSCallback<T> marshaler)
         {
             Task<T>? task = value;