Столкнулся с необходимостью применить DevAlienTool.Analyze.
Внезапно оно зависло.
Нашёл единственное место, где цикл:
Код:
n := 0;
WHILE (c # NIL) & (n < 1) DO
WITH c: Stores.AlienPiece DO
Indent(form, level); form.WriteInt(c.len); form.WriteString(" bytes data"); form.WriteLn
| c: Stores.AlienPart DO
IF c.store # NIL THEN
Out(form, level, c.store)
ELSE Indent(form, level); form.WriteString("NIL reference"); form.WriteLn
END
END;
c := c.next;
INC(n)
END;
Добавил, как видно выше, счётчик.
В варианте 1 итерации не виснет. Уже на второй - виснет.
Подозрение на то, что у них ворочаются в Out складки. Может быть, что-то поменялось в реализации складок, что на последовательности частично сформированных складок оно виснет.