aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe-class-map-generator/src/class_map.rs
diff options
context:
space:
mode:
authornsfisis <nsfisis@gmail.com>2026-08-18 01:57:02 +0900
committernsfisis <nsfisis@gmail.com>2026-08-18 01:57:02 +0900
commitfed0a6e7ac361af9b963c1f62411b1a85478230c (patch)
tree5cde64a24845c761890fbcbe05e0d702f1ec8df7 /crates/shirabe-class-map-generator/src/class_map.rs
parente093b2be1c333e67c96aebb0a5291bea9ae3d6db (diff)
downloadphp-shirabe-fed0a6e7ac361af9b963c1f62411b1a85478230c.tar.gz
php-shirabe-fed0a6e7ac361af9b963c1f62411b1a85478230c.tar.zst
php-shirabe-fed0a6e7ac361af9b963c1f62411b1a85478230c.zip
refactor(preg): add preg_is_match for existence-only call sites
The capture groups were discarded at 162 of the preg_match call sites, which only tested the Option. They now call preg_is_match, which lets the regex engine skip capture tracking. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Diffstat (limited to 'crates/shirabe-class-map-generator/src/class_map.rs')
-rw-r--r--crates/shirabe-class-map-generator/src/class_map.rs4
1 files changed, 2 insertions, 2 deletions
diff --git a/crates/shirabe-class-map-generator/src/class_map.rs b/crates/shirabe-class-map-generator/src/class_map.rs
index 1d980129..4870d481 100644
--- a/crates/shirabe-class-map-generator/src/class_map.rs
+++ b/crates/shirabe-class-map-generator/src/class_map.rs
@@ -1,7 +1,7 @@
//! ref: composer/vendor/composer/class-map-generator/src/ClassMap.php
use indexmap::IndexMap;
-use shirabe_php_shim::{OutOfBoundsException, preg_match, rtrim, strpos, strtr};
+use shirabe_php_shim::{OutOfBoundsException, preg_is_match, rtrim, strpos, strtr};
#[derive(Debug, Clone)]
pub struct PsrViolationEntry {
@@ -66,7 +66,7 @@ impl ClassMap {
for (class, paths) in &self.ambiguous_classes {
let paths: Vec<String> = paths
.iter()
- .filter(|path| preg_match(duplicates_filter, &strtr(path, "\\", "/")).is_none())
+ .filter(|path| !preg_is_match(duplicates_filter, &strtr(path, "\\", "/")))
.cloned()
.collect();
if !paths.is_empty() {