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

scala tools nsc: установить флаги компилятора в настройках компилятора
У меня такой код: def compile(target: String, srcs: Seq[String]): Unit = { import scala.tools.nsc._ val settings = new Settings settings.outputDirs.setSingleOutput(target) val comp = new Global(settings) val crun: comp.Run...
101 просмотров
schedule 02.10.2021

Компилятор-плагин Scala, поиск аннотации
Я хотел бы, чтобы этот плагин извлекал содержимое аннотации (@Typestate (имя файла)). Но на данный момент, даже если я распечатаю все дерево, я нигде не могу найти аннотацию. Как получить аннотацию из исходного кода или где найти хорошую...
103 просмотров

Компилятор Scala генерирует код броска
Я пытаюсь изменить плагин компилятора, написанный другим человеком, который запускается сразу после типизатора, и я хочу сгенерировать код, который генерирует исключение. Класс исключения выглядит так: case class MyException(message: String)...
534 просмотров

получение источника автоматически сгенерированных методов case-класса
Как можно получить код всех автоматически сгенерированных методов case-класса, чтобы чисто сохранить любой из них при рефакторинге в обычный (не case) класс? есть ли какой-то флаг компиляции, который показывает автоматически сгенерированные методы...
168 просмотров
schedule 22.07.2022

Как правильно использовать scalac-Xlint
Справка scalax -Xlint предоставляет следующую информацию: $ scalac -Xlint:help Enable or disable specific warnings adapted-args Warn if an argument list is modified to match the receiver. nullary-unit Warn when...
3648 просмотров

Странное поведение компилятора Scala при инициализации класса с ленивым аргументом
Как возможно, что первый является правильным кодом Scala, а второй даже не скомпилируется? Тот, который компилируется object First { class ABC(body: => Unit) { val a = 1 val b = 2 println(body) } def main(args:...
71 просмотров

Как использовать fsc с sbt?
Связанный с этим вопрос: Использует ли SBT компилятор Fast Scala Compiler (fsc)? Можно ли использовать fsc с sbt; будет ли это практично; и если да, то как интегрировать fsc в sbt?
355 просмотров
schedule 15.09.2022

scala runtime иногда выдает исключение
object Reflects { def mirror() = universe.runtimeMirror(getClass.getClassLoader) def caseFields(x: AnyRef) = { val instanceMirror = mirror().reflect(x) instanceMirror.symbol.typeSignature.members.collect { case m: MethodSymbol if...
930 просмотров
schedule 10.07.2023

Компилятор Scala выдает внутреннюю ошибку несоответствия типов, не указывая местонахождение ошибки
Я компилирую проект с 77 файлами Scala с помощью scala 2.10.5. Я получил 0 предупреждений и 1 странное сообщение об ошибке: [ERROR] type mismatch; found : Array[?B] required: scala.collection.GenTraversableOnce[?] Note that implicit...
430 просмотров
schedule 23.05.2023

Конструктор более высокого типа с верхними границами типа не работает, если граница является членом абстрактного типа
Я хочу определить трейт, который параметризуется верхней границей R и конструктором более высокого родственного типа F[_] , который принимает только аргументы, являющиеся подтипами R . Я хочу, чтобы этот трейт реализовал полиморфный apply ,...
279 просмотров

создать неоднозначный неявный низкий приоритет
Рассмотрим кодек по умолчанию, предлагаемый в пакете io . implicitly[io.Codec].name //res0: String = UTF-8 Это неявный "низкий приоритет", поэтому его легко переопределить без двусмысленности. implicit val betterCodec: io.Codec =...
699 просмотров

Какие неявные значения генерируются компилятором в Scala 2.10?
В руководстве по отражению в Scala написано следующее: Как и в случае с манифестами, можно фактически запросить компилятор сгенерировать TypeTag. Это делается путем простого указания параметра неявного свидетельства типа TypeTag [T]. Если...
145 просмотров