pub(crate) struct SymbolCellInner {
pub(super) name: SymbolName,
pub(super) func: Option<AtomicPtr<u8>>,
pub(super) special: AtomicBool,
}
Fields§
§name: SymbolName
§func: Option<AtomicPtr<u8>>
§special: AtomicBool
Implementations§
Source§impl SymbolCellInner
impl SymbolCellInner
const NULL: *mut u8 = {0x0 as *mut u8}
pub(crate) fn name(&self) -> &str
pub(crate) fn interned(&self) -> bool
pub(crate) fn has_func(&self) -> bool
fn get(&self) -> Option<Gc<FunctionType<'_>>>
pub(crate) fn func<'a>( &self, _cx: &'a Context<'_>, ) -> Option<Gc<FunctionType<'a>>>
Sourcepub(crate) fn follow_indirect<'ob>(
&self,
cx: &'ob Context<'_>,
) -> Option<Gc<FunctionType<'ob>>>
pub(crate) fn follow_indirect<'ob>( &self, cx: &'ob Context<'_>, ) -> Option<Gc<FunctionType<'ob>>>
Follow the chain of symbols to find the function at the end, if any.
Sourcepub(in core) unsafe fn set_func(
&self,
func: Gc<FunctionType<'_>>,
) -> Result<()>
pub(in core) unsafe fn set_func( &self, func: Gc<FunctionType<'_>>, ) -> Result<()>
Set the function for this symbol. This function is unsafe to call and requires that the caller:
- Has marked the entire function as read only
- Has cloned the function into the
SymbolMap
block - Ensured the symbol is not constant
pub(crate) fn unbind_func(&self)
Trait Implementations§
Source§impl Debug for SymbolCellInner
impl Debug for SymbolCellInner
Auto Trait Implementations§
impl !Freeze for SymbolCellInner
impl !RefUnwindSafe for SymbolCellInner
impl Send for SymbolCellInner
impl Sync for SymbolCellInner
impl Unpin for SymbolCellInner
impl UnwindSafe for SymbolCellInner
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