mirror of
https://github.com/RustPython/RustPython.git
synced 2026-06-09 22:49:57 +09:00
Add builtins.vars
This commit is contained in:
@@ -777,6 +777,14 @@ fn builtin_import(vm: &VirtualMachine, args: PyFuncArgs) -> PyResult {
|
||||
vm.invoke(vm.import_func.borrow().clone(), args)
|
||||
}
|
||||
|
||||
fn builtin_vars(obj: OptionalArg, vm: &VirtualMachine) -> PyResult {
|
||||
if let OptionalArg::Present(obj) = obj {
|
||||
vm.get_attribute(obj, "__dict__")
|
||||
} else {
|
||||
Ok(vm.get_locals().into_object())
|
||||
}
|
||||
}
|
||||
|
||||
// builtin_vars
|
||||
|
||||
pub fn make_module(vm: &VirtualMachine, module: PyObjectRef) {
|
||||
@@ -862,6 +870,7 @@ pub fn make_module(vm: &VirtualMachine, module: PyObjectRef) {
|
||||
"super" => ctx.super_type(),
|
||||
"tuple" => ctx.tuple_type(),
|
||||
"type" => ctx.type_type(),
|
||||
"vars" => ctx.new_rustfunc(builtin_vars),
|
||||
"zip" => ctx.zip_type(),
|
||||
"exit" => ctx.new_rustfunc(builtin_exit),
|
||||
"quit" => ctx.new_rustfunc(builtin_exit),
|
||||
|
||||
Reference in New Issue
Block a user