File tree 3 files changed +410
-9
lines changed
3 files changed +410
-9
lines changed Original file line number Diff line number Diff line change @@ -528,8 +528,7 @@ class RegExpParserState {
528
528
if (
529
529
node . type !== "CharacterClass" ||
530
530
( node . parent . type !== "Alternative" &&
531
- node . parent . type !== "CharacterClass" ) ||
532
- ( this . _expressionBuffer && node . elements . length > 0 )
531
+ node . parent . type !== "CharacterClass" )
533
532
) {
534
533
throw new Error ( "UnknownError" )
535
534
}
@@ -540,10 +539,15 @@ class RegExpParserState {
540
539
this . _node = parent
541
540
542
541
const expression = this . _expressionBuffer
543
- this . _expressionBuffer = null
544
- if ( ! expression ) {
542
+ if (
543
+ expression ?. parent !== ( node as unknown as ExpressionCharacterClass )
544
+ ) {
545
545
return
546
546
}
547
+ if ( node . elements . length > 0 ) {
548
+ throw new Error ( "UnknownError" )
549
+ }
550
+ this . _expressionBuffer = null
547
551
548
552
// Replace with ExpressionCharacterClass.
549
553
const newNode : ExpressionCharacterClass = {
You can’t perform that action at this time.
0 commit comments