mirror of
https://github.com/RustPython/RustPython.git
synced 2026-10-29 03:04:38 +08:00
MemberDescrObject -> PyMemberDescriptor
This commit is contained in:
1 parent
436624b7a3
commit
30b8d7bdad
4 files changed
+16
-15
No files matched your search
@@ -74,14 +74,15 @@ impl std::fmt::Debug for PyMemberDef {
|
||||
}
|
||||
}
|
||||
|
||||
// PyMemberDescrObject in CPython
|
||||
#[pyclass(name = "member_descriptor", module = false)]
|
||||
#[derive(Debug)]
|
||||
pub struct MemberDescrObject {
|
||||
pub struct PyMemberDescriptor {
|
||||
pub common: DescrObject,
|
||||
pub member: PyMemberDef,
|
||||
}
|
||||
|
||||
impl PyPayload for MemberDescrObject {
|
||||
impl PyPayload for PyMemberDescriptor {
|
||||
fn class(ctx: &Context) -> &'static Py<PyType> {
|
||||
ctx.types.member_descriptor_type
|
||||
}
|
||||
@@ -101,7 +102,7 @@ fn calculate_qualname(descr: &DescrObject, vm: &VirtualMachine) -> PyResult<Opti
|
||||
}
|
||||
|
||||
#[pyclass(with(GetDescriptor, Constructor, Representable), flags(BASETYPE))]
|
||||
impl MemberDescrObject {
|
||||
impl PyMemberDescriptor {
|
||||
#[pygetset(magic)]
|
||||
fn doc(&self) -> Option<String> {
|
||||
self.member.doc.to_owned()
|
||||
@@ -186,9 +187,9 @@ fn set_slot_at_object(
|
||||
Ok(())
|
||||
}
|
||||
|
||||
impl Unconstructible for MemberDescrObject {}
|
||||
impl Unconstructible for PyMemberDescriptor {}
|
||||
|
||||
impl Representable for MemberDescrObject {
|
||||
impl Representable for PyMemberDescriptor {
|
||||
#[inline]
|
||||
fn repr_str(zelf: &Py<Self>, _vm: &VirtualMachine) -> PyResult<String> {
|
||||
Ok(format!(
|
||||
@@ -199,7 +200,7 @@ impl Representable for MemberDescrObject {
|
||||
}
|
||||
}
|
||||
|
||||
impl GetDescriptor for MemberDescrObject {
|
||||
impl GetDescriptor for PyMemberDescriptor {
|
||||
fn descr_get(
|
||||
zelf: PyObjectRef,
|
||||
obj: Option<PyObjectRef>,
|
||||
@@ -218,5 +219,5 @@ impl GetDescriptor for MemberDescrObject {
|
||||
|
||||
pub fn init(context: &Context) {
|
||||
let member_descriptor_type = &context.types.member_descriptor_type;
|
||||
MemberDescrObject::extend_class(context, member_descriptor_type);
|
||||
PyMemberDescriptor::extend_class(context, member_descriptor_type);
|
||||
}
|
||||
@@ -5,7 +5,7 @@ use super::{
|
||||
use crate::{
|
||||
builtins::{
|
||||
descriptor::{
|
||||
DescrObject, MemberDescrObject, MemberGetter, MemberKind, MemberSetter, PyMemberDef,
|
||||
DescrObject, MemberGetter, MemberKind, MemberSetter, PyMemberDef, PyMemberDescriptor,
|
||||
},
|
||||
function::PyCellRef,
|
||||
tuple::{IntoPyTuple, PyTupleTyped},
|
||||
@@ -811,8 +811,8 @@ impl PyType {
|
||||
setter: MemberSetter::Offset(offset),
|
||||
doc: None,
|
||||
};
|
||||
let member_descriptor: PyRef<MemberDescrObject> =
|
||||
vm.ctx.new_pyref(MemberDescrObject {
|
||||
let member_descriptor: PyRef<PyMemberDescriptor> =
|
||||
vm.ctx.new_pyref(PyMemberDescriptor {
|
||||
common: DescrObject {
|
||||
typ: typ.clone(),
|
||||
name: vm.ctx.intern_str(member.as_str()),
|
||||
|
||||
+1
-1
@@ -177,7 +177,7 @@ impl TypeZoo {
|
||||
not_implemented_type: singletons::PyNotImplemented::init_builtin_type(),
|
||||
generic_alias_type: genericalias::PyGenericAlias::init_builtin_type(),
|
||||
union_type: union_::PyUnion::init_builtin_type(),
|
||||
member_descriptor_type: descriptor::MemberDescrObject::init_builtin_type(),
|
||||
member_descriptor_type: descriptor::PyMemberDescriptor::init_builtin_type(),
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -4,8 +4,8 @@ use crate::{
|
||||
bytes,
|
||||
code::{self, PyCode},
|
||||
descriptor::{
|
||||
DescrObject, MemberDescrObject, MemberGetter, MemberKind, MemberSetter,
|
||||
MemberSetterFunc, PyMemberDef,
|
||||
DescrObject, MemberGetter, MemberKind, MemberSetter, MemberSetterFunc, PyMemberDef,
|
||||
PyMemberDescriptor,
|
||||
},
|
||||
getset::PyGetSet,
|
||||
object, pystr,
|
||||
@@ -500,7 +500,7 @@ impl Context {
|
||||
getter: fn(&VirtualMachine, PyObjectRef) -> PyResult,
|
||||
setter: MemberSetterFunc,
|
||||
class: &'static Py<PyType>,
|
||||
) -> PyRef<MemberDescrObject> {
|
||||
) -> PyRef<PyMemberDescriptor> {
|
||||
let member_def = PyMemberDef {
|
||||
name: name.to_owned(),
|
||||
kind: member_kind,
|
||||
@@ -508,7 +508,7 @@ impl Context {
|
||||
setter: MemberSetter::Setter(setter),
|
||||
doc: None,
|
||||
};
|
||||
let member_descriptor = MemberDescrObject {
|
||||
let member_descriptor = PyMemberDescriptor {
|
||||
common: DescrObject {
|
||||
typ: class.to_owned(),
|
||||
name: self.intern_str(name),
|
||||
|
||||
Reference in new issue
Block a user