Contiguous IDL and overloaded functions

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Contiguous IDL and overloaded functions

mwatson2
Hi all,

I have two functions in one interface:

appendBuffer( ArrayBuffer data );
appendBuffer( ArrayBufferView data );

The oldschool-to-contiguous tools leaves me with two <dfn>arrayBuffer</dfn>'s which ReSpec doesn't like. How do I make these definitions different ? I have tried adding various attributes to the <dfn> entries, but no luck.

I guess I have the same issue as https://github.com/w3c/respec/issues/536, but that doesn't offer any help.

...Mark
Reply | Threaded
Open this post in threaded view
|

Re: Contiguous IDL and overloaded functions

Marcos Caceres-4
On July 20, 2016 at 8:23:28 AM, Mark Watson ([hidden email]) wrote:

> Hi all,
>
> I have two functions in one interface:
>
> appendBuffer( ArrayBuffer data );
> appendBuffer( ArrayBufferView data );
>
> The oldschool-to-contiguous tools leaves me with two
> arrayBuffer's which ReSpec doesn't like. How do I make these
> definitions different ? I have tried adding various attributes to the
> entries, but no luck.

I would recommend making a typedef, which captures both types. That
also solves having to overload the method (which is not really a thing
in JS).

http://heycam.github.io/webidl/#idl-typedefs

Like:

typedef (ArrayBuffer or ArrayBufferView) WhatevsBuffer;

interface Foo {
  void appendBuffer(WhatevsBuffer);
};