microcad_lang/syntax/
qualifier.rs

1// Copyright © 2024-2025 The µcad authors <info@ucad.xyz>
2// SPDX-License-Identifier: AGPL-3.0-or-later
3
4//! Qualifier of an assignment
5
6/// Qualifier of an assignment
7///
8/// This is used to determine if an entity is public or private.
9/// By default, entities are private.
10#[derive(Copy, Clone, Default)]
11pub enum Qualifier {
12    /// Local variable.
13    #[default]
14    Value,
15    /// Symbol.
16    Const,
17    /// Workbench property.
18    Prop,
19}
20
21impl std::fmt::Display for Qualifier {
22    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
23        match self {
24            Qualifier::Value => Ok(()),
25            Qualifier::Const => write!(f, "const "),
26            Qualifier::Prop => write!(f, "prop "),
27        }
28    }
29}