aboutsummaryrefslogtreecommitdiff
path: root/compiler/src/dotty/tools/dotc/core/unpickleScala2
Commit message (Collapse)AuthorAgeFilesLines
* Lazy entering of names with internal $'s in package scopesMartin Odersky2017-04-111-1/+1
| | | | | | | | | | | | | | | | 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.
* 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-3/+6
| | | | | | | | | 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.
* Further simplification for NameMartin Odersky2017-04-111-1/+1
|
* New unmangling for ExpandedNameMartin Odersky2017-04-111-4/+4
|
* Decentralize unmangling, add new nameKindsMartin Odersky2017-04-111-1/+2
| | | | | | | Start scheme where unmangling is done by NameKinds instead of in NameOps. Also add namekinds for protected accessors.
* Get rid of SuperAccessor flagMartin Odersky2017-04-112-4/+8
|
* Get rid of ExpandedName flagMartin Odersky2017-04-112-3/+6
|
* Semantic SuperAccessor and Initializer namesMartin Odersky2017-04-111-8/+10
|
* Add default getter namesMartin Odersky2017-04-111-1/+4
| | | | Plus various bug fixes and filling in missing functionality
* Start to use structured ModuleNamesMartin Odersky2017-04-111-1/+2
| | | | Subject to flags Config.semanticNames.
* Eliminate LambdaAbstractMartin Odersky2017-04-061-2/+4
| | | | Use fromParams instead.
* Further refactoringsMartin Odersky2017-04-061-2/+2
| | | | | - Use TypeLambda instead of PolyType. - Further harmonize factory operations
* replace derived{Method,Poly}Type with derivedLambdaTypeMartin Odersky2017-04-061-2/+2
|
* Harmonize paramTypes and paramBoundsMartin Odersky2017-04-061-3/+3
| | | | | | MethodTypes have paramTypes whereas PolyTypes have paramBounds. We now harmonize by alling both paramInfos, and parameterizing types that will become common to both.
* Construct MethodTypes from parameter closureMartin Odersky2017-03-141-4/+4
| | | | | To allow for dependencies between method type parameters, construct MethodTypes from a closure that maps the currently constructed MethodType to its parameter types.
* Add Scala2Flags to replace our use of scala-reflect FlagsGuillaume Martres2017-03-082-18/+110
|
* Add PickleFormat from scala-reflectGuillaume Martres2017-03-082-1/+228
|
* deferredAnnot: Avoid harmless capture of ContextGuillaume Martres2017-02-181-2/+3
| | | | | The capture context was only used to get its phase so shouldn't cause any problem.
* Move compiler and compiler tests to compiler dirFelix Mulder2016-11-222-0/+1559