File tree Expand file tree Collapse file tree 3 files changed +410
-9
lines changed Expand file tree Collapse file tree 3 files changed +410
-9
lines changed Original file line number Diff line number Diff line change @@ -528,8 +528,7 @@ class RegExpParserState {
528528 if (
529529 node . type !== "CharacterClass" ||
530530 ( node . parent . type !== "Alternative" &&
531- node . parent . type !== "CharacterClass" ) ||
532- ( this . _expressionBuffer && node . elements . length > 0 )
531+ node . parent . type !== "CharacterClass" )
533532 ) {
534533 throw new Error ( "UnknownError" )
535534 }
@@ -540,10 +539,15 @@ class RegExpParserState {
540539 this . _node = parent
541540
542541 const expression = this . _expressionBuffer
543- this . _expressionBuffer = null
544- if ( ! expression ) {
542+ if (
543+ expression ?. parent !== ( node as unknown as ExpressionCharacterClass )
544+ ) {
545545 return
546546 }
547+ if ( node . elements . length > 0 ) {
548+ throw new Error ( "UnknownError" )
549+ }
550+ this . _expressionBuffer = null
547551
548552 // Replace with ExpressionCharacterClass.
549553 const newNode : ExpressionCharacterClass = {
You can’t perform that action at this time.
0 commit comments