use super::types::{ConstraintDef, FillContent, SumBoundDef};
use crate::constraint::ConstraintId;
use crate::structure::{Literal, NodeId};
#[derive(Debug, Clone, PartialEq)]
pub enum Action {
FillHole { target: NodeId, fill: FillContent },
ReplaceNode {
target: NodeId,
replacement: FillContent,
},
AddConstraint {
target: NodeId,
constraint: ConstraintDef,
},
RemoveConstraint { constraint_id: ConstraintId },
IntroduceMultiTestCase {
count_var_name: String,
sum_bound: Option<SumBoundDef>,
},
AddSlotElement {
parent: NodeId,
slot_name: String,
element: FillContent,
},
RemoveSlotElement {
parent: NodeId,
slot_name: String,
child: NodeId,
},
AddSibling {
target: NodeId,
element: FillContent,
},
AddChoiceVariant {
choice: NodeId,
tag_value: Literal,
first_element: FillContent,
},
}