Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 0 additions & 27 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -520,33 +520,6 @@ The fields are as follows:
* `trivia`: A trivia object.
* `extAttrs`: An [extended attributes](#extended-attributes) container.

### Implements

An implements definition looks like this:

```JS
{
"type": "implements",
"target": "Node",
"implements": "EventTarget",
"trivia": {
"target": "\n\n ",
"implements": " ",
"mixin": " ",
"termination": ""
},
"extAttrs": null
}
```

The fields are as follows:

* `type`: Always "implements".
* `target`: The interface that implements another.
* `implements`: The interface that is being implemented by the target.
* `trivia`: A trivia object. The field `target` is for the base interface identifier, `implements` for the `implements` keyword, and `mixin` for the mixin identifier.
* `extAttrs`: An [extended attributes](#extended-attributes) container.

### Includes

An includes definition looks like this:
Expand Down
26 changes: 0 additions & 26 deletions lib/webidl2.js
Original file line number Diff line number Diff line change
Expand Up @@ -1100,31 +1100,6 @@
return ret;
}

function implements_() {
const start_position = consume_position;
const target = consume(ID);
if (!target) return;
const trivia = { target: target.trivia };
const implementsToken = consume("implements");
if (implementsToken) {
trivia.implements = implementsToken.trivia;
const ret = {
type: "implements",
target: target.value
};
const imp = consume(ID) || error("Incomplete implements statement");
trivia.mixin = imp.trivia;
ret.implements = imp.value;
ret.trivia = trivia;
const termination = consume(";") || error("No terminating ; for implements statement");
trivia.termination = termination.trivia;
return ret;
} else {
// rollback
unconsume(start_position);
}
}

function includes() {
const start_position = consume_position;
const target = consume(ID);
Expand Down Expand Up @@ -1157,7 +1132,6 @@
dictionary() ||
enum_() ||
typedef() ||
implements_() ||
includes() ||
namespace();
}
Expand Down
5 changes: 0 additions & 5 deletions lib/writer.js
Original file line number Diff line number Diff line change
Expand Up @@ -150,10 +150,6 @@
const ret = extended_attributes(it.extAttrs);
return `${ret}${it.trivia.base}typedef${type(it.idlType)}${it.trivia.name}${it.name}${it.trivia.termination};`;
}
function implements_(it) {
const ret = extended_attributes(it.extAttrs);
return `${ret}${it.trivia.target}${it.target}${it.trivia.implements}implements${it.trivia.mixin}${it.implements}${it.trivia.termination};`;
}
function includes(it) {
const ret = extended_attributes(it.extAttrs);
return `${ret}${it.trivia.target}${it.target}${it.trivia.includes}includes${it.trivia.mixin}${it.includes}${it.trivia.termination};`;
Expand Down Expand Up @@ -195,7 +191,6 @@
field,
const: const_,
typedef,
implements: implements_,
includes,
callback,
enum: enum_,
Expand Down
File renamed without changes.
4 changes: 4 additions & 0 deletions test/invalid/json/implements.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"message": "Got an error during or right after parsing `interface EventTarget`: Unrecognised tokens",
"line": 14
}
212 changes: 0 additions & 212 deletions test/syntax/json/implements.json

This file was deleted.