libninja_mir 0.1.0

mid level ir for libninja
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use crate::{Doc, Function, Ident, Visibility};

pub struct Enum<T> {
    pub name: Ident,
    pub doc: Option<Doc>,
    pub variants: Vec<Variant<T>>,
    pub vis: Visibility,
    pub methods: Vec<Function<T>>,
    pub attributes: Vec<T>,
}

pub struct Variant<T> {
    pub ident: Ident,
    pub doc: Option<Doc>,
    // in rust, value is like enum { Error = 0 }
    pub value: Option<T>,
    pub attributes: Vec<T>,
}