LibRegex: Correctly track current inversion state in the optimizer

This is currently not important as we do not nest TemporaryInverse.
This commit is contained in:
Ali Mohammad Pur 2022-07-10 11:40:17 +04:30 committed by Andreas Kling
parent 9c5febe800
commit fe46b2c141
Notes: sideshowbarker 2024-07-17 09:32:32 +09:00

View file

@ -163,7 +163,8 @@ static bool has_overlap(Vector<CompareTypeAndValuePair> const& lhs, Vector<Compa
inverse = !inverse;
break;
case CharacterCompareType::TemporaryInverse:
temporary_inverse = !temporary_inverse;
temporary_inverse = true;
reset_temporary_inverse = true;
break;
case CharacterCompareType::AnyChar:
// Special case: if not inverted, AnyChar is always in the range.
@ -237,7 +238,8 @@ static bool has_overlap(Vector<CompareTypeAndValuePair> const& lhs, Vector<Compa
inverse = !inverse;
break;
case CharacterCompareType::TemporaryInverse:
temporary_inverse = !temporary_inverse;
temporary_inverse = true;
reset_temporary_inverse = true;
break;
case CharacterCompareType::AnyChar:
// Special case: if not inverted, AnyChar is always in the range.