neyuki 0.6.1

A small Lua-like scripting language implemented in Rust
//! The root node of one source file.

use crate::ast::node_id::NodeId;
use crate::ast::span::Span;
use crate::ast::stmt::Stmt;

#[derive(Clone, Debug, PartialEq, Eq)]
pub struct Module {
    pub id: NodeId,
    pub path: Option<String>,
    pub statements: Vec<Stmt>,
    pub span: Span,
}

impl Module {
    pub fn new(path: Option<String>, statements: Vec<Stmt>) -> Self {
        Self {
            id: NodeId::next(),
            path,
            statements,
            span: Span::default(),
        }
    }
}