Skip to content

Commit 59db19d

Browse files
committed
PyClass -> PyType
1 parent 0658032 commit 59db19d

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

74 files changed

+542
-555
lines changed

derive/src/pyclass.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -73,15 +73,15 @@ pub(crate) fn impl_pyimpl(
7373

7474
fn impl_extend_class(
7575
ctx: &::rustpython_vm::pyobject::PyContext,
76-
class: &::rustpython_vm::obj::objtype::PyClassRef,
76+
class: &::rustpython_vm::obj::objtype::PyTypeRef,
7777
) {
7878
#getset_impl
7979
#extend_impl
8080
#with_impl
8181
#(#class_extensions)*
8282
}
8383

84-
fn extend_slots(slots: &mut ::rustpython_vm::slots::PyClassSlots) {
84+
fn extend_slots(slots: &mut ::rustpython_vm::slots::PyTypeSlots) {
8585
#with_slots
8686
#slots_impl
8787
}
@@ -100,15 +100,15 @@ pub(crate) fn impl_pyimpl(
100100
parse_quote! {
101101
fn __extend_py_class(
102102
ctx: &::rustpython_vm::pyobject::PyContext,
103-
class: &::rustpython_vm::obj::objtype::PyClassRef,
103+
class: &::rustpython_vm::obj::objtype::PyTypeRef,
104104
) {
105105
#getset_impl
106106
#extend_impl
107107
#(#class_extensions)*
108108
}
109109
},
110110
parse_quote! {
111-
fn __extend_slots(slots: &mut ::rustpython_vm::slots::PyClassSlots) {
111+
fn __extend_slots(slots: &mut ::rustpython_vm::slots::PyTypeSlots) {
112112
#slots_impl
113113
}
114114
},
@@ -162,7 +162,7 @@ fn generate_class_def(
162162

163163
let base_class = if is_pystruct {
164164
quote! {
165-
fn base_class(ctx: &::rustpython_vm::pyobject::PyContext) -> ::rustpython_vm::obj::objtype::PyClassRef {
165+
fn base_class(ctx: &::rustpython_vm::pyobject::PyContext) -> ::rustpython_vm::obj::objtype::PyTypeRef {
166166
ctx.types.tuple_type.clone()
167167
}
168168
}

vm/src/builtins.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ mod decl {
3030
use crate::obj::objlist::{PyList, SortOptions};
3131
use crate::obj::objsequence;
3232
use crate::obj::objstr::{PyStr, PyStrRef};
33-
use crate::obj::objtype::{self, PyClassRef};
33+
use crate::obj::objtype::{self, PyTypeRef};
3434
use crate::pyobject::{
3535
BorrowValue, Either, IdProtocol, ItemProtocol, PyCallable, PyIterable, PyObjectRef,
3636
PyResult, PyValue, TryFromObject, TypeProtocol,
@@ -400,7 +400,7 @@ mod decl {
400400
pub fn isinstance(obj: PyObjectRef, typ: PyObjectRef, vm: &VirtualMachine) -> PyResult<bool> {
401401
single_or_tuple_any(
402402
typ,
403-
&|cls: &PyClassRef| vm.isinstance(&obj, cls),
403+
&|cls: &PyTypeRef| vm.isinstance(&obj, cls),
404404
&|o| {
405405
format!(
406406
"isinstance() arg 2 must be a type or tuple of types, not {}",
@@ -412,10 +412,10 @@ mod decl {
412412
}
413413

414414
#[pyfunction]
415-
fn issubclass(subclass: PyClassRef, typ: PyObjectRef, vm: &VirtualMachine) -> PyResult<bool> {
415+
fn issubclass(subclass: PyTypeRef, typ: PyObjectRef, vm: &VirtualMachine) -> PyResult<bool> {
416416
single_or_tuple_any(
417417
typ,
418-
&|cls: &PyClassRef| vm.issubclass(&subclass, cls),
418+
&|cls: &PyTypeRef| vm.issubclass(&subclass, cls),
419419
&|o| {
420420
format!(
421421
"issubclass() arg 2 must be a class or tuple of classes, not {}",
@@ -803,7 +803,7 @@ mod decl {
803803
pub fn __build_class__(
804804
function: PyFunctionRef,
805805
qualified_name: PyStrRef,
806-
bases: Args<PyClassRef>,
806+
bases: Args<PyTypeRef>,
807807
mut kwargs: KwArgs,
808808
vm: &VirtualMachine,
809809
) -> PyResult {
@@ -815,7 +815,7 @@ mod decl {
815815
let name_obj = vm.ctx.new_str(name);
816816

817817
let mut metaclass = if let Some(metaclass) = kwargs.pop_kwarg("metaclass") {
818-
PyClassRef::try_from_object(vm, metaclass)?
818+
PyTypeRef::try_from_object(vm, metaclass)?
819819
} else {
820820
vm.ctx.types.type_type.clone()
821821
};

vm/src/exceptions.rs

Lines changed: 75 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ use crate::obj::objsingletons::{PyNone, PyNoneRef};
44
use crate::obj::objstr::{PyStr, PyStrRef};
55
use crate::obj::objtraceback::PyTracebackRef;
66
use crate::obj::objtuple::{PyTuple, PyTupleRef};
7-
use crate::obj::objtype::{self, PyClass, PyClassRef};
7+
use crate::obj::objtype::{self, PyType, PyTypeRef};
88
use crate::py_io::{self, Write};
99
use crate::pyobject::{
1010
BorrowValue, IntoPyObject, PyClassDef, PyClassImpl, PyContext, PyIterable, PyObjectRef, PyRef,
@@ -44,7 +44,7 @@ pub trait IntoPyException {
4444
}
4545

4646
impl PyValue for PyBaseException {
47-
fn class(vm: &VirtualMachine) -> PyClassRef {
47+
fn class(vm: &VirtualMachine) -> PyTypeRef {
4848
vm.ctx.exceptions.base_exception_type.clone()
4949
}
5050
}
@@ -62,7 +62,7 @@ impl PyBaseException {
6262
}
6363

6464
#[pyslot]
65-
fn tp_new(cls: PyClassRef, args: PyFuncArgs, vm: &VirtualMachine) -> PyResult<PyRef<Self>> {
65+
fn tp_new(cls: PyTypeRef, args: PyFuncArgs, vm: &VirtualMachine) -> PyResult<PyRef<Self>> {
6666
PyBaseException::new(args.args, vm).into_ref_with_type(vm, cls)
6767
}
6868

@@ -295,13 +295,13 @@ fn exception_args_as_string(
295295

296296
#[derive(Clone)]
297297
pub enum ExceptionCtor {
298-
Class(PyClassRef),
298+
Class(PyTypeRef),
299299
Instance(PyBaseExceptionRef),
300300
}
301301

302302
impl TryFromObject for ExceptionCtor {
303303
fn try_from_object(vm: &VirtualMachine, obj: PyObjectRef) -> PyResult<Self> {
304-
obj.downcast::<PyClass>()
304+
obj.downcast::<PyType>()
305305
.and_then(|cls| {
306306
if objtype::issubclass(&cls, &vm.ctx.exceptions.base_exception_type) {
307307
Ok(Self::Class(cls))
@@ -320,7 +320,7 @@ impl TryFromObject for ExceptionCtor {
320320
}
321321

322322
pub fn invoke(
323-
cls: PyClassRef,
323+
cls: PyTypeRef,
324324
args: Vec<PyObjectRef>,
325325
vm: &VirtualMachine,
326326
) -> PyResult<PyBaseExceptionRef> {
@@ -392,80 +392,80 @@ pub fn normalize(
392392

393393
#[derive(Debug)]
394394
pub struct ExceptionZoo {
395-
pub base_exception_type: PyClassRef,
396-
pub system_exit: PyClassRef,
397-
pub keyboard_interrupt: PyClassRef,
398-
pub generator_exit: PyClassRef,
399-
pub exception_type: PyClassRef,
400-
pub stop_iteration: PyClassRef,
401-
pub stop_async_iteration: PyClassRef,
402-
pub arithmetic_error: PyClassRef,
403-
pub floating_point_error: PyClassRef,
404-
pub overflow_error: PyClassRef,
405-
pub zero_division_error: PyClassRef,
406-
pub assertion_error: PyClassRef,
407-
pub attribute_error: PyClassRef,
408-
pub buffer_error: PyClassRef,
409-
pub eof_error: PyClassRef,
410-
pub import_error: PyClassRef,
411-
pub module_not_found_error: PyClassRef,
412-
pub lookup_error: PyClassRef,
413-
pub index_error: PyClassRef,
414-
pub key_error: PyClassRef,
415-
pub memory_error: PyClassRef,
416-
pub name_error: PyClassRef,
417-
pub unbound_local_error: PyClassRef,
418-
pub os_error: PyClassRef,
419-
pub blocking_io_error: PyClassRef,
420-
pub child_process_error: PyClassRef,
421-
pub connection_error: PyClassRef,
422-
pub broken_pipe_error: PyClassRef,
423-
pub connection_aborted_error: PyClassRef,
424-
pub connection_refused_error: PyClassRef,
425-
pub connection_reset_error: PyClassRef,
426-
pub file_exists_error: PyClassRef,
427-
pub file_not_found_error: PyClassRef,
428-
pub interrupted_error: PyClassRef,
429-
pub is_a_directory_error: PyClassRef,
430-
pub not_a_directory_error: PyClassRef,
431-
pub permission_error: PyClassRef,
432-
pub process_lookup_error: PyClassRef,
433-
pub timeout_error: PyClassRef,
434-
pub reference_error: PyClassRef,
435-
pub runtime_error: PyClassRef,
436-
pub not_implemented_error: PyClassRef,
437-
pub recursion_error: PyClassRef,
438-
pub syntax_error: PyClassRef,
439-
pub target_scope_error: PyClassRef,
440-
pub indentation_error: PyClassRef,
441-
pub tab_error: PyClassRef,
442-
pub system_error: PyClassRef,
443-
pub type_error: PyClassRef,
444-
pub value_error: PyClassRef,
445-
pub unicode_error: PyClassRef,
446-
pub unicode_decode_error: PyClassRef,
447-
pub unicode_encode_error: PyClassRef,
448-
pub unicode_translate_error: PyClassRef,
395+
pub base_exception_type: PyTypeRef,
396+
pub system_exit: PyTypeRef,
397+
pub keyboard_interrupt: PyTypeRef,
398+
pub generator_exit: PyTypeRef,
399+
pub exception_type: PyTypeRef,
400+
pub stop_iteration: PyTypeRef,
401+
pub stop_async_iteration: PyTypeRef,
402+
pub arithmetic_error: PyTypeRef,
403+
pub floating_point_error: PyTypeRef,
404+
pub overflow_error: PyTypeRef,
405+
pub zero_division_error: PyTypeRef,
406+
pub assertion_error: PyTypeRef,
407+
pub attribute_error: PyTypeRef,
408+
pub buffer_error: PyTypeRef,
409+
pub eof_error: PyTypeRef,
410+
pub import_error: PyTypeRef,
411+
pub module_not_found_error: PyTypeRef,
412+
pub lookup_error: PyTypeRef,
413+
pub index_error: PyTypeRef,
414+
pub key_error: PyTypeRef,
415+
pub memory_error: PyTypeRef,
416+
pub name_error: PyTypeRef,
417+
pub unbound_local_error: PyTypeRef,
418+
pub os_error: PyTypeRef,
419+
pub blocking_io_error: PyTypeRef,
420+
pub child_process_error: PyTypeRef,
421+
pub connection_error: PyTypeRef,
422+
pub broken_pipe_error: PyTypeRef,
423+
pub connection_aborted_error: PyTypeRef,
424+
pub connection_refused_error: PyTypeRef,
425+
pub connection_reset_error: PyTypeRef,
426+
pub file_exists_error: PyTypeRef,
427+
pub file_not_found_error: PyTypeRef,
428+
pub interrupted_error: PyTypeRef,
429+
pub is_a_directory_error: PyTypeRef,
430+
pub not_a_directory_error: PyTypeRef,
431+
pub permission_error: PyTypeRef,
432+
pub process_lookup_error: PyTypeRef,
433+
pub timeout_error: PyTypeRef,
434+
pub reference_error: PyTypeRef,
435+
pub runtime_error: PyTypeRef,
436+
pub not_implemented_error: PyTypeRef,
437+
pub recursion_error: PyTypeRef,
438+
pub syntax_error: PyTypeRef,
439+
pub target_scope_error: PyTypeRef,
440+
pub indentation_error: PyTypeRef,
441+
pub tab_error: PyTypeRef,
442+
pub system_error: PyTypeRef,
443+
pub type_error: PyTypeRef,
444+
pub value_error: PyTypeRef,
445+
pub unicode_error: PyTypeRef,
446+
pub unicode_decode_error: PyTypeRef,
447+
pub unicode_encode_error: PyTypeRef,
448+
pub unicode_translate_error: PyTypeRef,
449449

450450
#[cfg(feature = "jit")]
451-
pub jit_error: PyClassRef,
452-
453-
pub warning: PyClassRef,
454-
pub deprecation_warning: PyClassRef,
455-
pub pending_deprecation_warning: PyClassRef,
456-
pub runtime_warning: PyClassRef,
457-
pub syntax_warning: PyClassRef,
458-
pub user_warning: PyClassRef,
459-
pub future_warning: PyClassRef,
460-
pub import_warning: PyClassRef,
461-
pub unicode_warning: PyClassRef,
462-
pub bytes_warning: PyClassRef,
463-
pub resource_warning: PyClassRef,
451+
pub jit_error: PyTypeRef,
452+
453+
pub warning: PyTypeRef,
454+
pub deprecation_warning: PyTypeRef,
455+
pub pending_deprecation_warning: PyTypeRef,
456+
pub runtime_warning: PyTypeRef,
457+
pub syntax_warning: PyTypeRef,
458+
pub user_warning: PyTypeRef,
459+
pub future_warning: PyTypeRef,
460+
pub import_warning: PyTypeRef,
461+
pub unicode_warning: PyTypeRef,
462+
pub bytes_warning: PyTypeRef,
463+
pub resource_warning: PyTypeRef,
464464
}
465465

466466
impl ExceptionZoo {
467-
pub fn new(type_type: &PyClassRef, object_type: &PyClassRef) -> Self {
468-
let create_exception_type = |name: &str, base: &PyClassRef| {
467+
pub fn new(type_type: &PyTypeRef, object_type: &PyTypeRef) -> Self {
468+
let create_exception_type = |name: &str, base: &PyTypeRef| {
469469
create_type_with_slots(name, type_type, base.clone(), PyBaseException::make_slots())
470470
};
471471
// Sorted By Hierarchy then alphabetized.

vm/src/frame.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ use crate::obj::objslice::PySlice;
2222
use crate::obj::objstr::{self, PyStr, PyStrRef};
2323
use crate::obj::objtraceback::PyTraceback;
2424
use crate::obj::objtuple::PyTuple;
25-
use crate::obj::objtype::{self, PyClassRef};
25+
use crate::obj::objtype::{self, PyTypeRef};
2626
use crate::pyobject::{
2727
BorrowValue, IdProtocol, ItemProtocol, PyObjectRef, PyRef, PyResult, PyValue, TryFromObject,
2828
TypeProtocol,
@@ -100,7 +100,7 @@ pub struct Frame {
100100
}
101101

102102
impl PyValue for Frame {
103-
fn class(vm: &VirtualMachine) -> PyClassRef {
103+
fn class(vm: &VirtualMachine) -> PyTypeRef {
104104
vm.ctx.types.frame_type.clone()
105105
}
106106
}

vm/src/function.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ use result_like::impl_option_like;
88

99
use crate::exceptions::PyBaseExceptionRef;
1010
use crate::obj::objtuple::PyTupleRef;
11-
use crate::obj::objtype::{isinstance, PyClassRef};
11+
use crate::obj::objtype::{isinstance, PyTypeRef};
1212
use crate::pyobject::{
1313
BorrowValue, IntoPyResult, PyObjectRef, PyRef, PyResult, PyThreadingConstraint, PyValue,
1414
TryFromObject, TypeProtocol,
@@ -121,7 +121,7 @@ impl PyFuncArgs {
121121
pub fn get_optional_kwarg_with_type(
122122
&self,
123123
key: &str,
124-
ty: PyClassRef,
124+
ty: PyTypeRef,
125125
vm: &VirtualMachine,
126126
) -> PyResult<Option<PyObjectRef>> {
127127
match self.get_optional_kwarg(key) {

vm/src/macros.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ macro_rules! py_class {
3939
( $ctx:expr, $class_name:expr, $class_base:expr, $flags:expr, { $($name:tt => $value:expr),* $(,)* }) => {
4040
{
4141
#[allow(unused_mut)]
42-
let mut slots = $crate::slots::PyClassSlots::from_flags($crate::slots::PyTpFlags::DEFAULT | $flags);
42+
let mut slots = $crate::slots::PyTypeSlots::from_flags($crate::slots::PyTpFlags::DEFAULT | $flags);
4343
$($crate::py_class!(@extract_slots($ctx, &mut slots, $name, $value));)*
4444
let py_class = $ctx.new_class($class_name, $class_base.clone(), slots);
4545
$($crate::py_class!(@extract_attrs($ctx, &py_class, $name, $value));)*

vm/src/obj/objasyncgenerator.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use super::objcode::PyCodeRef;
22
use super::objcoroinner::{Coro, Variant};
3-
use super::objtype::{self, PyClassRef};
3+
use super::objtype::{self, PyTypeRef};
44
use crate::exceptions::PyBaseExceptionRef;
55
use crate::frame::FrameRef;
66
use crate::function::OptionalArg;
@@ -18,7 +18,7 @@ pub struct PyAsyncGen {
1818
pub type PyAsyncGenRef = PyRef<PyAsyncGen>;
1919

2020
impl PyValue for PyAsyncGen {
21-
fn class(vm: &VirtualMachine) -> PyClassRef {
21+
fn class(vm: &VirtualMachine) -> PyTypeRef {
2222
vm.ctx.types.async_generator.clone()
2323
}
2424
}
@@ -116,7 +116,7 @@ impl PyAsyncGen {
116116
#[derive(Debug)]
117117
pub(crate) struct PyAsyncGenWrappedValue(pub PyObjectRef);
118118
impl PyValue for PyAsyncGenWrappedValue {
119-
fn class(vm: &VirtualMachine) -> PyClassRef {
119+
fn class(vm: &VirtualMachine) -> PyTypeRef {
120120
vm.ctx.types.async_generator_wrapped_value.clone()
121121
}
122122
}
@@ -165,7 +165,7 @@ pub(crate) struct PyAsyncGenASend {
165165
}
166166

167167
impl PyValue for PyAsyncGenASend {
168-
fn class(vm: &VirtualMachine) -> PyClassRef {
168+
fn class(vm: &VirtualMachine) -> PyTypeRef {
169169
vm.ctx.types.async_generator_asend.clone()
170170
}
171171
}
@@ -261,7 +261,7 @@ pub(crate) struct PyAsyncGenAThrow {
261261
}
262262

263263
impl PyValue for PyAsyncGenAThrow {
264-
fn class(vm: &VirtualMachine) -> PyClassRef {
264+
fn class(vm: &VirtualMachine) -> PyTypeRef {
265265
vm.ctx.types.async_generator_athrow.clone()
266266
}
267267
}

0 commit comments

Comments
 (0)