File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -191,6 +191,7 @@ pycore
191191pyinner
192192pydecimal
193193pyerrors
194+ pyframe
194195Pyfunc
195196pylifecycle
196197pymain
Original file line number Diff line number Diff line change @@ -28,6 +28,7 @@ pub mod object;
2828pub mod osmodule;
2929pub mod pycapsule;
3030pub mod pyerrors;
31+ pub mod pyframe;
3132pub mod pylifecycle;
3233pub mod pymem;
3334pub mod pystate;
Original file line number Diff line number Diff line change 1+ use crate :: PyObject ;
2+ use crate :: pystate:: with_vm;
3+ use rustpython_vm:: frame:: Frame ;
4+
5+ #[ unsafe( no_mangle) ]
6+ pub unsafe extern "C" fn PyFrame_GetCode ( frame : * mut PyObject ) -> * mut PyObject {
7+ with_vm ( |vm| {
8+ let frame = unsafe { & * frame } . try_downcast_ref :: < Frame > ( vm) ?;
9+ Ok ( frame. f_code ( ) )
10+ } )
11+ }
12+
13+ #[ unsafe( no_mangle) ]
14+ pub unsafe extern "C" fn PyFrame_GetLineNumber ( frame : * mut PyObject ) -> core:: ffi:: c_int {
15+ with_vm ( |vm| {
16+ let frame = unsafe { & * frame } . try_downcast_ref :: < Frame > ( vm) ?;
17+ Ok ( frame. f_lineno ( ) as core:: ffi:: c_int )
18+ } )
19+ }
You can’t perform that action at this time.
0 commit comments