Поскольку имя класса scala может не совпадать с именем исходного файла.scala - получить имя класса/исходного файла и позицию символа
Как найти файл .class в банке, к которой относится тип scala.
В типа scala.reflect.api.Symbols.Symbol есть значение, называемое associatedFile, но она всегда возвращает нуль
scala> typeOf[List[_]].typeSymbol.associatedFile
res4: scala.reflect.io.AbstractFile = null
Как я могу получить имя файла класса программно?
Подробнее: Если я получаю двоичную/исходную банку, например scala-library.jar, scala-library-src.jar. Как я могу определить, какой исходный файл в исходном банке поступает из класса в двоичном банке.
Может ли компилятор презентации Scala рассказать об этой информации?
Это известная проблема: https://issues.scala-lang.org/browse/SI-7044 –
Время выполнения на самом деле неважно, где находятся источники, поскольку он работает с скомпилированными файлами '.class'. Я не говорю, что «ярлык» (не обычное) решение не существует, но я искренне сомневаюсь, что это часть стандарта **, если ** это так. Конечно, вы всегда можете разработать алгоритм доморощенного, но я сомневаюсь, что это то, что вы хотите. –
@TheTerribleSwiftTomato Как вы думаете, индекс исходной банки и сохранение класса -> отношение источника для использования во время выполнения - хорошая идея? – jilen