Skip to content

Commit 99b6ec3

Browse files
committed
dep: simplify DepSet.create() using from_ptr() functions
1 parent b94ca66 commit 99b6ec3

2 files changed

Lines changed: 7 additions & 11 deletions

File tree

src/pkgcraft/dep/spec.pxd

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ cdef class DepSet:
1616
cdef object set
1717

1818
@staticmethod
19-
cdef from_ptr(C.DepSet *)
19+
cdef DepSet from_ptr(C.DepSet *)
2020

2121
cdef create(self, C.DepSet *)
2222

@@ -27,7 +27,7 @@ cdef class DepSet:
2727
cdef class MutableDepSet(DepSet):
2828

2929
@staticmethod
30-
cdef from_ptr(C.DepSet *)
30+
cdef MutableDepSet from_ptr(C.DepSet *)
3131

3232

3333
cdef class _IntoIter:

src/pkgcraft/dep/spec.pyx

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -181,22 +181,18 @@ cdef class DepSet:
181181
self.ptr = ptr
182182

183183
@staticmethod
184-
cdef from_ptr(C.DepSet *ptr):
184+
cdef DepSet from_ptr(C.DepSet *ptr):
185185
"""Create a DepSet from a pointer."""
186186
obj = <DepSet>DepSet.__new__(DepSet)
187187
obj.set = DepSetKind(ptr.set)
188188
obj.ptr = ptr
189189
return obj
190190

191191
cdef create(self, C.DepSet *ptr):
192-
"""Create a DepSet using the instance class from a pointer."""
192+
"""Create a DepSet from a pointer using the instance class."""
193193
if isinstance(self, MutableDepSet):
194-
obj = <MutableDepSet>MutableDepSet.__new__(MutableDepSet)
195-
else:
196-
obj = <DepSet>DepSet.__new__(DepSet)
197-
obj.set = DepSetKind(ptr.set)
198-
obj.ptr = ptr
199-
return obj
194+
return MutableDepSet.from_ptr(ptr)
195+
return DepSet.from_ptr(ptr)
200196

201197
@staticmethod
202198
cdef C.DepSet *from_iter(object obj, C.DepSetKind kind):
@@ -446,7 +442,7 @@ cdef class MutableDepSet(DepSet):
446442
"""Mutable set of dependency objects."""
447443

448444
@staticmethod
449-
cdef from_ptr(C.DepSet *ptr):
445+
cdef MutableDepSet from_ptr(C.DepSet *ptr):
450446
"""Create a MutableDepSet from a pointer."""
451447
obj = <MutableDepSet>MutableDepSet.__new__(MutableDepSet)
452448
obj.set = DepSetKind(ptr.set)

0 commit comments

Comments
 (0)