[has|get|set]attr() optimisation
authorStefan Behnel <scoder@users.berlios.de>
Sat, 15 Sep 2007 10:39:56 +0000 (12:39 +0200)
committerStefan Behnel <scoder@users.berlios.de>
Sat, 15 Sep 2007 10:39:56 +0000 (12:39 +0200)
Cython/Compiler/Symtab.py

index 7daeb4e406398c1c410d16ed5195ba771c0473ea..18720d10028937f7b0a5b1ad5be7e35d540c3b50 100644 (file)
@@ -513,7 +513,9 @@ class BuiltinScope(Scope):
     # TODO: perhapse these should all be declared in some universal .pxi file? 
     
     builtin_functions = {
-      "hasattr": ["PyObject_HasAttrString", c_bint_type, (py_object_type, c_char_ptr_type)],
+      "hasattr": ["PyObject_HasAttr", c_bint_type, (py_object_type, py_object_type)],
+      "getattr": ["PyObject_GetAttr", py_object_type, (py_object_type, py_object_type)],
+      "setattr": ["PyObject_SetAttr", c_bint_type, (py_object_type, py_object_type), -1],
       "cmp":     ["PyObject_Compare", c_int_type, (py_object_type, py_object_type), None, True],
       "repr":    ["PyObject_Repr", py_object_type, (py_object_type, ), 0],
 #      "str":     ["PyObject_Str", py_object_type, (py_object_type, ), 0],