Moje zadanie polega na znalezieniu nazw parametrów klasy case, dla których istnieją wartości domyślne.Jak sprawdzić, które parametry klasy case mają wartość domyślną za pomocą scala reflection 2.10
W 2,9 używałem ScalaSigParser z scalap i zrobił coś podobnego do:
(...)
case x: MethodSymbol if x.name.startsWith("init$default$") => (...)
(...)
miałem nadzieję, że odbicie w 2,10 dałby mi łatwiejszy dostęp do tego rodzaju informacji.
Ostatecznie chciałbym napisać makro, które powinienem dołączyć do obiektu towarzyszącego "obiekt towarzyszący", który automatycznie tworzy kod do serializacji/deserializacji tej klasy sprawy. Aby to zrobić, muszę wiedzieć, które parametry mają wartości domyślne.
Niesamowite, dzięki! –
Wszechstronne polecenie ściągnięcia zostało scalone i zostanie włączone do wersji 2.10.0. –
Wygląda na to, że 'params' jest teraz' paramss', a metoda 'isDefaultParam' ma zmienioną nazwę na' isParamWithDefault' zarówno w scala 2.10 jak i 2.11 – lyomi