@@ -30,8 +30,7 @@ static const char *ASYNC_GEN_IGNORED_EXIT_MSG =
30
30
/* Returns a borrowed reference */
31
31
static inline PyCodeObject *
32
32
_PyGen_GetCode (PyGenObject * gen ) {
33
- _PyInterpreterFrame * frame = (_PyInterpreterFrame * )(gen -> gi_iframe );
34
- return _PyFrame_GetCode (frame );
33
+ return _PyFrame_GetCode (gen -> gi_iframe );
35
34
}
36
35
37
36
PyCodeObject *
@@ -48,7 +47,7 @@ gen_traverse(PyGenObject *gen, visitproc visit, void *arg)
48
47
Py_VISIT (gen -> gi_name );
49
48
Py_VISIT (gen -> gi_qualname );
50
49
if (gen -> gi_frame_state != FRAME_CLEARED ) {
51
- _PyInterpreterFrame * frame = ( _PyInterpreterFrame * )( gen -> gi_iframe ) ;
50
+ _PyInterpreterFrame * frame = gen -> gi_iframe ;
52
51
assert (frame -> frame_obj == NULL ||
53
52
frame -> frame_obj -> f_frame -> owner == FRAME_OWNED_BY_GENERATOR );
54
53
int err = _PyFrame_Traverse (frame , visit , arg );
@@ -141,7 +140,7 @@ gen_dealloc(PyGenObject *gen)
141
140
Py_CLEAR (((PyAsyncGenObject * )gen )-> ag_origin_or_finalizer );
142
141
}
143
142
if (gen -> gi_frame_state != FRAME_CLEARED ) {
144
- _PyInterpreterFrame * frame = ( _PyInterpreterFrame * ) gen -> gi_iframe ;
143
+ _PyInterpreterFrame * frame = gen -> gi_iframe ;
145
144
gen -> gi_frame_state = FRAME_CLEARED ;
146
145
frame -> previous = NULL ;
147
146
_PyFrame_ClearExceptCode (frame );
@@ -163,7 +162,7 @@ gen_send_ex2(PyGenObject *gen, PyObject *arg, PyObject **presult,
163
162
int exc , int closing )
164
163
{
165
164
PyThreadState * tstate = _PyThreadState_GET ();
166
- _PyInterpreterFrame * frame = ( _PyInterpreterFrame * ) gen -> gi_iframe ;
165
+ _PyInterpreterFrame * frame = gen -> gi_iframe ;
167
166
168
167
* presult = NULL ;
169
168
if (gen -> gi_frame_state == FRAME_CREATED && arg && arg != Py_None ) {
@@ -342,7 +341,7 @@ PyObject *
342
341
_PyGen_yf (PyGenObject * gen )
343
342
{
344
343
if (gen -> gi_frame_state == FRAME_SUSPENDED_YIELD_FROM ) {
345
- _PyInterpreterFrame * frame = ( _PyInterpreterFrame * ) gen -> gi_iframe ;
344
+ _PyInterpreterFrame * frame = gen -> gi_iframe ;
346
345
assert (is_resume (frame -> instr_ptr ));
347
346
assert ((frame -> instr_ptr -> op .arg & RESUME_OPARG_LOCATION_MASK ) >= RESUME_AFTER_YIELD_FROM );
348
347
return Py_NewRef (_PyFrame_StackPeek (frame ));
@@ -372,7 +371,7 @@ gen_close(PyGenObject *gen, PyObject *args)
372
371
gen -> gi_frame_state = state ;
373
372
Py_DECREF (yf );
374
373
}
375
- _PyInterpreterFrame * frame = ( _PyInterpreterFrame * ) gen -> gi_iframe ;
374
+ _PyInterpreterFrame * frame = gen -> gi_iframe ;
376
375
if (is_resume (frame -> instr_ptr )) {
377
376
/* We can safely ignore the outermost try block
378
377
* as it is automatically generated to handle
@@ -382,7 +381,7 @@ gen_close(PyGenObject *gen, PyObject *args)
382
381
// RESUME after YIELD_VALUE and exception depth is 1
383
382
assert ((oparg & RESUME_OPARG_LOCATION_MASK ) != RESUME_AT_FUNC_START );
384
383
gen -> gi_frame_state = FRAME_COMPLETED ;
385
- _PyFrame_ClearLocals (( _PyInterpreterFrame * ) gen -> gi_iframe );
384
+ _PyFrame_ClearLocals (gen -> gi_iframe );
386
385
Py_RETURN_NONE ;
387
386
}
388
387
}
@@ -431,7 +430,7 @@ _gen_throw(PyGenObject *gen, int close_on_genexit,
431
430
PyObject * yf = _PyGen_yf (gen );
432
431
433
432
if (yf ) {
434
- _PyInterpreterFrame * frame = ( _PyInterpreterFrame * ) gen -> gi_iframe ;
433
+ _PyInterpreterFrame * frame = gen -> gi_iframe ;
435
434
PyObject * ret ;
436
435
int err ;
437
436
if (PyErr_GivenExceptionMatches (typ , PyExc_GeneratorExit ) &&
@@ -739,7 +738,7 @@ _gen_getframe(PyGenObject *gen, const char *const name)
739
738
if (FRAME_STATE_FINISHED (gen -> gi_frame_state )) {
740
739
Py_RETURN_NONE ;
741
740
}
742
- return _Py_XNewRef ((PyObject * )_PyFrame_GetFrameObject (( _PyInterpreterFrame * ) gen -> gi_iframe ));
741
+ return _Py_XNewRef ((PyObject * )_PyFrame_GetFrameObject (gen -> gi_iframe ));
743
742
}
744
743
745
744
static PyObject *
@@ -949,7 +948,7 @@ gen_new_with_qualname(PyTypeObject *type, PyFrameObject *f,
949
948
/* Copy the frame */
950
949
assert (f -> f_frame -> frame_obj == NULL );
951
950
assert (f -> f_frame -> owner == FRAME_OWNED_BY_FRAME_OBJECT );
952
- _PyInterpreterFrame * frame = ( _PyInterpreterFrame * ) gen -> gi_iframe ;
951
+ _PyInterpreterFrame * frame = gen -> gi_iframe ;
953
952
_PyFrame_Copy ((_PyInterpreterFrame * )f -> _f_frame_data , frame );
954
953
gen -> gi_frame_state = FRAME_CREATED ;
955
954
assert (frame -> frame_obj == f );
0 commit comments