@@ -59,24 +59,34 @@ def check_autopatched(source, expected):
59
59
60
60
def test_replace_field_access ():
61
61
check_autopatched (
62
- """
63
- PyObject* type = obj->ob_type;
64
- PyObject* type = ((PyObject*)obj)->ob_type;
65
- const char* name = obj->ob_type->tp_name;
66
- foo = objs[0]->ob_type;
67
- return obj->ob_type;
68
- return (PyObject*)obj->ob_type;
69
- return ((PyObject*)obj)->ob_type;
70
- (PyObject*)function_call(a, b, c(0))->ob_type->ob_base;
71
- """ ,
72
- """
73
- PyObject* type = Py_TYPE(obj);
74
- PyObject* type = Py_TYPE(((PyObject*)obj));
75
- const char* name = Py_TYPE(obj)->tp_name;
76
- foo = Py_TYPE(objs[0]);
77
- return Py_TYPE(obj);
78
- return (PyObject*)Py_TYPE(obj);
79
- return Py_TYPE(((PyObject*)obj));
80
- (PyObject*)Py_TYPE(function_call(a, b, c(0)))->ob_base;
81
- """
62
+ 'PyObject* type = obj->ob_type;' ,
63
+ 'PyObject* type = Py_TYPE(obj);' ,
64
+ )
65
+ check_autopatched (
66
+ 'PyObject* type = ((PyObject*)obj)->ob_type;' ,
67
+ 'PyObject* type = Py_TYPE(((PyObject*)obj));' ,
68
+ )
69
+ check_autopatched (
70
+ 'const char* name = obj->ob_type->tp_name;' ,
71
+ 'const char* name = Py_TYPE(obj)->tp_name;' ,
72
+ )
73
+ check_autopatched (
74
+ 'foo = objs[0]->ob_type;' ,
75
+ 'foo = Py_TYPE(objs[0]);' ,
76
+ )
77
+ check_autopatched (
78
+ 'return obj->ob_type;' ,
79
+ 'return Py_TYPE(obj);' ,
80
+ )
81
+ check_autopatched (
82
+ 'return (PyObject*)obj->ob_type;' ,
83
+ 'return (PyObject*)Py_TYPE(obj);' ,
84
+ )
85
+ check_autopatched (
86
+ 'return ((PyObject*)obj)->ob_type;' ,
87
+ 'return Py_TYPE(((PyObject*)obj));' ,
88
+ )
89
+ check_autopatched (
90
+ '(PyObject*)function_call(a, b, c(0))->ob_type->ob_base;' ,
91
+ '(PyObject*)Py_TYPE(function_call(a, b, c(0)))->ob_base;' ,
82
92
)
0 commit comments