MDN may have intermittent access issues April 18 13:00 - April 19 01:00 UTC. See whistlepig.mozilla.org for all notifications.

mozilla

Compare Revisions

WebIDL bindings

Change Revisions

Revision 327373:

Revision 327373 by Bzbarsky on

Revision 329039:

Revision 329039 by Bzbarsky on

Title:
WebIDL bindings
WebIDL bindings
Slug:
Mozilla/WebIDL_bindings
Mozilla/WebIDL_bindings
Content:

Revision 327373
Revision 329039
n171      In all cases, optional arguments which do not have a defauln171      In all cases, optional arguments which do not have a defaul
>t value are represented by wrapping <a href="#Optional" title="#O>t value are represented by wrapping <a href="#Optional" title="#O
>ptional"><code>const Optional&lt;&gt;</code></a> around the repre>ptional"><code>const Optional&lt;&gt;</code></a> around the repre
>sentation of the argument type.&nbsp; Optional arguments which do>sentation of the argument type.&nbsp; If the argument type is a C
> have a default value are just represented by the argument type i>++ reference, it will also become a <a href="#NonNull" title="#No
>tself, set to the default value if the argument was not in fact p>nNull">NonNull&lt;&gt;</a> around the actual type of the object i
>assed in.>n the process.&nbsp; Optional arguments which do have a default v
 >alue are just represented by the argument type itself, set to the
 > default value if the argument was not in fact passed in.
tt319    <p>
320      For example, this WebIDL:
321    </p>
322    <pre>
323interface Test {
324  object myAttr;
325  object myMethod(object arg1, object? arg2, optional object arg3
 >, optional object? arg4);
326};
327</pre>
328    <p>
329      will correspond to these C++ function declarations:
330    </p>
331    <pre>
332JSObject* GetMyAttr(JSContext* cx);
333void SetMyAttr(JSContext* cx, JSObject* value);
334void MyMethod(JSContext* cx, JSObject&amp; arg1, JSObject* arg2,
335              const Optional&lt;NonNull&lt;JSObject&gt; &gt;&amp;
 > arg3,
336              const Optional&lt;JSObject*&gt;&amp; arg4);
337</pre>

Back to History