aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe-external-packages/src/symfony/filesystem/exception/io_exception.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/shirabe-external-packages/src/symfony/filesystem/exception/io_exception.rs')
-rw-r--r--crates/shirabe-external-packages/src/symfony/filesystem/exception/io_exception.rs22
1 files changed, 10 insertions, 12 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"
+);