@@ -42,7 +42,7 @@ pp.isLet = function(context) {
4242 // Statement) is allowed here. If context is not empty then only a Statement
4343 // is allowed. However, `let [` is an explicit negative lookahead for
4444 // ExpressionStatement, so special-case it first.
45- if ( nextCh === 91 || nextCh === 92 ) return true // '[', '\ '
45+ if ( nextCh === 91 ) return true // '['
4646 if ( context ) return false
4747
4848 if ( nextCh === 123 ) return true // '{'
@@ -70,7 +70,7 @@ pp.isAsyncFunction = function() {
7070 return ! lineBreak . test ( this . input . slice ( this . pos , next ) ) &&
7171 this . input . slice ( next , next + 8 ) === "function" &&
7272 ( next + 8 === this . input . length ||
73- ! ( isIdentifierChar ( after = this . input . charCodeAt ( next + 8 ) ) || after === 92 || after > 0xd7ff && after < 0xdc00 ) )
73+ ! ( isIdentifierChar ( after = this . fullCharCodeAt ( next + 8 ) , true ) || after === 92 /* '\' */ ) )
7474}
7575
7676pp . isUsingKeyword = function ( isAwaitUsing , isFor ) {
@@ -87,7 +87,7 @@ pp.isUsingKeyword = function(isAwaitUsing, isFor) {
8787 let usingEndPos = next + 5 /* using */ , after
8888 if ( this . input . slice ( next , usingEndPos ) !== "using" ||
8989 usingEndPos === this . input . length ||
90- isIdentifierChar ( after = this . fullCharCodeAt ( usingEndPos ) ) ||
90+ isIdentifierChar ( after = this . fullCharCodeAt ( usingEndPos ) , true ) ||
9191 after === 92 /* '\' */
9292 ) return false
9393
@@ -101,7 +101,7 @@ pp.isUsingKeyword = function(isAwaitUsing, isFor) {
101101 if ( ! isIdentifierStart ( ch , true ) && ch !== 92 /* '\' */ ) return false
102102 let idStart = next
103103 do { next += ch <= 0xffff ? 1 : 2 }
104- while ( isIdentifierChar ( ch = this . fullCharCodeAt ( next ) ) )
104+ while ( isIdentifierChar ( ch = this . fullCharCodeAt ( next ) , true ) )
105105 if ( ch === 92 ) return true
106106 let id = this . input . slice ( idStart , next )
107107 if ( keywordRelationalOperator . test ( id ) || isFor && id === "of" ) return false
0 commit comments