Ich versuche, ein Makro zu schreiben, das eine Klasse mit einer Java-Bean-Schnittstelle und einer Fallklasse verwendet und ein Paar Methoden für die Zuordnung zwischen ihnen erstellt.
Ich versuche zu überprüfen, dass die Typen für jede Eigenschaft übereinstimmen, die Typen in der Java-Bean sind jedoch z. java.lang.Long und die Typen in der Fallklasse sind scala.Long.
Meine Frage ist, gibt es angesichts des c.universe.Type-Objekts für diese 2 eine Möglichkeit zu testen, ob es implizite Konvertierungen zwischen ihnen gibt? d. h., um zu testen, ob ich einen an eine Methode übergeben kann, die den anderen erwartet.
Wenn Sie prüfen möchten, ob eine implizite Konvertierung existiert, können Sie c.inferImplicitView
verwenden.
Beweis des Konzepts:
%Vor% Wenn du kein value
hast, funktioniert das anscheinend auch, wenn du c.inferImplicitView(EmptyTree, weakTypeOf[T], weakTypeOf[S])
hast.
Ein komplexeres Beispiel näher am aktuellen Problem:
%Vor%Tags und Links scala scala-macros