summaryrefslogtreecommitdiff
path: root/test/files/run/reflection-java-crtp.check
Commit message (Collapse)AuthorAgeFilesLines
* refactors java reflection testsEugene Burmako2012-09-171-25/+1
| | | | All javac-produced artifacts are now placed into test/files/lib
* Reflection no longer produces faux existentialsEugene Burmako2012-09-171-1/+1
| | | | | | | | Because of using plain ExistentialType factory of a case class typeToScala sometimes returned existentials with empty quantifieds. Changing ExistentialType to newExistentialType, which simply returns the underlying types if params are empty, fixed the problem.
* SI-6374 Scala reflection now supports Java CRTPEugene Burmako2012-09-171-0/+25
Translation of Java types to Scala types has previously been existentionalizing raw types of ParameterizedType arguments. As shown in https://issues.scala-lang.org/browse/SI-6374 this leads to cyclic reference errors. If you wonder about the mechanism of the error, take a look at the comments to the aforementioned issue - there's a detailed explanation. However calling rawToExistential is completely unnecessary, because existential parameters of the results are immediately discarded, and only prefix and symbol are used later on (which means that existential extrapolation performed by rawToExistential also doesn't after the result). Finding out this was tough, but the rest was a piece of cake. Getting rid of the call to rawToExistential when translating ParameterizedType fixed the problem.