Вопросы по теме '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 просмотров
schedule
30.03.2024
Сбой отражающего инструментария 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 просмотров
schedule
23.07.2022
Как получить значение времени выполнения параметра, переданного в макрос Scala?
У меня есть якобы простая проблема с макросами, о которой я бился головой в течение нескольких часов, но безуспешно. Возможно, вам поможет кто-нибудь с большим опытом.
У меня такой макрос:
import scala.language.experimental.macros
import...
499 просмотров
schedule
27.03.2022
Хранение длинных сопоставителей квазикотировок в переменной
Я стараюсь избегать повторения длинных квазикавычек в матчах. Итак, я хотел бы преобразовать это:
def appendTree(clazz: ClassDef, tree: Tree): ClassDef =
clazz match {
case q"$mods class $tpname[..$tparams] $ctorMods(...$paramss)...
73 просмотров
schedule
23.04.2023
MacroAnnotation для удаления аннотации из члена типа метода
Я учусь писать макросы Scala и написал аннотацию макроса, которая удаляет аннотацию из параметра типа аннотированной функции. Вот.
Аннотация для удаления :
class garbage extends StaticAnnotation
Реализация макроса для удаления аннотации :...
55 просмотров
schedule
04.07.2023