aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe-external-packages/src/composer/pcre/preg.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/shirabe-external-packages/src/composer/pcre/preg.rs')
-rw-r--r--crates/shirabe-external-packages/src/composer/pcre/preg.rs26
1 files changed, 6 insertions, 20 deletions
diff --git a/crates/shirabe-external-packages/src/composer/pcre/preg.rs b/crates/shirabe-external-packages/src/composer/pcre/preg.rs
index f72835d..d35a3aa 100644
--- a/crates/shirabe-external-packages/src/composer/pcre/preg.rs
+++ b/crates/shirabe-external-packages/src/composer/pcre/preg.rs
@@ -44,8 +44,7 @@ impl Preg {
Some(&mut internal),
flags | PREG_UNMATCHED_AS_NULL,
offset,
- )
- .unwrap_or_else(|| invalid_regex());
+ );
if let Some(out) = matches {
*out = drop_null_matches(internal);
@@ -83,8 +82,7 @@ impl Preg {
Some(&mut internal),
flags | PREG_UNMATCHED_AS_NULL,
offset,
- )
- .unwrap_or_else(|| invalid_regex());
+ );
if let Some(out) = matches {
*out = null_to_empty_match_all(internal);
@@ -109,8 +107,7 @@ impl Preg {
Some(&mut internal),
flags | PREG_UNMATCHED_AS_NULL | PREG_OFFSET_CAPTURE,
offset,
- )
- .unwrap_or_else(|| invalid_regex());
+ );
if let Some(out) = matches {
*out = null_to_empty_offset_match_all(internal);
@@ -148,7 +145,6 @@ impl Preg {
// guards (ARRAY_MSG / INVALID_TYPE_MSG) of the PHP original are
// unreachable and not reproduced.
shirabe_php_shim::preg_replace2(pattern, replacement, subject, limit, count)
- .unwrap_or_else(|| invalid_regex())
}
pub fn replace_callback<F: FnMut(&IndexMap<CaptureKey, String>) -> String>(
@@ -172,7 +168,6 @@ impl Preg {
};
shirabe_php_shim::preg_replace_callback2(pattern, adapter, subject, limit, count, flags)
- .unwrap_or_else(|| invalid_regex())
}
pub fn split(pattern: &str, subject: &str) -> Vec<String> {
@@ -186,7 +181,6 @@ impl Preg {
);
shirabe_php_shim::preg_split2(pattern, subject, limit, flags)
- .unwrap_or_else(|| invalid_regex())
}
pub fn grep(pattern: &str, array: &[&str]) -> Vec<String> {
@@ -194,7 +188,7 @@ impl Preg {
}
pub fn grep3(pattern: &str, array: &[&str], flags: i64) -> Vec<String> {
- shirabe_php_shim::preg_grep2(pattern, array, flags).unwrap_or_else(|| invalid_regex())
+ shirabe_php_shim::preg_grep2(pattern, array, flags)
}
pub fn is_match(pattern: &str, subject: &str) -> bool {
@@ -231,8 +225,7 @@ impl Preg {
Some(&mut internal),
PREG_UNMATCHED_AS_NULL,
0,
- )
- .unwrap_or_else(|| invalid_regex());
+ );
matches.clear();
for (key, value) in internal {
@@ -248,8 +241,7 @@ impl Preg {
// Classic preg_match semantics (no PREG_UNMATCHED_AS_NULL): trailing
// unmatched groups are truncated, interior unmatched groups become "".
let mut internal: IndexMap<CaptureKey, Option<String>> = IndexMap::new();
- let result = shirabe_php_shim::preg_match2(pattern, subject, Some(&mut internal), 0, 0)
- .unwrap_or_else(|| invalid_regex());
+ let result = shirabe_php_shim::preg_match2(pattern, subject, Some(&mut internal), 0, 0);
if result == 0 {
return None;
@@ -363,9 +355,3 @@ fn null_to_empty_offset_match_all(
})
.collect()
}
-
-/// Panics if a pattern is invalid instead of throwing a PcreException.
-/// TODO: takes regex::Error and shows its message
-fn invalid_regex() -> ! {
- panic!("invalid regex");
-}