aboutsummaryrefslogtreecommitdiff
path: root/compiler/src/dotty/tools/dotc/core/Denotations.scala
Commit message (Collapse)AuthorAgeFilesLines
* Keep package member names mangledMartin Odersky2017-04-111-1/+1
| | | | | | | | | 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.
* Rename NameExtractor -> NameKindMartin Odersky2017-04-111-1/+1
|
* Make freshName semanticMartin Odersky2017-04-111-2/+2
|
* Add NameExtractorsMartin Odersky2017-04-111-9/+10
| | | | | Use a new scheme for creating and accessing semantic names which is based on semantic name extractors with nested info classes.
* Handle expansion and flatteningMartin Odersky2017-04-111-1/+3
|
* Bug fixesMartin Odersky2017-04-111-15/+28
| | | | nameddefaults.scala now compiles without crashing
* Merge MethodType and PolyType functionality where possibleMartin Odersky2017-04-061-35/+15
| | | | | | Two benefits: (1) less code. (2) finding subtle bugs about parameter dependent method types. By merging with PolyTypes we are forced to take parameter dependencies into account.
* replace derived{Method,Poly}Type with derivedLambdaTypeMartin Odersky2017-04-061-4/+4
|
* Harmonize paramTypes and paramBoundsMartin Odersky2017-04-061-7/+7
| | | | | | 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-9/+9
| | | | | To allow for dependencies between method type parameters, construct MethodTypes from a closure that maps the currently constructed MethodType to its parameter types.
* Fix insertAfterMartin Odersky2016-12-021-3/+19
| | | | | | | | | | Once the context-bounds desugaring of i1765.scala was fixed, another problem came up: We hit an invalid denotation due to some interaction between mixin and memoize. It turned out that `insertInsteadOf` did not do what its doc comment claimed: it did not store a forwarding pointer `nextInRun` in the overwritten denotation. Once that was fixed we also needed to fix a follow-on erorr that now we could have chains of invalid denotations linked by `nextInRun`.
* Move compiler and compiler tests to compiler dirFelix Mulder2016-11-221-0/+1217