pub_just/
dependency.rs

1use super::*;
2
3#[derive(PartialEq, Debug, Serialize)]
4pub struct Dependency<'src> {
5  pub arguments: Vec<Expression<'src>>,
6  #[serde(serialize_with = "keyed::serialize")]
7  pub recipe: Rc<Recipe<'src>>,
8}
9
10impl<'src> Display for Dependency<'src> {
11  fn fmt(&self, f: &mut Formatter) -> fmt::Result {
12    if self.arguments.is_empty() {
13      write!(f, "{}", self.recipe.name())
14    } else {
15      write!(f, "({}", self.recipe.name())?;
16
17      for argument in &self.arguments {
18        write!(f, " {argument}")?;
19      }
20
21      write!(f, ")")
22    }
23  }
24}