pub enum Value {
Float(f32),
Long(i64),
Bool(bool),
Nil,
PhoenixString(String),
PhoenixFunction(usize),
NativeFunction(Option<usize>, NativeFn),
NativeMethod(Option<usize>, NativeMethod),
PhoenixClass(usize),
PhoenixModule(usize),
PhoenixPointer(usize),
PhoenixBoundMethod(ObjBoundMethod),
}
Variants§
Float(f32)
Long(i64)
Bool(bool)
Nil
PhoenixString(String)
PhoenixFunction(usize)
NativeFunction(Option<usize>, NativeFn)
NativeMethod(Option<usize>, NativeMethod)
PhoenixClass(usize)
PhoenixModule(usize)
PhoenixPointer(usize)
PhoenixBoundMethod(ObjBoundMethod)
Implementations§
Source§impl Value
impl Value
Sourcepub fn to_string(
&self,
vm: &VM,
state: &VMState,
modules: &Vec<ModuleChunk>,
) -> String
pub fn to_string( &self, vm: &VM, state: &VMState, modules: &Vec<ModuleChunk>, ) -> String
Used for print statements, use {:?} debug formatting for trace and stack examining
pub fn as_float(&self) -> Option<f32>
pub fn as_long(&self) -> Option<i64>
pub fn as_bool(&self) -> Option<bool>
pub fn as_string<'a>(&'a self, state: &'a VMState) -> Option<&String>
pub const fn get_type(&self) -> &str
Sourcepub fn as_pointer(&self) -> usize
pub fn as_pointer(&self) -> usize
Hard cast to a ObjPointer. Panics if this value is not a PhoenixPointer
Sourcepub fn to_float(&self) -> Result<f32, String>
pub fn to_float(&self) -> Result<f32, String>
Convert arg to a float and do some error checks (without casting), never panics, unlike as_float()
Sourcepub fn to_long(&self) -> Result<i64, String>
pub fn to_long(&self) -> Result<i64, String>
Convert arg to a long and do some error checks (without casting), never panics, unlike as_long()
Sourcepub fn to_bool(&self) -> Result<bool, String>
pub fn to_bool(&self) -> Result<bool, String>
Convert arg to a bool and do some error checks (without casting), never panics, unlike as_bool()
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Value
impl<'de> Deserialize<'de> for Value
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for Value
Auto Trait Implementations§
impl Freeze for Value
impl RefUnwindSafe for Value
impl Send for Value
impl Sync for Value
impl Unpin for Value
impl UnwindSafe for Value
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more