atlas_vm 0.5.2

The Atlas77 Virtual Machine
Documentation
use std::collections::HashMap;

use crate::memory::varmap::VarMap;
use crate::memory::{object_map::Memory, stack::Stack, vm_data::VMData};

pub struct VMState<'state, 'run> {
    pub stack: &'state mut Stack,
    pub object_map: &'state mut Memory,
    pub consts: &'state HashMap<&'run str, VMData>,
    pub var_map: &'state mut VarMap<'run>,
}

impl<'state, 'run> VMState<'state, 'run> {
    pub fn new(
        stack: &'state mut Stack,
        object_map: &'state mut Memory,
        consts: &'state HashMap<&'run str, VMData>,
        var_map: &'state mut VarMap<'run>,
    ) -> Self {
        Self {
            stack,
            object_map,
            consts,
            var_map,
        }
    }
}