diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-05-17 13:56:15 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-05-17 13:59:31 +0900 |
| commit | a9bb49c7d685dd82feaf4050f756fdf590315200 (patch) | |
| tree | 0242a737e8280fe9e25c38bb7a6f844d2eff623c /crates/shirabe/src/dependency_resolver/generic_rule.rs | |
| parent | 15b1be89eb168a30e96459c6a5307afcb7323bbc (diff) | |
| download | php-shirabe-a9bb49c7d685dd82feaf4050f756fdf590315200.tar.gz php-shirabe-a9bb49c7d685dd82feaf4050f756fdf590315200.tar.zst php-shirabe-a9bb49c7d685dd82feaf4050f756fdf590315200.zip | |
fix(compile): implement abstract class traits across all types
Implement BaseCommand trait and other abstract class traits across
all command, downloader, io, package, and VCS driver types. Also
fix trait method signatures for composer_mut and io_mut to return
mutable references to Option rather than Option of mutable references.
Diffstat (limited to 'crates/shirabe/src/dependency_resolver/generic_rule.rs')
| -rw-r--r-- | crates/shirabe/src/dependency_resolver/generic_rule.rs | 57 |
1 files changed, 50 insertions, 7 deletions
diff --git a/crates/shirabe/src/dependency_resolver/generic_rule.rs b/crates/shirabe/src/dependency_resolver/generic_rule.rs index f30d612..23d1e3c 100644 --- a/crates/shirabe/src/dependency_resolver/generic_rule.rs +++ b/crates/shirabe/src/dependency_resolver/generic_rule.rs @@ -2,19 +2,16 @@ use crate::dependency_resolver::rule::Rule; use anyhow::Result; -use shirabe_php_shim::{PHP_VERSION_ID, RuntimeException, hash_raw, implode, unpack}; +use shirabe_php_shim::{PHP_VERSION_ID, PhpMixed, RuntimeException, hash_raw, implode, unpack}; + +use super::{request::Request, rule::ReasonData}; pub struct GenericRule { - inner: Rule, pub(crate) literals: Vec<i64>, } impl GenericRule { - pub fn new( - mut literals: Vec<i64>, - reason: shirabe_php_shim::PhpMixed, - reason_data: shirabe_php_shim::PhpMixed, - ) -> Self { + pub fn new(mut literals: Vec<i64>, reason: PhpMixed, reason_data: PhpMixed) -> Self { let inner = Rule::new(reason, reason_data); literals.sort(); Self { inner, literals } @@ -96,3 +93,49 @@ impl RuleLiterals for GenericRule { &self.literals } } + +impl Rule for GenericRule { + fn bitfield(&self) -> i64 { + todo!() + } + + fn bitfield_mut(&mut self) -> &mut i64 { + todo!() + } + + fn request(&self) -> Option<&Request> { + todo!() + } + + fn request_mut(&mut self) -> Option<&mut Request> { + todo!() + } + + fn reason_data(&self) -> Option<&ReasonData> { + todo!() + } + + fn reason_data_mut(&mut self) -> Option<&mut ReasonData> { + todo!() + } + + fn get_literals(&self) -> Vec<i64> { + todo!() + } + + fn get_hash(&self) -> PhpMixed { + todo!() + } + + fn to_string(&self) -> String { + todo!() + } + + fn equals(&self, rule: &dyn Rule) -> bool { + todo!() + } + + fn is_assertion(&self) -> bool { + todo!() + } +} |
