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}