pub trait NativeModelInstance {
fn index_get(
&self,
this: Reference<dyn NativeModelInstance>,
index: &Object
) -> Result<Object, RuntimeError>;
fn index_set(
&mut self,
this: Reference<dyn NativeModelInstance>,
index: &Object,
value: Object
) -> Result<(), RuntimeError>;
fn instance_get(
&self,
this: Reference<dyn NativeModelInstance>,
key: &str
) -> Result<Object, RuntimeError>;
fn instance_set(
&mut self,
this: Reference<dyn NativeModelInstance>,
key: &str,
value: Object
) -> Result<(), RuntimeError>;
fn call(
&mut self,
this: Reference<dyn NativeModelInstance>,
state: &mut State,
key: &str,
parameters: &[Object]
) -> Result<Object, RuntimeError>;
}