Create initial reflection system

This commit is contained in:
Werner
2021-12-23 08:46:30 -03:00
parent aa549e37ef
commit 19eebb4085
10 changed files with 174 additions and 0 deletions

27
Source/Object.rs Normal file
View File

@ -0,0 +1,27 @@
use crate::{Class, Reflect};
use anyhow::Result;
use std::sync::Arc;
pub struct Object {
inner: Arc<dyn Reflect>,
}
impl Object {
fn New(obj: impl Reflect) -> Self {
Self {
inner: Arc::new(obj),
}
}
fn InstanceOf(&self, class: &Class) -> bool {
self.inner.as_ref().type_id() == class.GetId()
}
fn GetClass(&self) -> Result<()> {
Ok(())
}
pub fn GetProperty(&self) -> Result<()> {
Ok(())
}
}