[pypy-commit] pypy default: Issue #1982 Avoid name clash and rename cls._names to cls._names_

amauryfa noreply at buildbot.pypy.org
Fri Feb 13 17:19:50 CET 2015


Author: Amaury Forgeot d'Arc <amauryfa at gmail.com>
Branch: 
Changeset: r75858:2a0f777f5f5b
Date: 2015-02-13 09:42 +0100
http://bitbucket.org/pypy/pypy/changeset/2a0f777f5f5b/

Log:	Issue #1982 Avoid name clash and rename cls._names to cls._names_

diff --git a/lib_pypy/_ctypes/structure.py b/lib_pypy/_ctypes/structure.py
--- a/lib_pypy/_ctypes/structure.py
+++ b/lib_pypy/_ctypes/structure.py
@@ -60,7 +60,7 @@
             is_bitfield = (len(field) == 3)
             startpos = self._ffistruct.fieldoffset(name)
             if name in anonymous_fields:
-                for subname in value._pyctypes__names:
+                for subname in value._names_:
                     resnames.append(subname)
                     subfield = getattr(value, subname)
                     relpos = startpos + subfield.offset
@@ -71,7 +71,7 @@
             else:
                 resnames.append(name)
         names = resnames
-    self._pyctypes__names = names
+    self._names_ = names
     for name, field in fields.items():
         setattr(self, name, field)
 
@@ -230,9 +230,9 @@
 
     def __init__(self, *args, **kwds):
         type(self)._make_final()
-        if len(args) > len(self._pyctypes__names):
+        if len(args) > len(self._names_):
             raise TypeError("too many initializers")
-        for name, arg in zip(self._pyctypes__names, args):
+        for name, arg in zip(self._names_, args):
             if name in kwds:
                 raise TypeError("duplicate value for argument %r" % (
                     name,))
diff --git a/pypy/module/test_lib_pypy/ctypes_tests/test_anon.py b/pypy/module/test_lib_pypy/ctypes_tests/test_anon.py
--- a/pypy/module/test_lib_pypy/ctypes_tests/test_anon.py
+++ b/pypy/module/test_lib_pypy/ctypes_tests/test_anon.py
@@ -56,3 +56,4 @@
         assert Y._.offset == sizeof(c_int)
         assert Y.y.offset == sizeof(c_int) * 2
 
+        assert Y._names_ == ['x', 'a', 'b', 'y']
diff --git a/pypy/module/test_lib_pypy/ctypes_tests/test_structures.py b/pypy/module/test_lib_pypy/ctypes_tests/test_structures.py
--- a/pypy/module/test_lib_pypy/ctypes_tests/test_structures.py
+++ b/pypy/module/test_lib_pypy/ctypes_tests/test_structures.py
@@ -23,7 +23,7 @@
         assert Y._fields_ == [("b", c_int)]
         assert Z._fields_ == [("a", c_int)]
 
-        assert Y._pyctypes__names == ['a', 'b']
+        assert Y._names_ == ['a', 'b']
 
     def test_subclass_delayed(self):
         class X(Structure):


More information about the pypy-commit mailing list