bladeink 1.2.4

This is a Rust port of inkle's ink, a scripting language for writing interactive narrative.
Documentation
use std::fmt;

use crate::object::{Object, RTObject};

pub struct VariableAssignment {
    obj: Object,
    pub is_global: bool,
    pub is_new_declaration: bool,
    pub variable_name: String,
}

impl VariableAssignment {
    pub fn new(variable_name: &str, is_new_declaration: bool, is_global: bool) -> Self {
        VariableAssignment {
            obj: Object::new(),
            is_global,
            is_new_declaration,
            variable_name: variable_name.to_string(),
        }
    }
}

impl RTObject for VariableAssignment {
    fn get_object(&self) -> &Object {
        &self.obj
    }
}

impl fmt::Display for VariableAssignment {
    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
        write!(f, "VarAssign to {}", self.variable_name)
    }
}