Описание тега scalameta
Для метапрограммирования на Scala с использованием библиотеки Scalameta
1
ответ
Макро-аннотация для переопределения toString функции Scala
Как написать аннотацию макроса, которая выглядит как использование @named("+2") _ + 2 и производит: new (Int => Int) { override def toString(): String = "+2" def apply(x: Int): Int = x + 2 }
11 фев '16 в 11:34
0
ответов
Получение SemanticDocument из исходного файла Scala с использованием ScalaFix
Каковы этапы разбора исходного файла Scala в SemanticDocument с помощью ScalaFix?
16 дек '18 в 23:58
1
ответ
Как объединить несколько операций импорта в scala?
Предположим, у меня есть библиотека a.com. Каждый раз и в каждом файле мне нужно импортировать много пакетов, например import a.com._ import a.com.b._ import a.com.c import a.com.Implicits._ Я не хочу каждый раз писать этот код в каждом файле другог…
25 окт '19 в 19:17
1
ответ
В scala 2 или 3 можно ли отлаживать процесс неявного разрешения во время выполнения?
В языке Scala неявное разрешение часто выполняется во время компиляции и иногда выдает запутывающую информацию об ошибке, один известный пример такой ошибки - это когда shapeless Generic выдает информацию об ошибке, например: error: could not find i…
16 дек '19 в 00:43
1
ответ
scala.meta родительский объект Defn.Object
Пусть это будет следующая иерархия: object X extends Y{ ... } trait Y extends Z { ... } trait Z { def run(): Unit } Я разбираю файл scala, содержащий X а также Я хочу знать, является ли его родитель или дедушка или бабушка Z. Я могу проверить родите…
11 июл '20 в 03:33
2
ответа
Условная компиляция Scala
Я пишу программу на Scala и хочу, чтобы она работала с двумя версиями большой библиотеки. Версия 2 этой большой библиотеки изменяет API очень незначительно (только одна сигнатура конструктора класса имеет дополнительный параметр). // Lib v1 class AP…
14 май '20 в 14:46
1
ответ
Можно ли с помощью макроса изменить сгенерированный код вызова экземпляра структурной типизации?
Например, как следующий код: object Test extends App { trait Class { val f1: Int } val c = new Class { val f1: Int = 1 val f2: String = "Class" } println(c.f1) println(c.f2) } Я просматриваю байт-код с помощью декомпилятора и замечаю, что компиляция…
08 июн '20 в 05:02
1
ответ
Scalafix: разрешающий метод применения объекта
У меня есть объект с определенным методом применения, а затем его использую object Ob { def apply(i: Int) = () def apply(s: String) = () } object Use { def someMethod(i: Int) = () Ob(1) someMethod(1) } При использовании scalafix/scalameta я не могу …
20 сен '20 в 13:14
1
ответ
ScalaMeta: В чем разница между `stats` и` children`
- это сокращение от выражений, в то время как дети - это то, что есть. Я запустил оба метода, и похоже, что результаты такие же. Может ли кто-нибудь указать мне более подробное различие между ними. Прикрепив образец кода, смело запускайте его на Sc…
25 мар '21 в 15:33
0
ответов
ScalaMeta: Для чего нужен трейт Ctor?
Это краткая форма конструктора или что? Документация на https://www.javadoc.io/static/org.scalameta/trees_2.12/4.4.11/scala/meta/Ctor.html ничего не говорит. Также есть два подтипа: первичный и вторичный. Дополнительный вопрос: есть ли какая-нибудь …
07 апр '21 в 22:00
1
ответ
тестирование kafka и spark с помощью testcontainers
Я пытаюсь проверить с помощью testcontainers потоковый конвейер в качестве интеграционного теста, но я не знаю, как получить bootstrapServers, по крайней мере, в последней версии testcontainers и создать там конкретную тему. Как я могу использовать …
25 авг '21 в 00:51
0
ответов
Как сделать настраиваемые типы поднимаемыми в квазицитатах scala.meta
У меня есть следующий код, где x - это экземпляр настраиваемого типа. Код - это минимальный код, вырезанный из более крупного проекта. import scala.meta._ object Testing { def main(args: Array[String]): Unit = { x = CustomInt(6, "Some extra data") i…
29 сен '21 в 20:22
0
ответов
Предлагает ли экосистема Scala.js какие-либо способы расширения или замены автоматически сгенерированных методов установки / мутатора для полей свойств классов scala?
Пожалуйста, рассмотрите приложение Scala.js с большой и постоянно растущей библиотекой простых и case-классов, которые смешанно используют автоматически сгенерированные и определяемые вручную свойства. Более того, многие из этих типов данных поступа…
05 ноя '21 в 23:00
0
ответов
Как использовать привязки Scala для SemanticDB?
На сайте scalameta говорится , что «библиотека semanticdb содержит привязки ScalaPB к схеме protobuf SemanticDB. Используя эту библиотеку, можно моделировать объекты SemanticDB как классы case Scala и сериализовать/десериализовать их в байты и поток…
26 фев '22 в 02:13
0
ответов
проблема с разрешением зависимостей sbt scalameta
я создал sbtпроект. Я пытаюсь добавить org.scalametaзависимость для форматирования кода Scala. Я добавил следующую зависимость в project/plugins.sbt addSbtPlugin("org.scalameta" %% "scalameta_2.11" % "4.5.3") Но я получаю следующую ошибку: [warn] No…
15 апр '22 в 13:33
1
ответ
Почему scala.meta.Term.Param#toString удаляет модификаторы?
Я пытаюсь переименовать параметр анонимной функции, используя семантический плагин scalafix. Соответствующий код выглядит так: case Term.Apply(func, args) => args.collect { case Term.Block(List(Term.Function(List(arg), _))) => Patch.replaceTre…
25 мар '22 в 16:19
1
ответ
Scala SymbolMatcher не соответствует префиксу импорта
Я использую библиотеку scalafix, чтобы попытаться преобразовать проект из scalaz в Cats, но одна конкретная попытка удаления импорта (первый случай в следующем коде) не удалась. Соответствующие биты кода: код скалафикса: package fix import scala.met…
27 июн '22 в 17:35
0
ответов
Как напрямую создавать файлы .tasty?
Я знаю, как проверить файл scala 3 .tasty, как описано здесь 1 2 . Однако я хотел бы пойти и другим путем, с целью создания одного или нескольких объектов и классов Scala на основе входного файла Scala. Процитированный интерфейс (как описано здесь: …
01 дек '23 в 12:29