Merge pull request #2507 from tausbn/python-fix-infinite-tuple-tostring

Python: Fix divergence in tuple `toString`.
This commit is contained in:
Rasmus Wriedt Larsen 2020-01-27 11:14:44 +01:00 коммит произвёл GitHub
Родитель 8a6de11268 3cebffe820
Коммит 1ce77ff600
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
1 изменённых файлов: 7 добавлений и 1 удалений

Просмотреть файл

@ -53,7 +53,13 @@ abstract class TupleObjectInternal extends SequenceObjectInternal {
}
private string item(int n) {
result = this.getItem(n).toString()
exists(ObjectInternal item | item = this.getItem(n) |
// To avoid infinite recursion, nested tuples are replaced with the string "...".
if item instanceof TupleObjectInternal then
result = "(...)"
else
result = item.toString()
)
or
n in [0..this.length()-1] and
not exists(this.getItem(n)) and result = "?"