Вопросы по теме 'scala-reflect'
Получение информации о классе во время выполнения, когда вы не можете указать ClassTag
При написании тестов для проверки правильности выбора класса типов где-то внутри я столкнулся с стиранием типа . У меня нет возможности добавить ClassTag к сигнатуре, если только я не загрязню нетестовую версию трейта, потому что добавление :...
256 просмотров
schedule
24.11.2023
Получение типа функции метода из экземпляра MethodMirror в Scala
Предположим, у меня есть экземпляр MethodMirror , созданный для определенного метода объекта. По полям зеркала я могу легко получить доступ к возвращаемому типу и параметрам метода. Но на самом деле мне нужно получить тип, который этот метод будет...
1122 просмотров
schedule
14.04.2023
Создание коллекций scala с помощью их метода применения с отражением scala
У меня есть инструмент, который пытается создавать экземпляры подклассов различных коллекций scala, например scala.collection.Seq . Я не знаю заранее, какой конкретный класс должен быть создан, поэтому я пытаюсь использовать отражение, чтобы...
112 просмотров
schedule
28.08.2022
В Scala, как получить возвращенный TypeTag метода класса?
У меня есть класс:
package org.apache.project
class Foo {
def bar: List[Bar] = ...
}
это способ отражения scala, который позволяет мне получить typeOf[List[Bar]] из className «org.apache.project.Foo» и имени метода «bar»?
Большое спасибо...
438 просмотров
schedule
13.05.2024
Сохранить имена параметров метода в макросе scala
У меня есть интерфейс:
trait MyInterface {
def doSomething(usefulName : Int) : Unit
}
У меня есть макрос, который перебирает методы интерфейса и работает с именами методов и параметрами. Я получаю доступ к именам методов, делая что-то...
442 просмотров
schedule
27.06.2023
Как написать макрос Scala, который оценивает дерево, подобное reify
Я хочу написать макрос, который захватывает фрагмент программы и делает его доступным как Tree во время выполнения. По сути, мне нужна функциональность reify , но встроить ее в другой синтаксис. Я хочу вызвать apply для объекта-компаньона...
198 просмотров
schedule
01.07.2023
Сохранение аргументов типа в Akka receive
На этот вопрос как бы ответил Роланд Кун в этом post , однако, несмотря на несколько комментариев с просьбами о деталях, он не удосужился поделиться полным ответом.
Вот что я хочу сделать: у меня есть класс-оболочка case class Event[T](t: T) ,...
106 просмотров
schedule
12.03.2023
объединить `Tree` и `List[Tree]` в отражении времени компиляции scala
У меня есть макрос scala, который создает конструктор для класса на лету. Так, например, если у нас есть класс case class PersonConfig(name: String, age: Int, isFemale: Boolean) . У меня есть древовидная структура для имени класса и аргументы,...
194 просмотров
schedule
23.07.2022
Получить аргументы FunctionX и типы вывода
Я изо всех сил пытаюсь получить типы аргументов определенной функции в Scala. Например Funcion1[T1, T2] .
Поскольку Java устранит проверку типов (предупреждение компилятора: is unchecked since it is eliminated by erasure ), я хотел бы найти...
27 просмотров
schedule
19.08.2022
Scala: как создать интерпретатор, наследующий текущий контекст?
В коде Scala я хотел бы создать интерпретатор, который будет оценивать некоторые строки, которые являются кодом Scala, например, с использованием ScriptEngine. Но я хотел бы передать ей текущую переменную и определения типов, чтобы код в строках мог...
81 просмотров
schedule
08.06.2023
Как создать экземпляр пользовательского класса с помощью ToolBox.eval во время выполнения
Я написал следующий код.
import scala.reflect.runtime.currentMirror
import scala.reflect.runtime.universe._
import scala.tools.reflect.ToolBox
class A
object Main extends App {
val tb = currentMirror.mkToolBox()
tb.eval(tb.parse("new A"))
}...
112 просмотров
schedule
27.11.2022
Отражение Scala для преобразования с использованием возвращаемого типа метода во время выполнения
Я использую отражение в scala, и я хочу обобщить код для приведения объекта для возврата типа другого метода, который идентифицируется во время выполнения с использованием отражения
Я попытался получить возвращаемый тип метода с помощью отражения,...
284 просмотров
schedule
07.05.2022
Как использовать аннотации Scala в Java-коде
Есть ли способ использовать аннотации, определенные в Scala, чтобы они могли работать с кодом Java? У меня есть библиотека с некоторыми аннотациями, которые я хотел бы использовать в Java.
187 просмотров
schedule
10.03.2022
Как получить значение времени выполнения параметра, переданного в макрос Scala?
У меня есть якобы простая проблема с макросами, о которой я бился головой в течение нескольких часов, но безуспешно. Возможно, вам поможет кто-нибудь с большим опытом.
У меня такой макрос:
import scala.language.experimental.macros
import...
499 просмотров
schedule
27.03.2022
Создание экземпляра класса Scala/класса case через отражение
Описание
Я пытаюсь создать инструмент, способный преобразовывать экземпляр Map[String, Any] в экземпляр class / case class . Если определение класса содержит параметры по умолчанию, которые не указаны в Map , тогда будут применяться значения...
512 просмотров
schedule
11.08.2023
Можно ли в Scala создать экземпляр объекта универсального типа T?
В Scala, даже если решение не является элегантным, возможно ли создать/создать новый объект универсального типа T? Можно ли добиться этого с помощью отражения?
Например, меня интересует что-то вроде следующего:
case class Person(name:...
265 просмотров
schedule
23.08.2023
Получить родительское перечисление тега типа значения
У меня есть Type экземпляр, который ссылается на Value определенного Enumeration .
Есть ли способ получить Type или Symbol родительского перечисления? Другими словами, если у меня есть typeOf[SomeEnumeration.Value] , как я могу получить...
58 просмотров
schedule
16.05.2023
Отражения среды выполнения Scala получают все члены определенного типа даже для внутренних классов
В scala 2.12.10
Предположим, я хочу неявно преобразовать во время выполнения класс case, в данном случае Special в класс case SpecialString . Неявное преобразование обеспечивается трейтом External . Имя для SpecialString должно быть именем...
81 просмотров
schedule
28.03.2022
В scala 2.13, как использовать фактический TypeTag в макросе?
Эта возможность, по-видимому, отключена SI-6186 , и никакой механизм не может быть использован для замени это
Я нашел следующие замечания в его сообщении фиксации:
Теперь мы восстанавливаем нарушенный баланс, запрещая TypeTag использовать...
34 просмотров
schedule
18.07.2022