aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe-external-packages/src/symfony/filesystem
diff options
context:
space:
mode:
Diffstat (limited to 'crates/shirabe-external-packages/src/symfony/filesystem')
-rw-r--r--crates/shirabe-external-packages/src/symfony/filesystem/exception/io_exception.rs22
-rw-r--r--crates/shirabe-external-packages/src/symfony/filesystem/filesystem.rs2
2 files changed, 11 insertions, 13 deletions
diff --git a/crates/shirabe-external-packages/src/symfony/filesystem/exception/io_exception.rs b/crates/shirabe-external-packages/src/symfony/filesystem/exception/io_exception.rs
index e666e9ea..ffe80ea1 100644
--- a/crates/shirabe-external-packages/src/symfony/filesystem/exception/io_exception.rs
+++ b/crates/shirabe-external-packages/src/symfony/filesystem/exception/io_exception.rs
@@ -1,9 +1,10 @@
//! ref: composer/vendor/symfony/filesystem/Exception/IOException.php
+use shirabe_php_shim::RuntimeException;
+
#[derive(Debug)]
pub struct IOException {
- pub message: String,
- pub code: i64,
+ inner: RuntimeException,
pub path: Option<String>,
}
@@ -11,21 +12,18 @@ impl IOException {
pub fn new(
message: String,
code: i64,
- _previous: Option<Box<dyn std::error::Error + Send + Sync>>,
+ previous: Option<std::sync::Arc<shirabe_php_shim::AnyThrowable>>,
path: Option<String>,
) -> Self {
Self {
- message,
- code,
+ inner: RuntimeException::with_code_and_previous(message, code, previous),
path,
}
}
}
-impl std::fmt::Display for IOException {
- fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
- write!(f, "{}", self.message)
- }
-}
-
-impl std::error::Error for IOException {}
+shirabe_php_shim::impl_php_exception!(
+ IOException,
+ inner,
+ r"Symfony\Component\Filesystem\Exception\IOException"
+);
diff --git a/crates/shirabe-external-packages/src/symfony/filesystem/filesystem.rs b/crates/shirabe-external-packages/src/symfony/filesystem/filesystem.rs
index b1245a61..8834f724 100644
--- a/crates/shirabe-external-packages/src/symfony/filesystem/filesystem.rs
+++ b/crates/shirabe-external-packages/src/symfony/filesystem/filesystem.rs
@@ -420,7 +420,7 @@ impl Filesystem {
shirabe_php_shim::SKIP_DOTS
};
let dir = shirabe_php_shim::recursive_directory_iterator(&origin_dir, flags)
- .map_err(|e| anyhow::anyhow!("{}", e.message))?;
+ .map_err(|e| anyhow::anyhow!("{}", e.get_message()))?;
let iterator = shirabe_php_shim::recursive_iterator_iterator(
dir,
shirabe_php_shim::RecursiveIteratorIterator::SELF_FIRST,