Skip to content

Commit 15e0d57

Browse files
committed
Re-add void support
1 parent b5198d2 commit 15e0d57

File tree

4 files changed

+24
-23
lines changed

4 files changed

+24
-23
lines changed

Sources/WebIDL/IntermediateRepresentation/IRGenerator.swift

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,6 @@ public class IRGenerator {
196196
.readWriteMaplike,
197197
.readWriteSetlike:
198198
fatalError("Member type \(member) not yet implemented")
199-
return nil
200199
}
201200
}
202201

Sources/WebIDL/Parser/Parser.swift

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1635,7 +1635,8 @@ public class Parser {
16351635
SingleType ::
16361636
DistinguishableType
16371637
any
1638-
undefinedå
1638+
undefined
1639+
void [removed from most recent spec]
16391640
PromiseType
16401641
*/
16411642

@@ -1648,7 +1649,7 @@ public class Parser {
16481649
tokens.removeFirst()
16491650
return .any
16501651

1651-
case .terminal(.undefined):
1652+
case .terminal(.undefined), .terminal(.void):
16521653
tokens.removeFirst()
16531654
return .undefined
16541655

@@ -2444,7 +2445,7 @@ func firstSet(for symbol: NonTerminal) -> Set<Token> {
24442445
case .SingleType:
24452446
return union(
24462447
firstSet(for: .DistinguishableType),
2447-
[.terminal(.any), .terminal(.undefined)],
2448+
[.terminal(.any), .terminal(.undefined), .terminal(.void)],
24482449
firstSet(for: .PromiseType)
24492450
)
24502451

Sources/WebIDL/Tokenizer/Terminal.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ public enum Terminal: String, Equatable, CustomStringConvertible {
8282
case unsigned = "unsigned"
8383
case short = "short"
8484
case long = "long"
85+
case void = "void" // deprecated
8586
case undefined = "undefined"
8687

8788
case ArrayBuffer = "ArrayBuffer"

Tests/WebIDL-files/console.webidl

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,29 @@
11
[Exposed=(Window,Worker,Worklet)]
22
namespace console { // but see namespace object requirements below
33
// Logging
4-
undefined assert(optional boolean condition = false, any... data);
5-
undefined clear();
6-
undefined debug(any... data);
7-
undefined error(any... data);
8-
undefined info(any... data);
9-
undefined log(any... data);
10-
undefined table(optional any tabularData, optional sequence<DOMString> properties);
11-
undefined trace(any... data);
12-
undefined warn(any... data);
13-
undefined dir(optional any item, optional object? options);
14-
undefined dirxml(any... data);
4+
void assert(optional boolean condition = false, any... data);
5+
void clear();
6+
void debug(any... data);
7+
void error(any... data);
8+
void info(any... data);
9+
void log(any... data);
10+
void table(optional any tabularData, optional sequence<DOMString> properties);
11+
void trace(any... data);
12+
void warn(any... data);
13+
void dir(optional any item, optional object? options);
14+
void dirxml(any... data);
1515

1616
// Counting
17-
undefined count(optional DOMString label = "default");
18-
undefined countReset(optional DOMString label = "default");
17+
void count(optional DOMString label = "default");
18+
void countReset(optional DOMString label = "default");
1919

2020
// Grouping
21-
undefined group(any... data);
22-
undefined groupCollapsed(any... data);
23-
undefined groupEnd();
21+
void group(any... data);
22+
void groupCollapsed(any... data);
23+
void groupEnd();
2424

2525
// Timing
26-
undefined time(optional DOMString label = "default");
27-
undefined timeLog(optional DOMString label = "default", any... data);
28-
undefined timeEnd(optional DOMString label = "default");
26+
void time(optional DOMString label = "default");
27+
void timeLog(optional DOMString label = "default", any... data);
28+
void timeEnd(optional DOMString label = "default");
2929
};

0 commit comments

Comments
 (0)