While the ParameterizedTypeImpl (which is part of geantryref) returns io.leangen.geantyref.Issue20Test.UnitX<io.leangen.geantyref.Issue20Test$QuantityX>, the actual class name is io.leangen.geantyref.Issue20Test$UnitX as UnitX is a nested class within the Issue20Test class. But the toString() method omits the $ as a marker for a nested class and uses a .
Similar to #23, this is a result of changes in Java itself... While there is no spec for these strings and JDK is free to change them, it is mind boggling to me that they actually do.
Consider this:
While the ParameterizedTypeImpl (which is part of geantryref) returns
io.leangen.geantyref.Issue20Test.UnitX<io.leangen.geantyref.Issue20Test$QuantityX>
, the actual class name isio.leangen.geantyref.Issue20Test$UnitX
asUnitX
is a nested class within theIssue20Test
class. But the toString() method omits the$
as a marker for a nested class and uses a.