From d42c4eb21e32f324cdb0eeafff2dc1b2aed54a85 Mon Sep 17 00:00:00 2001 From: Jeong YunWon Date: Thu, 30 Sep 2021 03:01:45 +0900 Subject: [PATCH] move builtins module to vm::stdlib::builtlins for consistency --- vm/src/builtins/mod.rs | 3 --- vm/src/format.rs | 3 ++- vm/src/frame.rs | 5 ++--- .../make_module.rs => stdlib/builtins.rs} | 8 ++++---- vm/src/stdlib/mod.rs | 1 + vm/src/stdlib/sys.rs | 18 ++++++++++-------- vm/src/vm.rs | 7 +++---- 7 files changed, 22 insertions(+), 23 deletions(-) rename vm/src/{builtins/make_module.rs => stdlib/builtins.rs} (99%) diff --git a/vm/src/builtins/mod.rs b/vm/src/builtins/mod.rs index 7931a3122..9dc9f94ba 100644 --- a/vm/src/builtins/mod.rs +++ b/vm/src/builtins/mod.rs @@ -84,7 +84,4 @@ pub use zip::PyZip; pub use float::try_to_bigint as try_f64_to_bigint; pub use int::try_to_float as try_bigint_to_f64; -mod make_module; -pub use make_module::{ascii, make_module, print}; - pub use crate::exceptions::types::*; diff --git a/vm/src/format.rs b/vm/src/format.rs index ddbda3ee9..30eb28639 100644 --- a/vm/src/format.rs +++ b/vm/src/format.rs @@ -1,8 +1,9 @@ use crate::{ - builtins::{self, PyBaseExceptionRef, PyStrRef}, + builtins::{PyBaseExceptionRef, PyStrRef}, common::float_ops, exceptions::IntoPyException, function::FuncArgs, + stdlib::builtins, ItemProtocol, PyObjectRef, PyResult, TypeProtocol, VirtualMachine, }; use itertools::{Itertools, PeekingNext}; diff --git a/vm/src/frame.rs b/vm/src/frame.rs index 9c7c28dab..2d77e3eae 100644 --- a/vm/src/frame.rs +++ b/vm/src/frame.rs @@ -1,8 +1,6 @@ use crate::common::{boxvec::BoxVec, lock::PyMutex}; use crate::{ - builtins::PyBaseExceptionRef, builtins::{ - self, asyncgenerator::PyAsyncGenWrappedValue, coroutine::PyCoroutine, function::{PyCell, PyCellRef, PyFunction}, @@ -10,7 +8,7 @@ use crate::{ list, pystr, set, traceback::PyTraceback, tuple::{PyTuple, PyTupleTyped}, - PyCode, PyDict, PyDictRef, PySlice, PyStr, PyStrRef, PyTypeRef, + PyBaseExceptionRef, PyCode, PyDict, PyDictRef, PySlice, PyStr, PyStrRef, PyTypeRef, }, bytecode, coroutine::Coro, @@ -20,6 +18,7 @@ use crate::{ protocol::PyIter, scope::Scope, slots::PyComparisonOp, + stdlib::builtins, IdProtocol, ItemProtocol, PyMethod, PyObjectRef, PyRef, PyResult, PyValue, TryFromObject, TypeProtocol, VirtualMachine, }; diff --git a/vm/src/builtins/make_module.rs b/vm/src/stdlib/builtins.rs similarity index 99% rename from vm/src/builtins/make_module.rs rename to vm/src/stdlib/builtins.rs index 964da58e6..8edfea618 100644 --- a/vm/src/builtins/make_module.rs +++ b/vm/src/stdlib/builtins.rs @@ -6,8 +6,8 @@ use crate::{PyObjectRef, VirtualMachine}; /// Built-in functions, exceptions, and other objects. /// /// Noteworthy: None is the `nil' object; Ellipsis represents `...' in slices. -#[pymodule(name = "builtins")] -mod decl { +#[pymodule] +mod builtins { use crate::builtins::{ enumerate::PyReverseSequenceIterator, function::{PyCellRef, PyFunctionRef}, @@ -891,12 +891,12 @@ mod decl { } } -pub use decl::{ascii, print}; +pub use builtins::{ascii, print}; pub fn make_module(vm: &VirtualMachine, module: PyObjectRef) { let ctx = &vm.ctx; - decl::extend_module(vm, &module); + builtins::extend_module(vm, &module); let debug_mode: bool = vm.state.settings.optimize == 0; extend_module!(vm, module, { diff --git a/vm/src/stdlib/mod.rs b/vm/src/stdlib/mod.rs index 8861c444a..f2d73cc6b 100644 --- a/vm/src/stdlib/mod.rs +++ b/vm/src/stdlib/mod.rs @@ -4,6 +4,7 @@ pub(crate) mod ast; mod atexit; mod binascii; mod bisect; +pub mod builtins; mod cmath; mod codecs; mod collections; diff --git a/vm/src/stdlib/sys.rs b/vm/src/stdlib/sys.rs index 11cd2d17d..fda309a85 100644 --- a/vm/src/stdlib/sys.rs +++ b/vm/src/stdlib/sys.rs @@ -1,18 +1,20 @@ -use num_traits::ToPrimitive; -use std::{env, mem, path}; - -use crate::builtins::{PyStr, PyStrRef, PyTypeRef}; use crate::common::{ ascii, hash::{PyHash, PyUHash}, }; -use crate::frame::FrameRef; -use crate::function::{FuncArgs, OptionalArg, PosArgs}; -use crate::vm::{PySettings, VirtualMachine}; -use crate::{builtins, exceptions, py_io, version}; use crate::{ + builtins::{PyStr, PyStrRef, PyTypeRef}, + exceptions, + frame::FrameRef, + function::{FuncArgs, OptionalArg, PosArgs}, + py_io, + stdlib::builtins, + version, + vm::{PySettings, VirtualMachine}, ItemProtocol, PyClassImpl, PyContext, PyObjectRef, PyRefExact, PyResult, PyStructSequence, }; +use num_traits::ToPrimitive; +use std::{env, mem, path}; /* * The magic sys module. diff --git a/vm/src/vm.rs b/vm/src/vm.rs index 45361bfb9..9aff2a72e 100644 --- a/vm/src/vm.rs +++ b/vm/src/vm.rs @@ -8,13 +8,12 @@ use crate::compile::{self, CompileError, CompileErrorType, CompileOpts}; use crate::{ builtins::{ - self, code::{self, PyCode}, module, object, tuple::{PyTuple, PyTupleRef, PyTupleTyped}, - PyDictRef, PyInt, PyIntRef, PyList, PyModule, PyStr, PyStrRef, PyTypeRef, + PyBaseException, PyBaseExceptionRef, PyDictRef, PyInt, PyIntRef, PyList, PyModule, PyStr, + PyStrRef, PyTypeRef, }, - builtins::{PyBaseException, PyBaseExceptionRef}, bytecode, codecs::CodecsRegistry, common::{ascii, hash::HashSecret, lock::PyMutex, rc::PyRc}, @@ -325,7 +324,7 @@ impl VirtualMachine { panic!("Double Initialize Error"); } - builtins::make_module(self, self.builtins.clone()); + stdlib::builtins::make_module(self, self.builtins.clone()); stdlib::sys::make_module(self, self.sys_module.clone(), self.builtins.clone()); let mut inner_init = || -> PyResult<()> {