diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-06-14 04:01:45 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-06-14 04:02:58 +0900 |
| commit | 78157ab3ffeca37023381a422fccda2d4a0c64af (patch) | |
| tree | 11664aae5e585742647d4c0374495acd77b1aedb /crates/shirabe-class-map-generator | |
| parent | 7f00f9e7f9be826863716a5a52c141eb913d03bb (diff) | |
| download | php-shirabe-78157ab3ffeca37023381a422fccda2d4a0c64af.tar.gz php-shirabe-78157ab3ffeca37023381a422fccda2d4a0c64af.tar.zst php-shirabe-78157ab3ffeca37023381a422fccda2d4a0c64af.zip | |
refactor(pcre): drop strict-groups Preg variants
Rust's type system already distinguishes participating from
non-participating capture groups via Option, so the *StrictGroups
methods add no safety here. Remove them and switch callers to the
plain variants.
Diffstat (limited to 'crates/shirabe-class-map-generator')
3 files changed, 3 insertions, 4 deletions
diff --git a/crates/shirabe-class-map-generator/src/class_map_generator.rs b/crates/shirabe-class-map-generator/src/class_map_generator.rs index 391bee9..ba59b33 100644 --- a/crates/shirabe-class-map-generator/src/class_map_generator.rs +++ b/crates/shirabe-class-map-generator/src/class_map_generator.rs @@ -381,7 +381,7 @@ impl ClassMapGenerator { // extract a prefix being a protocol://, protocol:, protocol://drive: or simply drive: let mut r#match: indexmap::IndexMap<_, _> = indexmap![]; - if Preg::is_match_strict_groups3( + if Preg::is_match3( r"{^( [0-9a-z]{2,}+: (?: // (?: [a-z]: )? )? | [a-z]: )}ix", &path, Some(&mut r#match), diff --git a/crates/shirabe-class-map-generator/src/php_file_cleaner.rs b/crates/shirabe-class-map-generator/src/php_file_cleaner.rs index 5505b7d..2b53307 100644 --- a/crates/shirabe-class-map-generator/src/php_file_cleaner.rs +++ b/crates/shirabe-class-map-generator/src/php_file_cleaner.rs @@ -268,7 +268,6 @@ impl PhpFileCleaner { } fn r#match(&self, regex: &str, r#match: Option<&mut IndexMap<CaptureKey, String>>) -> bool { - Preg::is_match_strict_groups5(regex, &self.contents, r#match, 0, self.index) - .unwrap_or(false) + Preg::is_match5(regex, &self.contents, r#match, 0, self.index).unwrap_or(false) } } diff --git a/crates/shirabe-class-map-generator/src/php_file_parser.rs b/crates/shirabe-class-map-generator/src/php_file_parser.rs index 84fb418..a086d78 100644 --- a/crates/shirabe-class-map-generator/src/php_file_parser.rs +++ b/crates/shirabe-class-map-generator/src/php_file_parser.rs @@ -68,7 +68,7 @@ impl PhpFileParser { // return early if there is no chance of matching anything in this file let pattern = format!("{{\\b(?:class|interface|trait{})\\s}}i", extra_types); - let max_matches = Preg::match_all_strict_groups(&pattern, &contents)?; + let max_matches = Preg::match_all(&pattern, &contents)?; if max_matches == 0 { return Ok(vec![]); } |
