Я пытаюсь реализовать библиотеку, которая обеспечивает NodeVisitor (или некоторый другой вид цикла), который предоставляет набор функций, которые предполагаются как асинхронные (представьте, что они будут ссылками в nodejs), такие как mysql_query, fwrite, fopen и т. д., делает:
Создайте реестр (это то, что я уже сделал), который зацикливается в каждой функции / классе и:
а затем (об этом мой вопрос) зациклите AST и пометите каждый метод функции / класса как:
Мой вопрос: что было бы эффективным способом сделать цикл, чтобы назначить, если синхронизация, async o, возможно, для функции? Проблема в том, что состояние функции зависит от состояния другой функции, которое может быть даже в циклической зависимости, поэтому, если я изменю функцию на асинхронную, все функции, которые ее используют, должны быть заменены на асинхронные, а не только на первого родителя; все родители до корневой программы. Если возможно, я бы хотел избежать циклов while! 🙂
Спасибо за любую помощь!
Задача ещё не решена.
Других решений пока нет …