diff --git a/spec.html b/spec.html index baf334dd37..e705a1ff01 100644 --- a/spec.html +++ b/spec.html @@ -11395,6 +11395,9 @@

Static Semantics: MV

  • The MV of HexDigits :: HexDigits HexDigit is (the MV of |HexDigits| × 16) plus the MV of |HexDigit|.
  • +
  • + The MV of Hex4Digits :: HexDigit HexDigit HexDigit HexDigit is (0x1000 times the MV of the first |HexDigit|) plus (0x100 times the MV of the second |HexDigit|) plus (0x10 times the MV of the third |HexDigit|) plus the MV of the fourth |HexDigit|. +
  • @@ -11760,7 +11763,7 @@

    Static Semantics: SV

    The SV of UnicodeEscapeSequence :: `u` Hex4Digits is the SV of |Hex4Digits|.
  • - The SV of Hex4Digits :: HexDigit HexDigit HexDigit HexDigit is the code unit whose value is (0x1000 times the MV of the first |HexDigit|) plus (0x100 times the MV of the second |HexDigit|) plus (0x10 times the MV of the third |HexDigit|) plus the MV of the fourth |HexDigit|. + The SV of Hex4Digits :: HexDigit HexDigit HexDigit HexDigit is the code unit whose value is the MV of |Hex4Digits|.
  • The SV of UnicodeEscapeSequence :: `u{` CodePoint `}` is the UTF16Encoding of the MV of |CodePoint|. @@ -12043,7 +12046,7 @@

    Static Semantics: TV and TRV

    The TRV of NotEscapeSequence :: `u` `{` CodePoint [lookahead <! HexDigit] [lookahead != `}`] is the sequence consisting of the code unit 0x0075 (LATIN SMALL LETTER U) followed by the code unit 0x007B (LEFT CURLY BRACKET) followed by the code units of the TRV of |CodePoint|.
  • - The TRV of DecimalDigit :: one of `0` `1` `2` `3` `4` `5` `6` `7` `8` `9` is the SV of the |SourceCharacter| that is that single code point. + The TRV of DecimalDigit :: one of `0` `1` `2` `3` `4` `5` `6` `7` `8` `9` is the UTF16Encoding of the single code point matched by this production.
  • The TRV of CharacterEscapeSequence :: SingleEscapeCharacter is the TRV of |SingleEscapeCharacter|. @@ -12052,7 +12055,7 @@

    Static Semantics: TV and TRV

    The TRV of CharacterEscapeSequence :: NonEscapeCharacter is the SV of |NonEscapeCharacter|.
  • - The TRV of SingleEscapeCharacter :: one of `'` `"` `\` `b` `f` `n` `r` `t` `v` is the SV of the |SourceCharacter| that is that single code point. + The TRV of SingleEscapeCharacter :: one of `'` `"` `\` `b` `f` `n` `r` `t` `v` is the UTF16Encoding of the single code point matched by this production.
  • The TRV of HexEscapeSequence :: `x` HexDigit HexDigit is the sequence consisting of the code unit 0x0078 (LATIN SMALL LETTER X) followed by TRV of the first |HexDigit| followed by the TRV of the second |HexDigit|. @@ -12073,7 +12076,7 @@

    Static Semantics: TV and TRV

    The TRV of HexDigits :: HexDigits HexDigit is the sequence consisting of TRV of |HexDigits| followed by TRV of |HexDigit|.
  • - The TRV of a |HexDigit| is the SV of the |SourceCharacter| that is that |HexDigit|. + The TRV of HexDigit :: one of `0` `1` `2` `3` `4` `5` `6` `7` `8` `9` `a` `b` `c` `d` `e` `f` `A` `B` `C` `D` `E` `F` is the UTF16Encoding of the single code point matched by this production.
  • The TRV of LineContinuation :: `\` LineTerminatorSequence is the sequence consisting of the code unit 0x005C (REVERSE SOLIDUS) followed by the code units of TRV of |LineTerminatorSequence|. @@ -13581,7 +13584,7 @@

    Static Semantics: Early Errors

    Static Semantics: CoveredCallExpression

    - CallExpression : CoverCallExpressionAndAsyncArrowHead + CoverCallExpressionAndAsyncArrowHead : MemberExpression Arguments 1. Return the |CallMemberExpression| that is covered by |CoverCallExpressionAndAsyncArrowHead|. @@ -16707,6 +16710,12 @@

    Static Semantics: BoundNames

    1. Return a new empty List. + ObjectBindingPattern : `{` BindingPropertyList `,` BindingRestProperty `}` + + 1. Let _names_ be BoundNames of |BindingPropertyList|. + 1. Append to _names_ the elements of BoundNames of |BindingRestProperty|. + 1. Return _names_. + ArrayBindingPattern : `[` Elision? `]` 1. Return a new empty List. @@ -16758,10 +16767,18 @@

    Static Semantics: BoundNames

    Static Semantics: ContainsExpression

    - ObjectBindingPattern : `{` `}` + + ObjectBindingPattern : + `{` `}` + `{` BindingRestProperty `}` + 1. Return *false*. + ObjectBindingPattern : `{` BindingPropertyList `,` BindingRestProperty `}` + + 1. Return ContainsExpression of |BindingPropertyList|. + ArrayBindingPattern : `[` Elision? `]` 1. Return *false*. @@ -19595,6 +19612,16 @@

    Static Semantics: Contains

    + +

    Static Semantics: ContainsDuplicateLabels

    +

    With parameter _labelSet_.

    + + FunctionStatementList : [empty] + + 1. Return *false*. + +
    +

    Static Semantics: ContainsExpression

    @@ -19614,6 +19641,26 @@

    Static Semantics: ContainsExpression

    + +

    Static Semantics: ContainsUndefinedBreakTarget

    +

    With parameter _labelSet_.

    + + FunctionStatementList : [empty] + + 1. Return *false*. + +
    + + +

    Static Semantics: ContainsUndefinedContinueTarget

    +

    With parameters _iterationSet_ and _labelSet_.

    + + FunctionStatementList : [empty] + + 1. Return *false*. + +
    +

    Static Semantics: ContainsUseStrict

    @@ -19626,7 +19673,11 @@

    Static Semantics: ContainsUseStrict

    Static Semantics: ExpectedArgumentCount

    - FormalParameters : [empty] + + FormalParameters : + [empty] + FunctionRestParameter + 1. Return 0. @@ -19637,6 +19688,11 @@

    Static Semantics: ExpectedArgumentCount

    The ExpectedArgumentCount of a |FormalParameterList| is the number of |FormalParameters| to the left of either the rest parameter or the first |FormalParameter| with an Initializer. A |FormalParameter| without an initializer is allowed after the first parameter with an initializer but such parameters are considered to be optional with *undefined* as their default value.

    + FormalParameterList : FormalParameter + + 1. If HasInitializer of |FormalParameter| is *true*, return 0. + 1. Return 1. + FormalParameterList : FormalParameterList `,` FormalParameter 1. Let _count_ be ExpectedArgumentCount of |FormalParameterList|. @@ -20000,6 +20056,11 @@

    Static Semantics: ContainsExpression

    1. Return *false*. + ArrowParameters : CoverParenthesizedExpressionAndArrowParameterList + + 1. Let _formals_ be CoveredFormalsList of |CoverParenthesizedExpressionAndArrowParameterList|. + 1. Return ContainsExpression of _formals_. +
    @@ -20018,6 +20079,11 @@

    Static Semantics: ExpectedArgumentCount

    1. Return 1. + ArrowParameters : CoverParenthesizedExpressionAndArrowParameterList + + 1. Let _formals_ be CoveredFormalsList of |CoverParenthesizedExpressionAndArrowParameterList|. + 1. Return ExpectedArgumentCount of _formals_. +
    @@ -20052,6 +20118,7 @@

    Static Semantics: CoveredFormalsList

    CoverParenthesizedExpressionAndArrowParameterList : `(` Expression `)` + `(` Expression `,` `)` `(` `)` `(` `...` BindingIdentifier `)` `(` `...` BindingPattern `)` @@ -20120,6 +20187,11 @@

    Runtime Semantics: IteratorBindingInitialization

    1. If _iteratorRecord_.[[Done]] is *true*, let _v_ be *undefined*. 1. Return the result of performing BindingInitialization for |BindingIdentifier| using _v_ and _environment_ as the arguments. + ArrowParameters : CoverParenthesizedExpressionAndArrowParameterList + + 1. Let _formals_ be CoveredFormalsList of |CoverParenthesizedExpressionAndArrowParameterList|. + 1. Return IteratorBindingInitialization of _formals_. +
    @@ -21984,6 +22056,9 @@

    Statement Rules

    `for` `(` LeftHandSideExpression `in` Expression `)` Statement `for` `(` `var` ForBinding `in` Expression `)` Statement `for` `(` ForDeclaration `in` Expression `)` Statement + `for` `await` `(` LeftHandSideExpression `of` AssignmentExpression `)` Statement + `for` `await` `(` `var` ForBinding `of` AssignmentExpression `)` Statement + `for` `await` `(` ForDeclaration `of` AssignmentExpression `)` Statement WithStatement : `with` `(` Expression `)` Statement