rasn_compiler/intermediate/
macros.rs

1use std::cell::RefCell;
2use std::rc::Rc;
3
4use crate::intermediate::ModuleHeader;
5use crate::lexer::macros::MacroDefinition;
6
7#[derive(Debug, Clone, PartialEq)]
8pub struct ToplevelMacroDefinition {
9    pub name: String,
10    pub module_header: Option<Rc<RefCell<ModuleHeader>>>,
11}
12
13impl From<MacroDefinition<'_>> for ToplevelMacroDefinition {
14    fn from(macro_def: MacroDefinition<'_>) -> Self {
15        ToplevelMacroDefinition {
16            name: macro_def.name.to_string(),
17            module_header: None,
18        }
19    }
20}