Struct rustpython_vm::frame::Frame
source · 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 = _
fn impl_extend_class(ctx: &Context, class: &'static Py<PyType>)
const METHOD_DEFS: &'static [PyMethodDef] = _
fn extend_slots(slots: &mut PyTypeSlots)
fn extend_class(ctx: &Context, class: &'static Py<PyType>)
fn make_class(ctx: &Context) -> PyTypeRefwhere
Self: StaticType,
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,
impl Unconstructible for Frame
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