Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
C
cpython
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
0
Konular (issue)
0
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
Batuhan Osman TASKAYA
cpython
Commits
08995a33
Kaydet (Commit)
08995a33
authored
Eki 07, 2016
tarafından
Serhiy Storchaka
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
Issue #24098: Fixed possible crash when AST is changed in process of
compiling it.
üst
bc4bdbd6
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
190 additions
and
0 deletions
+190
-0
NEWS
Misc/NEWS
+3
-0
asdl_c.py
Parser/asdl_c.py
+7
-0
Python-ast.c
Python/Python-ast.c
+180
-0
No files found.
Misc/NEWS
Dosyayı görüntüle @
08995a33
...
@@ -10,6 +10,9 @@ What's New in Python 2.7.13?
...
@@ -10,6 +10,9 @@ What's New in Python 2.7.13?
Core and Builtins
Core and Builtins
-----------------
-----------------
- Issue #24098: Fixed possible crash when AST is changed in process of
compiling it.
- Issue #28350: String constants with null character no longer interned.
- Issue #28350: String constants with null character no longer interned.
- Issue #27942: String constants now interned recursively in tuples and frozensets.
- Issue #27942: String constants now interned recursively in tuples and frozensets.
...
...
Parser/asdl_c.py
Dosyayı görüntüle @
08995a33
...
@@ -513,6 +513,13 @@ class Obj2ModVisitor(PickleVisitor):
...
@@ -513,6 +513,13 @@ class Obj2ModVisitor(PickleVisitor):
self
.
emit
(
"res = obj2ast_
%
s(PyList_GET_ITEM(tmp, i), &value, arena);"
%
self
.
emit
(
"res = obj2ast_
%
s(PyList_GET_ITEM(tmp, i), &value, arena);"
%
field
.
type
,
depth
+
2
,
reflow
=
False
)
field
.
type
,
depth
+
2
,
reflow
=
False
)
self
.
emit
(
"if (res != 0) goto failed;"
,
depth
+
2
)
self
.
emit
(
"if (res != 0) goto failed;"
,
depth
+
2
)
self
.
emit
(
"if (len != PyList_GET_SIZE(tmp)) {"
,
depth
+
2
)
self
.
emit
(
"PyErr_SetString(PyExc_RuntimeError,
\"
%
s field
\\\"
%
s
\\\"
"
"changed size during iteration
\"
);"
%
(
name
,
field
.
name
),
depth
+
3
,
reflow
=
False
)
self
.
emit
(
"goto failed;"
,
depth
+
3
)
self
.
emit
(
"}"
,
depth
+
2
)
self
.
emit
(
"asdl_seq_SET(
%
s, i, value);"
%
field
.
name
,
depth
+
2
)
self
.
emit
(
"asdl_seq_SET(
%
s, i, value);"
%
field
.
name
,
depth
+
2
)
self
.
emit
(
"}"
,
depth
+
1
)
self
.
emit
(
"}"
,
depth
+
1
)
else
:
else
:
...
...
Python/Python-ast.c
Dosyayı görüntüle @
08995a33
...
@@ -3351,6 +3351,10 @@ obj2ast_mod(PyObject* obj, mod_ty* out, PyArena* arena)
...
@@ -3351,6 +3351,10 @@ obj2ast_mod(PyObject* obj, mod_ty* out, PyArena* arena)
stmt_ty
value
;
stmt_ty
value
;
res
=
obj2ast_stmt
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
res
=
obj2ast_stmt
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
if
(
res
!=
0
)
goto
failed
;
if
(
res
!=
0
)
goto
failed
;
if
(
len
!=
PyList_GET_SIZE
(
tmp
))
{
PyErr_SetString
(
PyExc_RuntimeError
,
"Module field
\"
body
\"
changed size during iteration"
);
goto
failed
;
}
asdl_seq_SET
(
body
,
i
,
value
);
asdl_seq_SET
(
body
,
i
,
value
);
}
}
Py_XDECREF
(
tmp
);
Py_XDECREF
(
tmp
);
...
@@ -3387,6 +3391,10 @@ obj2ast_mod(PyObject* obj, mod_ty* out, PyArena* arena)
...
@@ -3387,6 +3391,10 @@ obj2ast_mod(PyObject* obj, mod_ty* out, PyArena* arena)
stmt_ty
value
;
stmt_ty
value
;
res
=
obj2ast_stmt
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
res
=
obj2ast_stmt
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
if
(
res
!=
0
)
goto
failed
;
if
(
res
!=
0
)
goto
failed
;
if
(
len
!=
PyList_GET_SIZE
(
tmp
))
{
PyErr_SetString
(
PyExc_RuntimeError
,
"Interactive field
\"
body
\"
changed size during iteration"
);
goto
failed
;
}
asdl_seq_SET
(
body
,
i
,
value
);
asdl_seq_SET
(
body
,
i
,
value
);
}
}
Py_XDECREF
(
tmp
);
Py_XDECREF
(
tmp
);
...
@@ -3446,6 +3454,10 @@ obj2ast_mod(PyObject* obj, mod_ty* out, PyArena* arena)
...
@@ -3446,6 +3454,10 @@ obj2ast_mod(PyObject* obj, mod_ty* out, PyArena* arena)
stmt_ty
value
;
stmt_ty
value
;
res
=
obj2ast_stmt
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
res
=
obj2ast_stmt
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
if
(
res
!=
0
)
goto
failed
;
if
(
res
!=
0
)
goto
failed
;
if
(
len
!=
PyList_GET_SIZE
(
tmp
))
{
PyErr_SetString
(
PyExc_RuntimeError
,
"Suite field
\"
body
\"
changed size during iteration"
);
goto
failed
;
}
asdl_seq_SET
(
body
,
i
,
value
);
asdl_seq_SET
(
body
,
i
,
value
);
}
}
Py_XDECREF
(
tmp
);
Py_XDECREF
(
tmp
);
...
@@ -3555,6 +3567,10 @@ obj2ast_stmt(PyObject* obj, stmt_ty* out, PyArena* arena)
...
@@ -3555,6 +3567,10 @@ obj2ast_stmt(PyObject* obj, stmt_ty* out, PyArena* arena)
stmt_ty
value
;
stmt_ty
value
;
res
=
obj2ast_stmt
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
res
=
obj2ast_stmt
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
if
(
res
!=
0
)
goto
failed
;
if
(
res
!=
0
)
goto
failed
;
if
(
len
!=
PyList_GET_SIZE
(
tmp
))
{
PyErr_SetString
(
PyExc_RuntimeError
,
"FunctionDef field
\"
body
\"
changed size during iteration"
);
goto
failed
;
}
asdl_seq_SET
(
body
,
i
,
value
);
asdl_seq_SET
(
body
,
i
,
value
);
}
}
Py_XDECREF
(
tmp
);
Py_XDECREF
(
tmp
);
...
@@ -3580,6 +3596,10 @@ obj2ast_stmt(PyObject* obj, stmt_ty* out, PyArena* arena)
...
@@ -3580,6 +3596,10 @@ obj2ast_stmt(PyObject* obj, stmt_ty* out, PyArena* arena)
expr_ty
value
;
expr_ty
value
;
res
=
obj2ast_expr
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
res
=
obj2ast_expr
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
if
(
res
!=
0
)
goto
failed
;
if
(
res
!=
0
)
goto
failed
;
if
(
len
!=
PyList_GET_SIZE
(
tmp
))
{
PyErr_SetString
(
PyExc_RuntimeError
,
"FunctionDef field
\"
decorator_list
\"
changed size during iteration"
);
goto
failed
;
}
asdl_seq_SET
(
decorator_list
,
i
,
value
);
asdl_seq_SET
(
decorator_list
,
i
,
value
);
}
}
Py_XDECREF
(
tmp
);
Py_XDECREF
(
tmp
);
...
@@ -3632,6 +3652,10 @@ obj2ast_stmt(PyObject* obj, stmt_ty* out, PyArena* arena)
...
@@ -3632,6 +3652,10 @@ obj2ast_stmt(PyObject* obj, stmt_ty* out, PyArena* arena)
expr_ty
value
;
expr_ty
value
;
res
=
obj2ast_expr
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
res
=
obj2ast_expr
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
if
(
res
!=
0
)
goto
failed
;
if
(
res
!=
0
)
goto
failed
;
if
(
len
!=
PyList_GET_SIZE
(
tmp
))
{
PyErr_SetString
(
PyExc_RuntimeError
,
"ClassDef field
\"
bases
\"
changed size during iteration"
);
goto
failed
;
}
asdl_seq_SET
(
bases
,
i
,
value
);
asdl_seq_SET
(
bases
,
i
,
value
);
}
}
Py_XDECREF
(
tmp
);
Py_XDECREF
(
tmp
);
...
@@ -3657,6 +3681,10 @@ obj2ast_stmt(PyObject* obj, stmt_ty* out, PyArena* arena)
...
@@ -3657,6 +3681,10 @@ obj2ast_stmt(PyObject* obj, stmt_ty* out, PyArena* arena)
stmt_ty
value
;
stmt_ty
value
;
res
=
obj2ast_stmt
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
res
=
obj2ast_stmt
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
if
(
res
!=
0
)
goto
failed
;
if
(
res
!=
0
)
goto
failed
;
if
(
len
!=
PyList_GET_SIZE
(
tmp
))
{
PyErr_SetString
(
PyExc_RuntimeError
,
"ClassDef field
\"
body
\"
changed size during iteration"
);
goto
failed
;
}
asdl_seq_SET
(
body
,
i
,
value
);
asdl_seq_SET
(
body
,
i
,
value
);
}
}
Py_XDECREF
(
tmp
);
Py_XDECREF
(
tmp
);
...
@@ -3682,6 +3710,10 @@ obj2ast_stmt(PyObject* obj, stmt_ty* out, PyArena* arena)
...
@@ -3682,6 +3710,10 @@ obj2ast_stmt(PyObject* obj, stmt_ty* out, PyArena* arena)
expr_ty
value
;
expr_ty
value
;
res
=
obj2ast_expr
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
res
=
obj2ast_expr
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
if
(
res
!=
0
)
goto
failed
;
if
(
res
!=
0
)
goto
failed
;
if
(
len
!=
PyList_GET_SIZE
(
tmp
))
{
PyErr_SetString
(
PyExc_RuntimeError
,
"ClassDef field
\"
decorator_list
\"
changed size during iteration"
);
goto
failed
;
}
asdl_seq_SET
(
decorator_list
,
i
,
value
);
asdl_seq_SET
(
decorator_list
,
i
,
value
);
}
}
Py_XDECREF
(
tmp
);
Py_XDECREF
(
tmp
);
...
@@ -3741,6 +3773,10 @@ obj2ast_stmt(PyObject* obj, stmt_ty* out, PyArena* arena)
...
@@ -3741,6 +3773,10 @@ obj2ast_stmt(PyObject* obj, stmt_ty* out, PyArena* arena)
expr_ty
value
;
expr_ty
value
;
res
=
obj2ast_expr
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
res
=
obj2ast_expr
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
if
(
res
!=
0
)
goto
failed
;
if
(
res
!=
0
)
goto
failed
;
if
(
len
!=
PyList_GET_SIZE
(
tmp
))
{
PyErr_SetString
(
PyExc_RuntimeError
,
"Delete field
\"
targets
\"
changed size during iteration"
);
goto
failed
;
}
asdl_seq_SET
(
targets
,
i
,
value
);
asdl_seq_SET
(
targets
,
i
,
value
);
}
}
Py_XDECREF
(
tmp
);
Py_XDECREF
(
tmp
);
...
@@ -3778,6 +3814,10 @@ obj2ast_stmt(PyObject* obj, stmt_ty* out, PyArena* arena)
...
@@ -3778,6 +3814,10 @@ obj2ast_stmt(PyObject* obj, stmt_ty* out, PyArena* arena)
expr_ty
value
;
expr_ty
value
;
res
=
obj2ast_expr
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
res
=
obj2ast_expr
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
if
(
res
!=
0
)
goto
failed
;
if
(
res
!=
0
)
goto
failed
;
if
(
len
!=
PyList_GET_SIZE
(
tmp
))
{
PyErr_SetString
(
PyExc_RuntimeError
,
"Assign field
\"
targets
\"
changed size during iteration"
);
goto
failed
;
}
asdl_seq_SET
(
targets
,
i
,
value
);
asdl_seq_SET
(
targets
,
i
,
value
);
}
}
Py_XDECREF
(
tmp
);
Py_XDECREF
(
tmp
);
...
@@ -3888,6 +3928,10 @@ obj2ast_stmt(PyObject* obj, stmt_ty* out, PyArena* arena)
...
@@ -3888,6 +3928,10 @@ obj2ast_stmt(PyObject* obj, stmt_ty* out, PyArena* arena)
expr_ty
value
;
expr_ty
value
;
res
=
obj2ast_expr
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
res
=
obj2ast_expr
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
if
(
res
!=
0
)
goto
failed
;
if
(
res
!=
0
)
goto
failed
;
if
(
len
!=
PyList_GET_SIZE
(
tmp
))
{
PyErr_SetString
(
PyExc_RuntimeError
,
"Print field
\"
values
\"
changed size during iteration"
);
goto
failed
;
}
asdl_seq_SET
(
values
,
i
,
value
);
asdl_seq_SET
(
values
,
i
,
value
);
}
}
Py_XDECREF
(
tmp
);
Py_XDECREF
(
tmp
);
...
@@ -3963,6 +4007,10 @@ obj2ast_stmt(PyObject* obj, stmt_ty* out, PyArena* arena)
...
@@ -3963,6 +4007,10 @@ obj2ast_stmt(PyObject* obj, stmt_ty* out, PyArena* arena)
stmt_ty
value
;
stmt_ty
value
;
res
=
obj2ast_stmt
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
res
=
obj2ast_stmt
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
if
(
res
!=
0
)
goto
failed
;
if
(
res
!=
0
)
goto
failed
;
if
(
len
!=
PyList_GET_SIZE
(
tmp
))
{
PyErr_SetString
(
PyExc_RuntimeError
,
"For field
\"
body
\"
changed size during iteration"
);
goto
failed
;
}
asdl_seq_SET
(
body
,
i
,
value
);
asdl_seq_SET
(
body
,
i
,
value
);
}
}
Py_XDECREF
(
tmp
);
Py_XDECREF
(
tmp
);
...
@@ -3988,6 +4036,10 @@ obj2ast_stmt(PyObject* obj, stmt_ty* out, PyArena* arena)
...
@@ -3988,6 +4036,10 @@ obj2ast_stmt(PyObject* obj, stmt_ty* out, PyArena* arena)
stmt_ty
value
;
stmt_ty
value
;
res
=
obj2ast_stmt
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
res
=
obj2ast_stmt
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
if
(
res
!=
0
)
goto
failed
;
if
(
res
!=
0
)
goto
failed
;
if
(
len
!=
PyList_GET_SIZE
(
tmp
))
{
PyErr_SetString
(
PyExc_RuntimeError
,
"For field
\"
orelse
\"
changed size during iteration"
);
goto
failed
;
}
asdl_seq_SET
(
orelse
,
i
,
value
);
asdl_seq_SET
(
orelse
,
i
,
value
);
}
}
Py_XDECREF
(
tmp
);
Py_XDECREF
(
tmp
);
...
@@ -4039,6 +4091,10 @@ obj2ast_stmt(PyObject* obj, stmt_ty* out, PyArena* arena)
...
@@ -4039,6 +4091,10 @@ obj2ast_stmt(PyObject* obj, stmt_ty* out, PyArena* arena)
stmt_ty
value
;
stmt_ty
value
;
res
=
obj2ast_stmt
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
res
=
obj2ast_stmt
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
if
(
res
!=
0
)
goto
failed
;
if
(
res
!=
0
)
goto
failed
;
if
(
len
!=
PyList_GET_SIZE
(
tmp
))
{
PyErr_SetString
(
PyExc_RuntimeError
,
"While field
\"
body
\"
changed size during iteration"
);
goto
failed
;
}
asdl_seq_SET
(
body
,
i
,
value
);
asdl_seq_SET
(
body
,
i
,
value
);
}
}
Py_XDECREF
(
tmp
);
Py_XDECREF
(
tmp
);
...
@@ -4064,6 +4120,10 @@ obj2ast_stmt(PyObject* obj, stmt_ty* out, PyArena* arena)
...
@@ -4064,6 +4120,10 @@ obj2ast_stmt(PyObject* obj, stmt_ty* out, PyArena* arena)
stmt_ty
value
;
stmt_ty
value
;
res
=
obj2ast_stmt
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
res
=
obj2ast_stmt
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
if
(
res
!=
0
)
goto
failed
;
if
(
res
!=
0
)
goto
failed
;
if
(
len
!=
PyList_GET_SIZE
(
tmp
))
{
PyErr_SetString
(
PyExc_RuntimeError
,
"While field
\"
orelse
\"
changed size during iteration"
);
goto
failed
;
}
asdl_seq_SET
(
orelse
,
i
,
value
);
asdl_seq_SET
(
orelse
,
i
,
value
);
}
}
Py_XDECREF
(
tmp
);
Py_XDECREF
(
tmp
);
...
@@ -4114,6 +4174,10 @@ obj2ast_stmt(PyObject* obj, stmt_ty* out, PyArena* arena)
...
@@ -4114,6 +4174,10 @@ obj2ast_stmt(PyObject* obj, stmt_ty* out, PyArena* arena)
stmt_ty
value
;
stmt_ty
value
;
res
=
obj2ast_stmt
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
res
=
obj2ast_stmt
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
if
(
res
!=
0
)
goto
failed
;
if
(
res
!=
0
)
goto
failed
;
if
(
len
!=
PyList_GET_SIZE
(
tmp
))
{
PyErr_SetString
(
PyExc_RuntimeError
,
"If field
\"
body
\"
changed size during iteration"
);
goto
failed
;
}
asdl_seq_SET
(
body
,
i
,
value
);
asdl_seq_SET
(
body
,
i
,
value
);
}
}
Py_XDECREF
(
tmp
);
Py_XDECREF
(
tmp
);
...
@@ -4139,6 +4203,10 @@ obj2ast_stmt(PyObject* obj, stmt_ty* out, PyArena* arena)
...
@@ -4139,6 +4203,10 @@ obj2ast_stmt(PyObject* obj, stmt_ty* out, PyArena* arena)
stmt_ty
value
;
stmt_ty
value
;
res
=
obj2ast_stmt
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
res
=
obj2ast_stmt
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
if
(
res
!=
0
)
goto
failed
;
if
(
res
!=
0
)
goto
failed
;
if
(
len
!=
PyList_GET_SIZE
(
tmp
))
{
PyErr_SetString
(
PyExc_RuntimeError
,
"If field
\"
orelse
\"
changed size during iteration"
);
goto
failed
;
}
asdl_seq_SET
(
orelse
,
i
,
value
);
asdl_seq_SET
(
orelse
,
i
,
value
);
}
}
Py_XDECREF
(
tmp
);
Py_XDECREF
(
tmp
);
...
@@ -4200,6 +4268,10 @@ obj2ast_stmt(PyObject* obj, stmt_ty* out, PyArena* arena)
...
@@ -4200,6 +4268,10 @@ obj2ast_stmt(PyObject* obj, stmt_ty* out, PyArena* arena)
stmt_ty
value
;
stmt_ty
value
;
res
=
obj2ast_stmt
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
res
=
obj2ast_stmt
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
if
(
res
!=
0
)
goto
failed
;
if
(
res
!=
0
)
goto
failed
;
if
(
len
!=
PyList_GET_SIZE
(
tmp
))
{
PyErr_SetString
(
PyExc_RuntimeError
,
"With field
\"
body
\"
changed size during iteration"
);
goto
failed
;
}
asdl_seq_SET
(
body
,
i
,
value
);
asdl_seq_SET
(
body
,
i
,
value
);
}
}
Py_XDECREF
(
tmp
);
Py_XDECREF
(
tmp
);
...
@@ -4285,6 +4357,10 @@ obj2ast_stmt(PyObject* obj, stmt_ty* out, PyArena* arena)
...
@@ -4285,6 +4357,10 @@ obj2ast_stmt(PyObject* obj, stmt_ty* out, PyArena* arena)
stmt_ty
value
;
stmt_ty
value
;
res
=
obj2ast_stmt
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
res
=
obj2ast_stmt
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
if
(
res
!=
0
)
goto
failed
;
if
(
res
!=
0
)
goto
failed
;
if
(
len
!=
PyList_GET_SIZE
(
tmp
))
{
PyErr_SetString
(
PyExc_RuntimeError
,
"TryExcept field
\"
body
\"
changed size during iteration"
);
goto
failed
;
}
asdl_seq_SET
(
body
,
i
,
value
);
asdl_seq_SET
(
body
,
i
,
value
);
}
}
Py_XDECREF
(
tmp
);
Py_XDECREF
(
tmp
);
...
@@ -4310,6 +4386,10 @@ obj2ast_stmt(PyObject* obj, stmt_ty* out, PyArena* arena)
...
@@ -4310,6 +4386,10 @@ obj2ast_stmt(PyObject* obj, stmt_ty* out, PyArena* arena)
excepthandler_ty
value
;
excepthandler_ty
value
;
res
=
obj2ast_excepthandler
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
res
=
obj2ast_excepthandler
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
if
(
res
!=
0
)
goto
failed
;
if
(
res
!=
0
)
goto
failed
;
if
(
len
!=
PyList_GET_SIZE
(
tmp
))
{
PyErr_SetString
(
PyExc_RuntimeError
,
"TryExcept field
\"
handlers
\"
changed size during iteration"
);
goto
failed
;
}
asdl_seq_SET
(
handlers
,
i
,
value
);
asdl_seq_SET
(
handlers
,
i
,
value
);
}
}
Py_XDECREF
(
tmp
);
Py_XDECREF
(
tmp
);
...
@@ -4335,6 +4415,10 @@ obj2ast_stmt(PyObject* obj, stmt_ty* out, PyArena* arena)
...
@@ -4335,6 +4415,10 @@ obj2ast_stmt(PyObject* obj, stmt_ty* out, PyArena* arena)
stmt_ty
value
;
stmt_ty
value
;
res
=
obj2ast_stmt
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
res
=
obj2ast_stmt
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
if
(
res
!=
0
)
goto
failed
;
if
(
res
!=
0
)
goto
failed
;
if
(
len
!=
PyList_GET_SIZE
(
tmp
))
{
PyErr_SetString
(
PyExc_RuntimeError
,
"TryExcept field
\"
orelse
\"
changed size during iteration"
);
goto
failed
;
}
asdl_seq_SET
(
orelse
,
i
,
value
);
asdl_seq_SET
(
orelse
,
i
,
value
);
}
}
Py_XDECREF
(
tmp
);
Py_XDECREF
(
tmp
);
...
@@ -4373,6 +4457,10 @@ obj2ast_stmt(PyObject* obj, stmt_ty* out, PyArena* arena)
...
@@ -4373,6 +4457,10 @@ obj2ast_stmt(PyObject* obj, stmt_ty* out, PyArena* arena)
stmt_ty
value
;
stmt_ty
value
;
res
=
obj2ast_stmt
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
res
=
obj2ast_stmt
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
if
(
res
!=
0
)
goto
failed
;
if
(
res
!=
0
)
goto
failed
;
if
(
len
!=
PyList_GET_SIZE
(
tmp
))
{
PyErr_SetString
(
PyExc_RuntimeError
,
"TryFinally field
\"
body
\"
changed size during iteration"
);
goto
failed
;
}
asdl_seq_SET
(
body
,
i
,
value
);
asdl_seq_SET
(
body
,
i
,
value
);
}
}
Py_XDECREF
(
tmp
);
Py_XDECREF
(
tmp
);
...
@@ -4398,6 +4486,10 @@ obj2ast_stmt(PyObject* obj, stmt_ty* out, PyArena* arena)
...
@@ -4398,6 +4486,10 @@ obj2ast_stmt(PyObject* obj, stmt_ty* out, PyArena* arena)
stmt_ty
value
;
stmt_ty
value
;
res
=
obj2ast_stmt
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
res
=
obj2ast_stmt
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
if
(
res
!=
0
)
goto
failed
;
if
(
res
!=
0
)
goto
failed
;
if
(
len
!=
PyList_GET_SIZE
(
tmp
))
{
PyErr_SetString
(
PyExc_RuntimeError
,
"TryFinally field
\"
finalbody
\"
changed size during iteration"
);
goto
failed
;
}
asdl_seq_SET
(
finalbody
,
i
,
value
);
asdl_seq_SET
(
finalbody
,
i
,
value
);
}
}
Py_XDECREF
(
tmp
);
Py_XDECREF
(
tmp
);
...
@@ -4469,6 +4561,10 @@ obj2ast_stmt(PyObject* obj, stmt_ty* out, PyArena* arena)
...
@@ -4469,6 +4561,10 @@ obj2ast_stmt(PyObject* obj, stmt_ty* out, PyArena* arena)
alias_ty
value
;
alias_ty
value
;
res
=
obj2ast_alias
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
res
=
obj2ast_alias
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
if
(
res
!=
0
)
goto
failed
;
if
(
res
!=
0
)
goto
failed
;
if
(
len
!=
PyList_GET_SIZE
(
tmp
))
{
PyErr_SetString
(
PyExc_RuntimeError
,
"Import field
\"
names
\"
changed size during iteration"
);
goto
failed
;
}
asdl_seq_SET
(
names
,
i
,
value
);
asdl_seq_SET
(
names
,
i
,
value
);
}
}
Py_XDECREF
(
tmp
);
Py_XDECREF
(
tmp
);
...
@@ -4518,6 +4614,10 @@ obj2ast_stmt(PyObject* obj, stmt_ty* out, PyArena* arena)
...
@@ -4518,6 +4614,10 @@ obj2ast_stmt(PyObject* obj, stmt_ty* out, PyArena* arena)
alias_ty
value
;
alias_ty
value
;
res
=
obj2ast_alias
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
res
=
obj2ast_alias
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
if
(
res
!=
0
)
goto
failed
;
if
(
res
!=
0
)
goto
failed
;
if
(
len
!=
PyList_GET_SIZE
(
tmp
))
{
PyErr_SetString
(
PyExc_RuntimeError
,
"ImportFrom field
\"
names
\"
changed size during iteration"
);
goto
failed
;
}
asdl_seq_SET
(
names
,
i
,
value
);
asdl_seq_SET
(
names
,
i
,
value
);
}
}
Py_XDECREF
(
tmp
);
Py_XDECREF
(
tmp
);
...
@@ -4613,6 +4713,10 @@ obj2ast_stmt(PyObject* obj, stmt_ty* out, PyArena* arena)
...
@@ -4613,6 +4713,10 @@ obj2ast_stmt(PyObject* obj, stmt_ty* out, PyArena* arena)
identifier
value
;
identifier
value
;
res
=
obj2ast_identifier
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
res
=
obj2ast_identifier
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
if
(
res
!=
0
)
goto
failed
;
if
(
res
!=
0
)
goto
failed
;
if
(
len
!=
PyList_GET_SIZE
(
tmp
))
{
PyErr_SetString
(
PyExc_RuntimeError
,
"Global field
\"
names
\"
changed size during iteration"
);
goto
failed
;
}
asdl_seq_SET
(
names
,
i
,
value
);
asdl_seq_SET
(
names
,
i
,
value
);
}
}
Py_XDECREF
(
tmp
);
Py_XDECREF
(
tmp
);
...
@@ -4761,6 +4865,10 @@ obj2ast_expr(PyObject* obj, expr_ty* out, PyArena* arena)
...
@@ -4761,6 +4865,10 @@ obj2ast_expr(PyObject* obj, expr_ty* out, PyArena* arena)
expr_ty
value
;
expr_ty
value
;
res
=
obj2ast_expr
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
res
=
obj2ast_expr
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
if
(
res
!=
0
)
goto
failed
;
if
(
res
!=
0
)
goto
failed
;
if
(
len
!=
PyList_GET_SIZE
(
tmp
))
{
PyErr_SetString
(
PyExc_RuntimeError
,
"BoolOp field
\"
values
\"
changed size during iteration"
);
goto
failed
;
}
asdl_seq_SET
(
values
,
i
,
value
);
asdl_seq_SET
(
values
,
i
,
value
);
}
}
Py_XDECREF
(
tmp
);
Py_XDECREF
(
tmp
);
...
@@ -4968,6 +5076,10 @@ obj2ast_expr(PyObject* obj, expr_ty* out, PyArena* arena)
...
@@ -4968,6 +5076,10 @@ obj2ast_expr(PyObject* obj, expr_ty* out, PyArena* arena)
expr_ty
value
;
expr_ty
value
;
res
=
obj2ast_expr
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
res
=
obj2ast_expr
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
if
(
res
!=
0
)
goto
failed
;
if
(
res
!=
0
)
goto
failed
;
if
(
len
!=
PyList_GET_SIZE
(
tmp
))
{
PyErr_SetString
(
PyExc_RuntimeError
,
"Dict field
\"
keys
\"
changed size during iteration"
);
goto
failed
;
}
asdl_seq_SET
(
keys
,
i
,
value
);
asdl_seq_SET
(
keys
,
i
,
value
);
}
}
Py_XDECREF
(
tmp
);
Py_XDECREF
(
tmp
);
...
@@ -4993,6 +5105,10 @@ obj2ast_expr(PyObject* obj, expr_ty* out, PyArena* arena)
...
@@ -4993,6 +5105,10 @@ obj2ast_expr(PyObject* obj, expr_ty* out, PyArena* arena)
expr_ty
value
;
expr_ty
value
;
res
=
obj2ast_expr
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
res
=
obj2ast_expr
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
if
(
res
!=
0
)
goto
failed
;
if
(
res
!=
0
)
goto
failed
;
if
(
len
!=
PyList_GET_SIZE
(
tmp
))
{
PyErr_SetString
(
PyExc_RuntimeError
,
"Dict field
\"
values
\"
changed size during iteration"
);
goto
failed
;
}
asdl_seq_SET
(
values
,
i
,
value
);
asdl_seq_SET
(
values
,
i
,
value
);
}
}
Py_XDECREF
(
tmp
);
Py_XDECREF
(
tmp
);
...
@@ -5029,6 +5145,10 @@ obj2ast_expr(PyObject* obj, expr_ty* out, PyArena* arena)
...
@@ -5029,6 +5145,10 @@ obj2ast_expr(PyObject* obj, expr_ty* out, PyArena* arena)
expr_ty
value
;
expr_ty
value
;
res
=
obj2ast_expr
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
res
=
obj2ast_expr
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
if
(
res
!=
0
)
goto
failed
;
if
(
res
!=
0
)
goto
failed
;
if
(
len
!=
PyList_GET_SIZE
(
tmp
))
{
PyErr_SetString
(
PyExc_RuntimeError
,
"Set field
\"
elts
\"
changed size during iteration"
);
goto
failed
;
}
asdl_seq_SET
(
elts
,
i
,
value
);
asdl_seq_SET
(
elts
,
i
,
value
);
}
}
Py_XDECREF
(
tmp
);
Py_XDECREF
(
tmp
);
...
@@ -5078,6 +5198,10 @@ obj2ast_expr(PyObject* obj, expr_ty* out, PyArena* arena)
...
@@ -5078,6 +5198,10 @@ obj2ast_expr(PyObject* obj, expr_ty* out, PyArena* arena)
comprehension_ty
value
;
comprehension_ty
value
;
res
=
obj2ast_comprehension
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
res
=
obj2ast_comprehension
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
if
(
res
!=
0
)
goto
failed
;
if
(
res
!=
0
)
goto
failed
;
if
(
len
!=
PyList_GET_SIZE
(
tmp
))
{
PyErr_SetString
(
PyExc_RuntimeError
,
"ListComp field
\"
generators
\"
changed size during iteration"
);
goto
failed
;
}
asdl_seq_SET
(
generators
,
i
,
value
);
asdl_seq_SET
(
generators
,
i
,
value
);
}
}
Py_XDECREF
(
tmp
);
Py_XDECREF
(
tmp
);
...
@@ -5127,6 +5251,10 @@ obj2ast_expr(PyObject* obj, expr_ty* out, PyArena* arena)
...
@@ -5127,6 +5251,10 @@ obj2ast_expr(PyObject* obj, expr_ty* out, PyArena* arena)
comprehension_ty
value
;
comprehension_ty
value
;
res
=
obj2ast_comprehension
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
res
=
obj2ast_comprehension
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
if
(
res
!=
0
)
goto
failed
;
if
(
res
!=
0
)
goto
failed
;
if
(
len
!=
PyList_GET_SIZE
(
tmp
))
{
PyErr_SetString
(
PyExc_RuntimeError
,
"SetComp field
\"
generators
\"
changed size during iteration"
);
goto
failed
;
}
asdl_seq_SET
(
generators
,
i
,
value
);
asdl_seq_SET
(
generators
,
i
,
value
);
}
}
Py_XDECREF
(
tmp
);
Py_XDECREF
(
tmp
);
...
@@ -5189,6 +5317,10 @@ obj2ast_expr(PyObject* obj, expr_ty* out, PyArena* arena)
...
@@ -5189,6 +5317,10 @@ obj2ast_expr(PyObject* obj, expr_ty* out, PyArena* arena)
comprehension_ty
value
;
comprehension_ty
value
;
res
=
obj2ast_comprehension
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
res
=
obj2ast_comprehension
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
if
(
res
!=
0
)
goto
failed
;
if
(
res
!=
0
)
goto
failed
;
if
(
len
!=
PyList_GET_SIZE
(
tmp
))
{
PyErr_SetString
(
PyExc_RuntimeError
,
"DictComp field
\"
generators
\"
changed size during iteration"
);
goto
failed
;
}
asdl_seq_SET
(
generators
,
i
,
value
);
asdl_seq_SET
(
generators
,
i
,
value
);
}
}
Py_XDECREF
(
tmp
);
Py_XDECREF
(
tmp
);
...
@@ -5239,6 +5371,10 @@ obj2ast_expr(PyObject* obj, expr_ty* out, PyArena* arena)
...
@@ -5239,6 +5371,10 @@ obj2ast_expr(PyObject* obj, expr_ty* out, PyArena* arena)
comprehension_ty
value
;
comprehension_ty
value
;
res
=
obj2ast_comprehension
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
res
=
obj2ast_comprehension
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
if
(
res
!=
0
)
goto
failed
;
if
(
res
!=
0
)
goto
failed
;
if
(
len
!=
PyList_GET_SIZE
(
tmp
))
{
PyErr_SetString
(
PyExc_RuntimeError
,
"GeneratorExp field
\"
generators
\"
changed size during iteration"
);
goto
failed
;
}
asdl_seq_SET
(
generators
,
i
,
value
);
asdl_seq_SET
(
generators
,
i
,
value
);
}
}
Py_XDECREF
(
tmp
);
Py_XDECREF
(
tmp
);
...
@@ -5311,6 +5447,10 @@ obj2ast_expr(PyObject* obj, expr_ty* out, PyArena* arena)
...
@@ -5311,6 +5447,10 @@ obj2ast_expr(PyObject* obj, expr_ty* out, PyArena* arena)
cmpop_ty
value
;
cmpop_ty
value
;
res
=
obj2ast_cmpop
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
res
=
obj2ast_cmpop
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
if
(
res
!=
0
)
goto
failed
;
if
(
res
!=
0
)
goto
failed
;
if
(
len
!=
PyList_GET_SIZE
(
tmp
))
{
PyErr_SetString
(
PyExc_RuntimeError
,
"Compare field
\"
ops
\"
changed size during iteration"
);
goto
failed
;
}
asdl_seq_SET
(
ops
,
i
,
value
);
asdl_seq_SET
(
ops
,
i
,
value
);
}
}
Py_XDECREF
(
tmp
);
Py_XDECREF
(
tmp
);
...
@@ -5336,6 +5476,10 @@ obj2ast_expr(PyObject* obj, expr_ty* out, PyArena* arena)
...
@@ -5336,6 +5476,10 @@ obj2ast_expr(PyObject* obj, expr_ty* out, PyArena* arena)
expr_ty
value
;
expr_ty
value
;
res
=
obj2ast_expr
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
res
=
obj2ast_expr
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
if
(
res
!=
0
)
goto
failed
;
if
(
res
!=
0
)
goto
failed
;
if
(
len
!=
PyList_GET_SIZE
(
tmp
))
{
PyErr_SetString
(
PyExc_RuntimeError
,
"Compare field
\"
comparators
\"
changed size during iteration"
);
goto
failed
;
}
asdl_seq_SET
(
comparators
,
i
,
value
);
asdl_seq_SET
(
comparators
,
i
,
value
);
}
}
Py_XDECREF
(
tmp
);
Py_XDECREF
(
tmp
);
...
@@ -5389,6 +5533,10 @@ obj2ast_expr(PyObject* obj, expr_ty* out, PyArena* arena)
...
@@ -5389,6 +5533,10 @@ obj2ast_expr(PyObject* obj, expr_ty* out, PyArena* arena)
expr_ty
value
;
expr_ty
value
;
res
=
obj2ast_expr
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
res
=
obj2ast_expr
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
if
(
res
!=
0
)
goto
failed
;
if
(
res
!=
0
)
goto
failed
;
if
(
len
!=
PyList_GET_SIZE
(
tmp
))
{
PyErr_SetString
(
PyExc_RuntimeError
,
"Call field
\"
args
\"
changed size during iteration"
);
goto
failed
;
}
asdl_seq_SET
(
args
,
i
,
value
);
asdl_seq_SET
(
args
,
i
,
value
);
}
}
Py_XDECREF
(
tmp
);
Py_XDECREF
(
tmp
);
...
@@ -5414,6 +5562,10 @@ obj2ast_expr(PyObject* obj, expr_ty* out, PyArena* arena)
...
@@ -5414,6 +5562,10 @@ obj2ast_expr(PyObject* obj, expr_ty* out, PyArena* arena)
keyword_ty
value
;
keyword_ty
value
;
res
=
obj2ast_keyword
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
res
=
obj2ast_keyword
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
if
(
res
!=
0
)
goto
failed
;
if
(
res
!=
0
)
goto
failed
;
if
(
len
!=
PyList_GET_SIZE
(
tmp
))
{
PyErr_SetString
(
PyExc_RuntimeError
,
"Call field
\"
keywords
\"
changed size during iteration"
);
goto
failed
;
}
asdl_seq_SET
(
keywords
,
i
,
value
);
asdl_seq_SET
(
keywords
,
i
,
value
);
}
}
Py_XDECREF
(
tmp
);
Py_XDECREF
(
tmp
);
...
@@ -5677,6 +5829,10 @@ obj2ast_expr(PyObject* obj, expr_ty* out, PyArena* arena)
...
@@ -5677,6 +5829,10 @@ obj2ast_expr(PyObject* obj, expr_ty* out, PyArena* arena)
expr_ty
value
;
expr_ty
value
;
res
=
obj2ast_expr
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
res
=
obj2ast_expr
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
if
(
res
!=
0
)
goto
failed
;
if
(
res
!=
0
)
goto
failed
;
if
(
len
!=
PyList_GET_SIZE
(
tmp
))
{
PyErr_SetString
(
PyExc_RuntimeError
,
"List field
\"
elts
\"
changed size during iteration"
);
goto
failed
;
}
asdl_seq_SET
(
elts
,
i
,
value
);
asdl_seq_SET
(
elts
,
i
,
value
);
}
}
Py_XDECREF
(
tmp
);
Py_XDECREF
(
tmp
);
...
@@ -5726,6 +5882,10 @@ obj2ast_expr(PyObject* obj, expr_ty* out, PyArena* arena)
...
@@ -5726,6 +5882,10 @@ obj2ast_expr(PyObject* obj, expr_ty* out, PyArena* arena)
expr_ty
value
;
expr_ty
value
;
res
=
obj2ast_expr
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
res
=
obj2ast_expr
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
if
(
res
!=
0
)
goto
failed
;
if
(
res
!=
0
)
goto
failed
;
if
(
len
!=
PyList_GET_SIZE
(
tmp
))
{
PyErr_SetString
(
PyExc_RuntimeError
,
"Tuple field
\"
elts
\"
changed size during iteration"
);
goto
failed
;
}
asdl_seq_SET
(
elts
,
i
,
value
);
asdl_seq_SET
(
elts
,
i
,
value
);
}
}
Py_XDECREF
(
tmp
);
Py_XDECREF
(
tmp
);
...
@@ -5913,6 +6073,10 @@ obj2ast_slice(PyObject* obj, slice_ty* out, PyArena* arena)
...
@@ -5913,6 +6073,10 @@ obj2ast_slice(PyObject* obj, slice_ty* out, PyArena* arena)
slice_ty
value
;
slice_ty
value
;
res
=
obj2ast_slice
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
res
=
obj2ast_slice
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
if
(
res
!=
0
)
goto
failed
;
if
(
res
!=
0
)
goto
failed
;
if
(
len
!=
PyList_GET_SIZE
(
tmp
))
{
PyErr_SetString
(
PyExc_RuntimeError
,
"ExtSlice field
\"
dims
\"
changed size during iteration"
);
goto
failed
;
}
asdl_seq_SET
(
dims
,
i
,
value
);
asdl_seq_SET
(
dims
,
i
,
value
);
}
}
Py_XDECREF
(
tmp
);
Py_XDECREF
(
tmp
);
...
@@ -6290,6 +6454,10 @@ obj2ast_comprehension(PyObject* obj, comprehension_ty* out, PyArena* arena)
...
@@ -6290,6 +6454,10 @@ obj2ast_comprehension(PyObject* obj, comprehension_ty* out, PyArena* arena)
expr_ty
value
;
expr_ty
value
;
res
=
obj2ast_expr
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
res
=
obj2ast_expr
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
if
(
res
!=
0
)
goto
failed
;
if
(
res
!=
0
)
goto
failed
;
if
(
len
!=
PyList_GET_SIZE
(
tmp
))
{
PyErr_SetString
(
PyExc_RuntimeError
,
"comprehension field
\"
ifs
\"
changed size during iteration"
);
goto
failed
;
}
asdl_seq_SET
(
ifs
,
i
,
value
);
asdl_seq_SET
(
ifs
,
i
,
value
);
}
}
Py_XDECREF
(
tmp
);
Py_XDECREF
(
tmp
);
...
@@ -6390,6 +6558,10 @@ obj2ast_excepthandler(PyObject* obj, excepthandler_ty* out, PyArena* arena)
...
@@ -6390,6 +6558,10 @@ obj2ast_excepthandler(PyObject* obj, excepthandler_ty* out, PyArena* arena)
stmt_ty
value
;
stmt_ty
value
;
res
=
obj2ast_stmt
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
res
=
obj2ast_stmt
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
if
(
res
!=
0
)
goto
failed
;
if
(
res
!=
0
)
goto
failed
;
if
(
len
!=
PyList_GET_SIZE
(
tmp
))
{
PyErr_SetString
(
PyExc_RuntimeError
,
"ExceptHandler field
\"
body
\"
changed size during iteration"
);
goto
failed
;
}
asdl_seq_SET
(
body
,
i
,
value
);
asdl_seq_SET
(
body
,
i
,
value
);
}
}
Py_XDECREF
(
tmp
);
Py_XDECREF
(
tmp
);
...
@@ -6438,6 +6610,10 @@ obj2ast_arguments(PyObject* obj, arguments_ty* out, PyArena* arena)
...
@@ -6438,6 +6610,10 @@ obj2ast_arguments(PyObject* obj, arguments_ty* out, PyArena* arena)
expr_ty
value
;
expr_ty
value
;
res
=
obj2ast_expr
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
res
=
obj2ast_expr
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
if
(
res
!=
0
)
goto
failed
;
if
(
res
!=
0
)
goto
failed
;
if
(
len
!=
PyList_GET_SIZE
(
tmp
))
{
PyErr_SetString
(
PyExc_RuntimeError
,
"arguments field
\"
args
\"
changed size during iteration"
);
goto
failed
;
}
asdl_seq_SET
(
args
,
i
,
value
);
asdl_seq_SET
(
args
,
i
,
value
);
}
}
Py_XDECREF
(
tmp
);
Py_XDECREF
(
tmp
);
...
@@ -6485,6 +6661,10 @@ obj2ast_arguments(PyObject* obj, arguments_ty* out, PyArena* arena)
...
@@ -6485,6 +6661,10 @@ obj2ast_arguments(PyObject* obj, arguments_ty* out, PyArena* arena)
expr_ty
value
;
expr_ty
value
;
res
=
obj2ast_expr
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
res
=
obj2ast_expr
(
PyList_GET_ITEM
(
tmp
,
i
),
&
value
,
arena
);
if
(
res
!=
0
)
goto
failed
;
if
(
res
!=
0
)
goto
failed
;
if
(
len
!=
PyList_GET_SIZE
(
tmp
))
{
PyErr_SetString
(
PyExc_RuntimeError
,
"arguments field
\"
defaults
\"
changed size during iteration"
);
goto
failed
;
}
asdl_seq_SET
(
defaults
,
i
,
value
);
asdl_seq_SET
(
defaults
,
i
,
value
);
}
}
Py_XDECREF
(
tmp
);
Py_XDECREF
(
tmp
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment