pub struct Frame {
pub code: PyRef<PyCode>,
pub fastlocals: PyMutex<Box<[Option<PyObjectRef>]>>,
pub locals: ArgMapping,
pub globals: PyDictRef,
pub builtins: PyDictRef,
pub lasti: Cell<u32>,
pub trace: PyMutex<PyObjectRef>,
pub trace_lines: PyMutex<bool>,
pub temporary_refs: PyMutex<Vec<PyObjectRef>>,
/* private fields */
}
Fields§
§code: PyRef<PyCode>
§fastlocals: PyMutex<Box<[Option<PyObjectRef>]>>
§locals: ArgMapping
§globals: PyDictRef
§builtins: PyDictRef
§lasti: Cell<u32>
index of last instruction ran
trace: PyMutex<PyObjectRef>
tracer function for this frame (usually is None)
trace_lines: PyMutex<bool>
§temporary_refs: PyMutex<Vec<PyObjectRef>>
Implementations§
Source§impl Frame
impl Frame
pub fn current_location(&self) -> SourceLocation
pub fn lasti(&self) -> u32
pub fn locals(&self, vm: &VirtualMachine) -> PyResult<ArgMapping>
Trait Implementations§
Source§impl MaybeTraverse for Frame
impl MaybeTraverse for Frame
fn try_traverse(&self, tracer_fn: &mut TraverseFn<'_>)
Source§impl PyClassDef for Frame
impl PyClassDef for Frame
Source§impl PyClassImpl for Frame
impl PyClassImpl for Frame
const TP_FLAGS: PyTypeFlags
const METHOD_DEFS: &'static [PyMethodDef]
fn impl_extend_class(ctx: &Context, class: &'static Py<PyType>)
fn extend_slots(slots: &mut PyTypeSlots)
fn extend_class(ctx: &Context, class: &'static Py<PyType>)where
Self: Sized,
fn make_class(ctx: &Context) -> PyTypeRefwhere
Self: StaticType + Sized,
fn make_slots() -> PyTypeSlots
Source§impl PyPayload for Frame
impl PyPayload for Frame
fn class(ctx: &Context) -> &'static Py<PyType>
fn into_pyobject(self, vm: &VirtualMachine) -> PyObjectRef
fn _into_ref(self, cls: PyTypeRef, ctx: &Context) -> PyRef<Self>
fn into_exact_ref(self, ctx: &Context) -> PyRefExact<Self>
fn into_ref(self, ctx: &Context) -> PyRef<Self>
fn into_ref_with_type( self, vm: &VirtualMachine, cls: PyTypeRef, ) -> PyResult<PyRef<Self>>
Source§impl Representable for Frame
impl Representable for Frame
fn repr(_zelf: &Py<Self>, vm: &VirtualMachine) -> PyResult<PyStrRef>
fn repr_str(_zelf: &Py<Self>, _vm: &VirtualMachine) -> PyResult<String>
fn slot_repr(zelf: &PyObject, vm: &VirtualMachine) -> PyResult<PyStrRef>
fn __repr__(zelf: PyObjectRef, vm: &VirtualMachine) -> PyResult<PyStrRef>
const __OWN_METHOD_DEFS: &'static [PyMethodDef] = _
fn __extend_py_class(ctx: &Context, class: &'static Py<PyType>)
fn __extend_slots(slots: &mut PyTypeSlots)
Source§impl StaticType for Frame
impl StaticType for Frame
fn static_cell() -> &'static StaticCell<PyTypeRef>
fn static_metaclass() -> &'static Py<PyType>
fn static_baseclass() -> &'static Py<PyType>
fn static_type() -> &'static Py<PyType>
fn init_manually(typ: PyTypeRef) -> &'static Py<PyType>
fn init_builtin_type() -> &'static Py<PyType>where
Self: PyClassImpl,
fn create_static_type() -> PyTypeRefwhere
Self: PyClassImpl,
Source§impl Unconstructible for Frame
impl Unconstructible for Frame
fn slot_new(cls: PyTypeRef, _args: FuncArgs, vm: &VirtualMachine) -> PyResult
const __OWN_METHOD_DEFS: &'static [PyMethodDef] = _
fn __extend_py_class(ctx: &Context, class: &'static Py<PyType>)
fn __extend_slots(slots: &mut PyTypeSlots)
Auto Trait Implementations§
impl !Freeze for Frame
impl !RefUnwindSafe for Frame
impl !Send for Frame
impl !Sync for Frame
impl Unpin for Frame
impl !UnwindSafe for Frame
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
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more