1use crate::{Identifier, Literal, Type, Mutability};
2use crate::prelude::*;
3
4#[cfg(any(test, feature = "mocks"))]
5pub mod mock;
6
7#[derive(Debug, Default, PartialEq, Clone, Serialize, Deserialize)]
8pub struct Object {
10    pub mutability: Mutability,
12    pub identifier: Identifier,
14    pub type_: Type,
16    pub literal: Literal,
18}
19
20impl CountSymbols for Vec<Object> {
21    fn count_symbols(&self) -> usize {
22        self.len()
23    }
24}
25
26impl CountSymbols for &Vec<Object> {
27    fn count_symbols(&self) -> usize {
28        self.len()
29    }
30}