factorio-ir 0.5.0

Intermediate representation for factorio-rs Rust-to-Lua Factorio mod transpilation
Documentation
use crate::ast::{expression::Expression, function::Function, r#type::Type};
use crate::meta::debug::StructDebug;

#[derive(Debug, Clone, PartialEq, Eq)]
pub struct StructField {
    pub name: String,
    pub ty: Type,
    pub source_type: Option<String>,
}

#[derive(Debug, Clone, PartialEq)]
pub struct Struct {
    pub name: String,
    pub fields: Vec<StructField>,
    pub constants: Vec<(String, Expression)>,
    pub methods: Vec<Function>,
    pub doc: Option<String>,
    pub debug: Option<StructDebug>,
}