|
@@ -251,7 +251,7 @@ static bool has_overlap(Vector<CompareTypeAndValuePair> const& lhs, Vector<Compa
|
|
return true;
|
|
return true;
|
|
break;
|
|
break;
|
|
case CharacterCompareType::Char:
|
|
case CharacterCompareType::Char:
|
|
- if (!current_lhs_inversion_state() && range_contains(pair.value))
|
|
|
|
|
|
+ if (current_lhs_inversion_state() ^ range_contains(pair.value))
|
|
return true;
|
|
return true;
|
|
break;
|
|
break;
|
|
case CharacterCompareType::String:
|
|
case CharacterCompareType::String:
|
|
@@ -259,12 +259,12 @@ static bool has_overlap(Vector<CompareTypeAndValuePair> const& lhs, Vector<Compa
|
|
// Just bail out to avoid false positives.
|
|
// Just bail out to avoid false positives.
|
|
return true;
|
|
return true;
|
|
case CharacterCompareType::CharClass:
|
|
case CharacterCompareType::CharClass:
|
|
- if (!current_lhs_inversion_state() && char_class_contains(static_cast<CharClass>(pair.value)))
|
|
|
|
|
|
+ if (current_lhs_inversion_state() ^ char_class_contains(static_cast<CharClass>(pair.value)))
|
|
return true;
|
|
return true;
|
|
break;
|
|
break;
|
|
case CharacterCompareType::CharRange: {
|
|
case CharacterCompareType::CharRange: {
|
|
auto range = CharRange(pair.value);
|
|
auto range = CharRange(pair.value);
|
|
- if (!current_lhs_inversion_state() && range_contains(range))
|
|
|
|
|
|
+ if (current_lhs_inversion_state() ^ range_contains(range))
|
|
return true;
|
|
return true;
|
|
break;
|
|
break;
|
|
}
|
|
}
|