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>)
fn impl_extend_method_def(method_defs: &mut Vec<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>
fn __extend_method_def(method_defs: &mut Vec<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 !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