Skip to main content

factorio_ir/ast/
structure.rs

1use crate::ast::{expression::Expression, function::Function, r#type::Type};
2use crate::meta::debug::StructDebug;
3
4#[derive(Debug, Clone, PartialEq, Eq)]
5pub struct StructField {
6    pub name: String,
7    pub ty: Type,
8    pub source_type: Option<String>,
9}
10
11#[derive(Debug, Clone, PartialEq)]
12pub struct Struct {
13    pub name: String,
14    pub fields: Vec<StructField>,
15    pub constants: Vec<(String, Expression)>,
16    pub methods: Vec<Function>,
17    pub doc: Option<String>,
18    pub debug: Option<StructDebug>,
19}