aboutsummaryrefslogtreecommitdiff
path: root/compiler/src/dotty/tools/dotc/core/SymbolLoaders.scala
Commit message (Collapse)AuthorAgeFilesLines
* Fix #2186: Synchronize classpath handling with Scala 2.12Guillaume Martres2017-04-111-20/+32
| | | | | | | | | | | | | | | | | | | | | | | | This commit is a very crude port of the classpath handling as it exists in the 2.12.x branch of scalac (hash: 232d95a198c94da0c6c8393624e83e9b9ac84e81), this replaces the existing Classpath code that was adapted from scalac years ago. This code was written by Grzegorz Kossakowski, MichaƂ Pociecha, Lukas Rytz, Jason Zaugg and other scalac contributors, many thanks to them! For more information on this implementation, see the description of the PR that originally added it to scalac: https://github.com/scala/scala/pull/4060 Changes made to the copied code to get it to compile with dotty: - Rename scala.tools.nsc.util.ClassPath to dotty.tools.io.ClassPath - Rename scala.tools.nsc.classpath.* to dotty.tools.dotc.classpath.* - Replace "private[nsc]" by "private[dotty]" - Changed `isClass` methods in FileUtils to skip Scala 2.11 implementation classes (needed until we stop being retro-compatible with Scala 2.11) I also copied PlainFile.scala from scalac to get access to `PlainNioFile`.
* Lazy entering of names with internal $'s in package scopesMartin Odersky2017-04-111-17/+51
| | | | | | | | | | | | | | | | 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-0/+22
| | | | | | 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-1/+1
| | | | Prevviously they were actually unused.
* Keep package member names mangledMartin Odersky2017-04-111-2/+2
| | | | | | | | | 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.
* Fix typos and redundant statements in previous commitsMartin Odersky2017-04-111-3/+0
|
* Start to use structured ModuleNamesMartin Odersky2017-04-111-3/+7
| | | | Subject to flags Config.semanticNames.
* Remove uses of StringOps from scala-reflectGuillaume Martres2017-03-081-1/+1
|
* Move compiler and compiler tests to compiler dirFelix Mulder2016-11-221-0/+267