gobject_ast/model/expression/assignment.rs
1use serde::Serialize;
2
3use crate::model::{AssignmentOp, Expression, SourceLocation};
4
5#[derive(Debug, Clone, Serialize)]
6pub struct Assignment {
7 pub lhs: Box<Expression>, // Can be Identifier or FieldAccess
8 pub operator: AssignmentOp,
9 pub rhs: Box<Expression>,
10 pub location: SourceLocation,
11}
12
13impl Assignment {
14 pub fn lhs_as_text<'a>(&self, source: &'a [u8]) -> &'a str {
15 self.lhs.location().as_str(source).unwrap_or("")
16 }
17}