factorio_ir/ast/
structure.rs1use 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}