aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe-semver/src/constraint/constraint_interface.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/shirabe-semver/src/constraint/constraint_interface.rs')
-rw-r--r--crates/shirabe-semver/src/constraint/constraint_interface.rs15
1 files changed, 15 insertions, 0 deletions
diff --git a/crates/shirabe-semver/src/constraint/constraint_interface.rs b/crates/shirabe-semver/src/constraint/constraint_interface.rs
index 09536e6..f4bd905 100644
--- a/crates/shirabe-semver/src/constraint/constraint_interface.rs
+++ b/crates/shirabe-semver/src/constraint/constraint_interface.rs
@@ -22,6 +22,21 @@ pub trait ConstraintInterface: std::fmt::Debug {
false
}
+ /// Rust-specific helper: PHP `$c instanceof Constraint` check.
+ fn is_constraint(&self) -> bool {
+ false
+ }
+
+ /// Rust-specific helper: PHP `$c->getOperator()`. Only meaningful when `is_constraint()` is true.
+ fn get_operator(&self) -> &'static str {
+ ""
+ }
+
+ /// Rust-specific helper: PHP `$c->getVersion()`. Only meaningful when `is_constraint()` is true.
+ fn get_version(&self) -> &str {
+ ""
+ }
+
fn clone_box(&self) -> Box<dyn ConstraintInterface>;
fn as_any(&self) -> &dyn std::any::Any;