Описание тега scala-compiler

1 ответ

Компилятор представления: завершение типа в вызове метода с более чем одним аргументом

Я загружаю исходный код в компилятор с помощью askReload, а затем пытаюсь вызвать askTypeCompletion. (Точка). Завершение в первом случае (метод с 2 аргументами) не работает, но завершение в вызове метода с одним аргументом работает как ожидалось. va…
20 июл '14 в 14:29
1 ответ

Метод с запечатанной чертой дает дубликат имени поля и подписи в файле класса

Когда я добавлю process() на IntList это дает время выполнения "Duplicate field name&signature in class file Cons$3...". Это происходит только тогда, когда sealed trait определяется внутри функции. scala> def t4() = { | | sealed trait IntList…
22 сен '16 в 09:41
1 ответ

Основной метод вызова в Scala NSC

Я пытался пройти через код для NSC (новый компилятор Scala). Я немного смущен Main.scala, Это реализовано следующим образом: /* NSC -- new Scala compiler * Copyright 2005-2013 LAMP/EPFL * @author Martin Odersky */ package scala.tools package nsc imp…
1 ответ

Компилятор Scala выдает "внутреннюю" ошибку несоответствия типов без указания места ошибки

Я собираю проект, который имеет 77 файлов Scala с Scala 2.10.5. Я получил 0 предупреждений и 1 странное сообщение об ошибке: [ERROR] type mismatch; found : Array[?B] required: scala.collection.GenTraversableOnce[?] Note that implicit conversions are…
29 мар '16 в 21:18
1 ответ

Scala: множественные определения flatMap для решения проблемы вывода типа для понимания

У меня есть что-то вроде этого: case class Box[A](x: A) { def flatMap[B](f: A => GenTraversableOnce[B]): GenTraversableOnce[B] = f(x) def flatMap[B](f: A => Box[B]): Box[B] = f(x) def map[B](f: A => B): Box[B] = Box(f(x)) } object Box { for…
0 ответов

В чем разница между IMain и Global.Run в Scala?

Я хотел бы интерпретировать код Scala изнутри Scala. Я нашел два подхода в Интернете: Например, здесь Global.Run например здесь Есть ли разница в производительности? Также хотелось бы получить результаты оценки.
12 мар '14 в 13:11
0 ответов

Доступ к комментариям к документации в плагине компилятора Scala

Я хочу получить доступ к комментариям к документации из плагина компилятора Scala, запущенного после typer этап. scala.tools.nsc.Global продолжается DocComments, поэтому я предположил, что это будет так же просто, как вызов global.cookedDocComment(s…
29 мар '18 в 09:47
1 ответ

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 (m.isCaseAccessor) …
21 ноя '13 в 12:31
2 ответа

Scala: может ли компилятор эффективно оптимизировать константы?

Давайте рассмотрим следующее: object Foo { val BUFFER_SIZE = 1024 } class Foo { . . . val buffer = new Array[Byte](Foo.BUFFER_SIZE) Это слишком многословно и не выглядит элегантно по сравнению со статической (конечной) переменной Java, особенно пото…
04 окт '13 в 19:48
3 ответа

Как финальный вал определяется внутри черты Scala Compiler?

Я очень часто использую паттерн бескорыстной черты, и мне нужно использовать "дорогие" константы внутри черты: я хотел бы иметь один экземпляр этих значений, который может потребовать вычисления нескольких шагов во всех моих приложениях. Однако моде…
06 дек '13 в 08:41
1 ответ

Скаляк висящий в фазе типер

У меня проблема с 2.10.3 и кодом, сгенерированным Slick (Codegen). Кажется, очень похоже на Скаляк, висящий на фазе типер RegexParser Другие файлы, сгенерированные Codegen, работают, но этот навсегда зависает в "scalac: phase typer Foo.scala" Единст…
30 дек '14 в 02:41
1 ответ

Любая информация о переносе плагина компилятора Scala 2.9 на 2.10?

У меня есть плагин компилятора Scala 2.9 (исходный код) и прекрасно работает в 2.9, но даже не компилируется с 2.10. Есть десятки (может быть, более 100) ошибок одного типа, таких как: [scalac] C:\***.scala:31: error: illegal cyclic reference involv…
16 янв '13 в 20:26
1 ответ

Функтор пропускает неявное значение для экземпляра параметра (только после очистки sbt)

Я провел несколько экспериментов с котятами ( https://github.com/milessabin/kittens) и у меня возникли проблемы с компиляцией моего кода. Я получаю следующую ошибку. [error] ...danirey\scala\kittens\Kittens.scala:23: could not find implicit value fo…
01 май '16 в 21:47
0 ответов

Объект scala в зеркале компилятора не найден - программный запуск компилятора Scala [без sbt - без IDE]

[РЕДАКТИРОВАТЬ: добавить точность просят в комментариях] Я пытаюсь запустить компилятор программно и получаю ошибку "Отсутствует зависимость объекта" в зеркале компилятора ". Я обнаружил, что этот пост- объект scala в зеркале компилятора не найден -…
18 июн '15 в 09:41
0 ответов

В scala, почему этот неявный параметр не может быть выведен из той же области?

Я пишу простую утилиту Apache Spark, которая автоматически создает AccumulatorV2 на основе предоставленного начального значения: import java.lang type Acc[T] = AccumulatorV2[T, T] implicit val long1: Long => Acc[lang.Long] = _ => new LongAccum…
09 янв '18 в 01:26
0 ответов

Не выводится скалярное предупреждение с включенными флагами "-Xlint:infer-any" или "-Ywarn-infer-any"

У нас есть следующий метод "изображения" с выводом любого типа возврата class Attachment { def images = if (isImage) new AttachmentImages(this) } В нашем build.sbt у нас включены следующие флаги: scalacOptions in Compile ++= scalaCompilerOpts lazy v…
03 май '18 в 21:16
1 ответ

Как использовать FSC с SBT?

Смежный вопрос: использует ли SBT компилятор Fast Scala (fsc)? Может ли fsc использоваться с sbt; будет ли это практичным; и если да, то как интегрировать FSC в SBT?
14 апр '14 в 12:13
1 ответ

Невозможно вывести контравариантный параметр типа Nothing

Рассмотрим следующий фрагмент: trait X[-T] object Y extends X[Nothing] def a[T](x: X[T]): X[T] = x a(Y) Компиляция вышеупомянутого (2.12.3) завершается неудачно с: type mismatch; found : Y.type required: X[T] a(Y) ^ Это компилируется нормально, если…
09 окт '17 в 09:06
1 ответ

Скаляк, висящий на фазе типер RegexParser

У меня есть программа Scala, в которой, помимо прочего, есть синтаксический анализатор. Это делается путем расширения scala.util.parsing.combinator.RegexParsers, Я разработал его, используя Scala 2.10, и все работало нормально. Вчера я обновил свою …
1 ответ

Scala Compiler не завершается (вызывается программно)

Я программно компилирую код Scala с помощью этого куска кода: val compiler = new Global(settings, reporter) val run = new compiler.Run run compile sourceFiles.map(_.fullPath).toList Компилятор 2.10 RC1 работает примерно три минуты, а затем падает, т…
10 янв '13 в 10:04