xenon_codegen/
variable_assignment.rs1use super::{expression::Expression, identifier::Identifier};
2
3#[derive(Clone, Default)]
4pub struct VariableAssignment {
5 pub name: Identifier,
6 pub operator: String,
7 pub value: Expression
8}
9impl VariableAssignment {
10 pub fn new(name: Identifier, operator: String, value: Expression) -> VariableAssignment {
11 return VariableAssignment {
12 name,
13 operator,
14 value
15 };
16 }
17
18 pub fn is_valid(&self) -> bool {
19 if !self.name.is_valid() {
20 return false;
21 }
22
23 if !["+=", "-=", "*=", "/=", "="].contains(&self.operator.as_str()) {
24 return false;
25 }
26
27 return self.value.is_valid();
28 }
29}