microcad-lang 0.5.0

µcad language
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// Copyright © 2025-2026 The µcad authors <info@microcad.xyz>
// SPDX-License-Identifier: AGPL-3.0-or-later

use microcad_lang_base::SrcReferrer;

use crate::{eval::*, lower::ir, model::*};

impl Eval<Option<Model>> for ir::Marker {
    fn eval(&self, _: &mut EvalContext) -> EvalResult<Option<Model>> {
        if self.is_input_placeholder() {
            Ok(Some(
                ModelBuilder::new(Element::InputPlaceholder, self.src_ref()).build(),
            ))
        } else {
            Ok(None)
        }
    }
}