Skip to content

Commit 752cdf7

Browse files
committed
Version 2020.0.0
1 parent 9dc1376 commit 752cdf7

File tree

4 files changed

+96
-7
lines changed

4 files changed

+96
-7
lines changed

attribute-order.conf

+18-1
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,7 @@ test
138138
declaration
139139

140140
[ExportAllFrom]
141+
name
141142
moduleSpecifier
142143

143144
[ExportDeclaration]
@@ -234,6 +235,9 @@ moduleSpecifier
234235
[ImportDeclaration]
235236
moduleSpecifier
236237

238+
[ImportExpression]
239+
source
240+
237241
[ImportNamespace]
238242
defaultBinding
239243
namespaceBinding
@@ -250,6 +254,10 @@ body
250254
label
251255
body
252256

257+
[LiteralBigIntExpression]
258+
bigint
259+
value
260+
253261
[LiteralBooleanExpression]
254262
value
255263

@@ -300,7 +308,9 @@ name
300308
callee
301309
arguments
302310

303-
[NewTargetExpression]
311+
[MetaProperty]
312+
meta
313+
property
304314

305315
[Node]
306316

@@ -317,6 +327,13 @@ properties
317327

318328
[ObjectProperty]
319329

330+
[OptionalChainingExpression]
331+
expression
332+
333+
[OptionalMemberExpression]
334+
object
335+
property
336+
320337
[Program]
321338

322339
[PropertyName]

package-lock.json

+48
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "shift-spec-idl",
3-
"version": "2019.0.0",
3+
"version": "2020.0.0",
44
"description": "Shift AST specification IDL files",
55
"author": "Shape Security",
66
"homepage": "https://github.com/shapesecurity/shift-spec",

spec.idl

+29-5
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ enum CompoundAssignmentOperator {
4747
};
4848
enum BinaryOperator {
4949
"==", "!=", "===", "!==", "<", "<=", ">", ">=", "in", "instanceof", "<<",
50-
">>", ">>>", "+", "-", "*", "/", "%", "**", ",", "||", "&&", "|", "^", "&"
50+
">>", ">>>", "+", "-", "*", "/", "%", "**", ",", "||", "&&", "|", "^", "&", "??"
5151
};
5252
enum UnaryOperator { "+", "-", "!", "~", "typeof", "void", "delete" };
5353
enum UpdateOperator { "++", "--" };
@@ -255,8 +255,9 @@ interface ImportSpecifier : Node {
255255
attribute BindingIdentifier binding;
256256
};
257257

258-
// `export * FromClause;`
258+
// `export * FromClause;`, `export * as IdentifierName FromClause`
259259
interface ExportAllFrom : ExportDeclaration {
260+
attribute IdentifierName? name;
260261
attribute string moduleSpecifier;
261262
};
262263

@@ -349,6 +350,12 @@ interface StaticPropertyName : PropertyName {
349350

350351
// literals
351352

353+
// `BigIntLiteral`
354+
interface LiteralBigIntExpression : Expression {
355+
attribute string bigint;
356+
attribute double value;
357+
};
358+
352359
// `BooleanLiteral`
353360
interface LiteralBooleanExpression : Expression {
354361
attribute boolean value;
@@ -412,7 +419,7 @@ interface AssignmentExpression : Expression {
412419
attribute Expression expression;
413420
};
414421

415-
// `ExponentiationExpression`, `MultiplicativeExpression`, `AdditiveExpression`, `ShiftExpression`, `RelationalExpression`, `EqualityExpression`, `BitwiseANDExpression`, `BitwiseXORExpression`, `BitwiseORExpression`, `LogicalANDExpression`, `LogicalORExpression`
422+
// `ExponentiationExpression`, `MultiplicativeExpression`, `AdditiveExpression`, `ShiftExpression`, `RelationalExpression`, `EqualityExpression`, `BitwiseANDExpression`, `BitwiseXORExpression`, `BitwiseORExpression`, `LogicalANDExpression`, `LogicalORExpression`, `NullishCoalescingExpression`
416423
interface BinaryExpression : Expression {
417424
attribute BinaryOperator operator;
418425
// The expression before the operator.
@@ -459,17 +466,34 @@ FunctionExpression implements Function;
459466
interface IdentifierExpression : Expression { };
460467
IdentifierExpression implements VariableReference;
461468

469+
// `ImportExpression`
470+
interface ImportExpression : Expression {
471+
attribute Expression source;
472+
};
473+
474+
// `import.meta`, `new.target`
475+
interface MetaProperty: Expression {
476+
attribute Identifier meta;
477+
attribute Identifier property;
478+
};
479+
462480
interface NewExpression : Expression {
463481
attribute Expression callee;
464482
attribute Arguments arguments;
465483
};
466484

467-
interface NewTargetExpression : Expression { };
468-
469485
interface ObjectExpression : Expression {
470486
attribute ObjectProperty[] properties;
471487
};
472488

489+
interface OptionalChainingExpression: Expression {
490+
attribute Expression expression;
491+
};
492+
493+
interface OptionalMemberExpression: MemberExpression {
494+
attribute IdentifierName property;
495+
};
496+
473497
interface UnaryExpression : Expression {
474498
attribute UnaryOperator operator;
475499
attribute Expression operand;

0 commit comments

Comments
 (0)