From 4d4115c87c847ab1e5b1d956a4515e60fedeada2 Mon Sep 17 00:00:00 2001 From: Alex van de Sandt Date: Thu, 18 Jul 2024 15:59:41 -0400 Subject: [PATCH] Rename `Instance` struct --- src/class.rs | 12 +++++------- src/value.rs | 6 +++--- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/src/class.rs b/src/class.rs index 82644a9..c8415bb 100644 --- a/src/class.rs +++ b/src/class.rs @@ -1,6 +1,4 @@ -use std::cell::RefCell; -use std::collections::HashMap; -use std::rc::Rc; +use std::{cell::RefCell, collections::HashMap, rc::Rc}; use crate::{ callable::Callable, @@ -22,8 +20,8 @@ impl Class { &self.name } - fn instantiate(&self) -> Rc { - Rc::new(ClassInstance { + fn instantiate(&self) -> Rc { + Rc::new(Instance { class: self.clone(), fields: RefCell::new(HashMap::new()), }) @@ -42,12 +40,12 @@ impl Callable for Class { } #[derive(Clone, Debug)] -pub struct ClassInstance { +pub struct Instance { class: Class, fields: RefCell>, } -impl ClassInstance { +impl Instance { pub fn class(&self) -> Class { self.class.clone() } diff --git a/src/value.rs b/src/value.rs index 037943d..029e42f 100644 --- a/src/value.rs +++ b/src/value.rs @@ -1,6 +1,6 @@ use std::{fmt, rc::Rc}; -use crate::class::ClassInstance; +use crate::class::Instance; use crate::{ast::Literal, callable::Callable}; #[derive(Clone, Debug)] @@ -10,7 +10,7 @@ pub enum Value { Bool(bool), Nil, Callable(Rc), - ClassInstance(Rc), + ClassInstance(Rc), } impl Value { @@ -44,7 +44,7 @@ impl Value { } } - pub fn as_instance(&self) -> Option> { + pub fn as_instance(&self) -> Option> { match self { Value::ClassInstance(instance) => Some(Rc::clone(instance)), _ => None, -- 2.51.2