Вопросы по теме 'scala-quasiquotes'

Объединение переданного тела функции в выражение, переписанное макросом
Я играл с новыми функциями макросов Scala 2.11. Я хотел посмотреть, смогу ли я сделать следующее переписывание: forRange(0 to 10) { i => println(i) } // into val iter = (0 to 10).iterator while (iter.hasNext) { val i = iter.next...
848 просмотров

Сбой отражающего инструментария Scala из-за неразрешенного свободного типа
Попытка квазикавычек в первый раз для общего создания новых классов case: val universe: scala.reflect.runtime.universe.type = scala.reflect.runtime.universe import universe._ import scala.reflect.runtime.{currentMirror => m} import...
240 просмотров
schedule 16.10.2023

объединить `Tree` и `List[Tree]` в отражении времени компиляции scala
У меня есть макрос scala, который создает конструктор для класса на лету. Так, например, если у нас есть класс case class PersonConfig(name: String, age: Int, isFemale: Boolean) . У меня есть древовидная структура для имени класса и аргументы,...
194 просмотров

Как получить значение времени выполнения параметра, переданного в макрос Scala?
У меня есть якобы простая проблема с макросами, о которой я бился головой в течение нескольких часов, но безуспешно. Возможно, вам поможет кто-нибудь с большим опытом. У меня такой макрос: import scala.language.experimental.macros import...
499 просмотров

Хранение длинных сопоставителей квазикотировок в переменной
Я стараюсь избегать повторения длинных квазикавычек в матчах. Итак, я хотел бы преобразовать это: def appendTree(clazz: ClassDef, tree: Tree): ClassDef = clazz match { case q"$mods class $tpname[..$tparams] $ctorMods(...$paramss)...
73 просмотров

MacroAnnotation для удаления аннотации из члена типа метода
Я учусь писать макросы Scala и написал аннотацию макроса, которая удаляет аннотацию из параметра типа аннотированной функции. Вот. Аннотация для удаления : class garbage extends StaticAnnotation Реализация макроса для удаления аннотации :...
55 просмотров