aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src/dependency_resolver
diff options
context:
space:
mode:
Diffstat (limited to 'crates/shirabe/src/dependency_resolver')
-rw-r--r--crates/shirabe/src/dependency_resolver/generic_rule.rs57
-rw-r--r--crates/shirabe/src/dependency_resolver/multi_conflict_rule.rs47
-rw-r--r--crates/shirabe/src/dependency_resolver/rule2_literals.rs47
3 files changed, 142 insertions, 9 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!()
+ }
+}
diff --git a/crates/shirabe/src/dependency_resolver/multi_conflict_rule.rs b/crates/shirabe/src/dependency_resolver/multi_conflict_rule.rs
index b15434e..981a522 100644
--- a/crates/shirabe/src/dependency_resolver/multi_conflict_rule.rs
+++ b/crates/shirabe/src/dependency_resolver/multi_conflict_rule.rs
@@ -7,7 +7,6 @@ use shirabe_php_shim::{PHP_VERSION_ID, RuntimeException, hash_raw};
#[derive(Debug)]
pub struct MultiConflictRule {
- inner: Rule,
pub(crate) literals: Vec<i64>,
}
@@ -118,3 +117,49 @@ impl RuleLiterals for MultiConflictRule {
true
}
}
+
+impl Rule for MultiConflictRule {
+ 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!()
+ }
+}
diff --git a/crates/shirabe/src/dependency_resolver/rule2_literals.rs b/crates/shirabe/src/dependency_resolver/rule2_literals.rs
index e86c93d..50ae77b 100644
--- a/crates/shirabe/src/dependency_resolver/rule2_literals.rs
+++ b/crates/shirabe/src/dependency_resolver/rule2_literals.rs
@@ -5,7 +5,6 @@ use crate::dependency_resolver::rule::Rule;
#[derive(Debug)]
pub struct Rule2Literals {
- inner: Rule,
pub(crate) literal1: i64,
pub(crate) literal2: i64,
literals: Vec<i64>,
@@ -71,3 +70,49 @@ impl RuleLiterals for Rule2Literals {
&self.literals
}
}
+
+impl Rule for Rule2Literals {
+ 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!()
+ }
+}