aboutsummaryrefslogtreecommitdiff
path: root/compiler/src/dotty/tools/dotc/core/Scopes.scala
Commit message (Collapse)AuthorAgeFilesLines
* Lazy entering of names with internal $'s in package scopesMartin Odersky2017-04-111-22/+37
| | | | | | | | | | | | | | | | Names with internal $'s are entered in package scopes only if - we look for a name with internal $'s. - we want to know all the members of a package scope This optimization seems to be fairly effective. The typical range of package scopes that need $-names is between 0 and 20%. The optimization seems to improve execution time of all unit tests by about 3%. Also. drop the inheritance from Iterable to Scope. The reason is that we now need a context parameter for toList and other Iterable operations which makes them impossible to fit into the Iterable framework.
* Scope refactoringMartin Odersky2017-04-111-36/+8
| | | | | | Since we now have separate package-scopes, it's easier to have them take into account the special role played by the scala package. So we can drop the funky logic of `makeScalaSpecial`.
* Fix and activate package scopesMartin Odersky2017-04-111-11/+31
| | | | Prevviously they were actually unused.
* Introduce mangled methodMartin Odersky2017-04-111-2/+2
| | | | Mangled is like toSimpleName, except that it keeps the term/type distinction.
* Keep package member names mangledMartin Odersky2017-04-111-1/+9
| | | | | | | | | Once we start using unencoded operators internally, we will face the problem that one cannot decode realiably a class file filename. We therefore turn things around, keeping members of package scopes in mangled and encoded form. This is compensated by (1) mangling names for lookup of such members and (2) when unpickling from Scala 2 info or Tasty, comparing mangled names when matching a read class or module object against a root.
* Create FunctionN types on demandMartin Odersky2016-11-291-1/+1
| | | | | | 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.
* Move compiler and compiler tests to compiler dirFelix Mulder2016-11-221-0/+437