Как напрямую создавать файлы .tasty?

Я знаю, как проверить файл scala 3 .tasty, как описано здесь 1 2 . Однако я хотел бы пойти и другим путем, с целью создания одного или нескольких объектов и классов Scala на основе входного файла Scala. Процитированный интерфейс (как описано здесь: 3) кажется очень эргономичным. Но мне не ясно, как этого добиться. Кажется, не существует стандартного интерфейса для создания файлов .tasty, не говоря уже о интерфейсе, указанном в кавычках. Может ли кто-нибудь указать мне в правильном направлении? Я чувствую, что, возможно, мне придется написать генерацию кода в виде макроса, но тогда мне неясно, как вызвать этот макрос в AST, загруженном через интерфейс Tasty Inspector.

Я знаю, что могу также использовать для этого, например, ScalaMeta 4 . Однако я бы предпочел использовать что-то встроенное в язык. Кроме того, средства генерации кода в кавычках более мощны, чем генерация кода на основе строк из ScalaMeta. Наконец, ScalaMeta можно использовать из Scala 3, но это не обычная зависимость и требует некоторых хитростей для импорта, от которых мне бы хотелось держаться подальше (правда, зависимость от нестабильного API Scala 3 тоже не очень хороша...).

0 ответов

Другие вопросы по тегам