Skip to content

Commit 29ba895

Browse files
committed
Remove TypeProtocol::clone_class()
1 parent aa76a34 commit 29ba895

23 files changed

Lines changed: 47 additions & 51 deletions

stdlib/src/array.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1115,7 +1115,7 @@ mod array {
11151115
return Self::reduce(zelf, vm);
11161116
}
11171117
let array = zelf.read();
1118-
let cls = zelf.as_object().clone_class();
1118+
let cls = zelf.class().clone();
11191119
let typecode = vm.ctx.new_str(array.typecode_str());
11201120
let bytes = vm.ctx.new_bytes(array.get_bytes().to_vec());
11211121
let code = MachineFormatCode::from_typecode(array.typecode()).unwrap();
@@ -1135,7 +1135,7 @@ mod array {
11351135
vm: &VirtualMachine,
11361136
) -> PyResult<(PyObjectRef, PyTupleRef, Option<PyDictRef>)> {
11371137
let array = zelf.read();
1138-
let cls = zelf.as_object().clone_class();
1138+
let cls = zelf.class().clone();
11391139
let typecode = vm.ctx.new_str(array.typecode_str());
11401140
let values = if array.typecode() == 'u' {
11411141
let s = Self::_wchar_bytes_to_string(array.get_bytes(), array.itemsize(), vm)?;

vm/src/builtins/bytearray.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -688,7 +688,7 @@ impl PyByteArray {
688688
) -> (PyTypeRef, PyTupleRef, Option<PyDictRef>) {
689689
let bytes = PyBytes::from(zelf.borrow_buf().to_vec()).into_pyobject(vm);
690690
(
691-
zelf.as_object().clone_class(),
691+
zelf.class().clone(),
692692
PyTuple::new_ref(vec![bytes], &vm.ctx),
693693
zelf.as_object().dict(),
694694
)

vm/src/builtins/bytes.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -544,7 +544,7 @@ impl PyBytes {
544544
) -> (PyTypeRef, PyTupleRef, Option<PyDictRef>) {
545545
let bytes = PyBytes::from(zelf.inner.elements.clone()).into_pyobject(vm);
546546
(
547-
zelf.as_object().clone_class(),
547+
zelf.class().clone(),
548548
PyTuple::new_ref(vec![bytes], &vm.ctx),
549549
zelf.as_object().dict(),
550550
)

vm/src/builtins/classmethod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ impl GetDescriptor for PyClassMethod {
5252
vm: &VirtualMachine,
5353
) -> PyResult {
5454
let (zelf, obj) = Self::_unwrap(zelf, obj, vm)?;
55-
let cls = cls.unwrap_or_else(|| obj.clone_class().into());
55+
let cls = cls.unwrap_or_else(|| obj.class().clone().into());
5656
Ok(PyBoundMethod::new_ref(cls, zelf.callable.clone(), &vm.ctx).into())
5757
}
5858
}

vm/src/builtins/enumerate.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ impl PyEnumerate {
5656
#[pymethod(magic)]
5757
fn reduce(zelf: PyRef<Self>) -> (PyTypeRef, (PyIter, BigInt)) {
5858
(
59-
zelf.clone_class(),
59+
zelf.class().clone(),
6060
(zelf.iterator.clone(), zelf.counter.read().clone()),
6161
)
6262
}

vm/src/builtins/object.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -255,7 +255,7 @@ impl PyBaseObject {
255255

256256
#[pyproperty(name = "__class__")]
257257
fn get_class(obj: PyObjectRef) -> PyTypeRef {
258-
obj.clone_class()
258+
obj.class().clone()
259259
}
260260

261261
#[pyproperty(name = "__class__", setter)]
@@ -300,7 +300,7 @@ impl PyBaseObject {
300300
fn reduce_ex(obj: PyObjectRef, proto: usize, vm: &VirtualMachine) -> PyResult {
301301
if let Some(reduce) = vm.get_attribute_opt(obj.clone(), "__reduce__")? {
302302
let object_reduce = vm.ctx.types.object_type.get_attr("__reduce__").unwrap();
303-
let typ_obj: PyObjectRef = obj.clone_class().into();
303+
let typ_obj: PyObjectRef = obj.class().clone().into();
304304
let class_reduce = typ_obj.get_attr("__reduce__", vm)?;
305305
if !class_reduce.is(&object_reduce) {
306306
return vm.invoke(&reduce, ());

vm/src/builtins/property.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,7 @@ impl PyProperty {
185185
deleter: PyRwLock::new(zelf.fdel()),
186186
doc: PyRwLock::new(None),
187187
}
188-
.into_ref_with_type(vm, AsPyObject::clone_class(&zelf))
188+
.into_ref_with_type(vm, zelf.class().clone())
189189
}
190190

191191
#[pymethod]
@@ -200,7 +200,7 @@ impl PyProperty {
200200
deleter: PyRwLock::new(zelf.fdel()),
201201
doc: PyRwLock::new(None),
202202
}
203-
.into_ref_with_type(vm, AsPyObject::clone_class(&zelf))
203+
.into_ref_with_type(vm, zelf.class().clone())
204204
}
205205

206206
#[pymethod]
@@ -215,7 +215,7 @@ impl PyProperty {
215215
deleter: PyRwLock::new(deleter.or_else(|| zelf.fdel())),
216216
doc: PyRwLock::new(None),
217217
}
218-
.into_ref_with_type(vm, AsPyObject::clone_class(&zelf))
218+
.into_ref_with_type(vm, zelf.class().clone())
219219
}
220220

221221
#[pyproperty(magic)]

vm/src/builtins/pysuper.rs

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -174,10 +174,7 @@ impl GetDescriptor for PySuper {
174174
Ok(PySuper::new(zelf.typ.clone(), obj, vm)?.into_object(vm))
175175
} else {
176176
let obj = vm.unwrap_or_none(zelf.obj.clone().map(|(o, _)| o));
177-
vm.invoke(
178-
zelf.as_object().clone_class().as_object(),
179-
(zelf.typ.clone(), obj),
180-
)
177+
vm.invoke(zelf.class().as_object(), (zelf.typ.clone(), obj))
181178
}
182179
}
183180
}
@@ -189,7 +186,7 @@ fn supercheck(ty: PyTypeRef, obj: PyObjectRef, vm: &VirtualMachine) -> PyResult<
189186
}
190187
}
191188
if obj.isinstance(&ty) {
192-
return Ok(obj.clone_class());
189+
return Ok(obj.class().clone());
193190
}
194191
let class_attr = obj.get_attr("__class__", vm)?;
195192
if let Ok(cls) = class_attr.downcast::<PyType>() {

vm/src/builtins/pytype.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -415,7 +415,7 @@ impl PyType {
415415

416416
let is_type_type = metatype.is(&vm.ctx.types.type_type);
417417
if is_type_type && args.args.len() == 1 && args.kwargs.is_empty() {
418-
return Ok(args.args[0].clone_class().into());
418+
return Ok(args.args[0].class().clone().into());
419419
}
420420

421421
if args.args.len() != 3 {
@@ -747,7 +747,7 @@ fn find_base_dict_descr(cls: &PyTypeRef, vm: &VirtualMachine) -> Option<PyObject
747747

748748
fn subtype_get_dict(obj: PyObjectRef, vm: &VirtualMachine) -> PyResult {
749749
// TODO: obj.class().as_pyref() need to be supported
750-
let cls = obj.clone_class();
750+
let cls = obj.class().clone();
751751
let ret = match find_base_dict_descr(&cls, vm) {
752752
Some(descr) => vm.call_get_descriptor(descr, obj).unwrap_or_else(|_| {
753753
Err(vm.new_type_error(format!(
@@ -761,7 +761,7 @@ fn subtype_get_dict(obj: PyObjectRef, vm: &VirtualMachine) -> PyResult {
761761
}
762762

763763
fn subtype_set_dict(obj: PyObjectRef, value: PyObjectRef, vm: &VirtualMachine) -> PyResult<()> {
764-
let cls = obj.clone_class();
764+
let cls = obj.class().clone();
765765
match find_base_dict_descr(&cls, vm) {
766766
Some(descr) => {
767767
let descr_set = descr

vm/src/builtins/set.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -367,7 +367,7 @@ fn reduce_set(
367367
vm: &VirtualMachine,
368368
) -> PyResult<(PyTypeRef, PyTupleRef, Option<PyDictRef>)> {
369369
Ok((
370-
zelf.clone_class(),
370+
zelf.class().clone(),
371371
vm.new_tuple((extract_set(zelf)
372372
.unwrap_or(&PySetInner::default())
373373
.elements(),)),

0 commit comments

Comments
 (0)