Вопросы по теме '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 просмотров
schedule
22.05.2022
Компилятор Scala генерирует код броска
Я пытаюсь изменить плагин компилятора, написанный другим человеком, который запускается сразу после типизатора, и я хочу сгенерировать код, который генерирует исключение.
Класс исключения выглядит так:
case class MyException(message: String)...
534 просмотров
schedule
03.07.2022
получение источника автоматически сгенерированных методов 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 просмотров
schedule
16.08.2022
Странное поведение компилятора Scala при инициализации класса с ленивым аргументом
Как возможно, что первый является правильным кодом Scala, а второй даже не скомпилируется?
Тот, который компилируется
object First {
class ABC(body: => Unit) {
val a = 1
val b = 2
println(body)
}
def main(args:...
71 просмотров
schedule
14.08.2022
Как использовать 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 просмотров
schedule
09.05.2023
создать неоднозначный неявный низкий приоритет
Рассмотрим кодек по умолчанию, предлагаемый в пакете io .
implicitly[io.Codec].name //res0: String = UTF-8
Это неявный "низкий приоритет", поэтому его легко переопределить без двусмысленности.
implicit val betterCodec: io.Codec =...
699 просмотров
schedule
08.10.2022
Какие неявные значения генерируются компилятором в Scala 2.10?
В руководстве по отражению в Scala написано следующее:
Как и в случае с манифестами, можно фактически запросить компилятор сгенерировать TypeTag. Это делается путем простого указания параметра неявного свидетельства типа TypeTag [T]. Если...
145 просмотров
schedule
18.05.2024