aboutsummaryrefslogtreecommitdiff
path: root/compiler/src/dotty/tools/dotc/core/Definitions.scala
Commit message (Collapse)AuthorAgeFilesLines
...
| * Add missing fileMartin Odersky2016-11-301-1/+2
| |
| * Drop function 22 limit.Martin Odersky2016-11-301-4/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Functions with more than 22 parameters are now automatically converted to functions taking a single object array parameter. This has been achieved by tweaking erasure. Other things I have tried that did ot work out well: - Use a single function type in typer. The problem with this one which could not be circumvented was that existing higher-kinded code with e.g. Funcor assumes that Functon1 is a binary type constructor. - Have a late phase that converts to FunctonXXL instead of doing it in erasure. The problem with that one was that potentially every type could be affected, which was ill-suited to the architecture of a miniphase.
| * Drop limit 30 of generated function classesMartin Odersky2016-11-291-25/+60
| | | | | | | | | | Function classes beyond 22 are now generated on demand, with no upper limit.
| * Create FunctionN types on demandMartin Odersky2016-11-291-0/+19
| | | | | | | | | | | | We know create FunctionN types on demand whenever their name is looked up in the scope of package `scala`. This obviates the need to predefine function traits 23 to 30.
| * Make clear where symbols are entered or not.Martin Odersky2016-11-291-51/+51
| | | | | | | | | | | | In definitions some of the new... methods entered the created symbol while others did not. We now make that distrinction clear in the name.
* | New phase for entering annotationsMartin Odersky2016-12-011-0/+7
|/ | | | | | If we want to do annotation macros right, we need to add annotations before completing definitions. This commit achieves that by adding a new "phase" between index and typecheck.
* Move compiler and compiler tests to compiler dirFelix Mulder2016-11-221-0/+807