aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/core/Signature.scala
Commit message (Collapse)AuthorAgeFilesLines
* renaming: core.transform.Erasure -> core.TypeErasureMartin Odersky2014-08-241-1/+1
| | | | | | | The name duplications transform.Erasure / core.transform.Erasure caused irregularities in the imports and the smae name was confusing. Besides Erasure was the only class in core.transform, so it seemed better to eliminate the package alltogether.
* Fix signature of by-name parameters.Martin Odersky2014-08-201-1/+3
|
* Added phase: SuperAccessorsMartin Odersky2014-07-171-1/+1
| | | | | Rewrote SuperAccessors (more to be done; see comments), and added stuff here and there to make it work smoother.
* Reworked TermRef handlingMartin Odersky2014-04-081-1/+5
| | | | | | | | | | | | | | | The main problem with TermRef handling was that signatures were not always tracked correctly. New invariant: A TermRef that points to a symbol is always a TermRefWithSig, and the signature is the one of the corresponding member. We achieve this by sometimes generating a new TermRefWithSig if a TermRef gets a denotation. One possible simplification would be to always store a signature in a TermRef. There's still a problem in TermRefWithSig#newLikeThis, which currently works only if the previously stored denotation references a symbol. We will need to generalize JointRefDenotation to contain multiple symbols for a complete fix.
* Reworked erasure denotation transformerMartin Odersky2014-03-291-4/+4
| | | | | | | | | | | | | | | | Now works for all combinations of java/scala sue ErasedValueClass/go directly to underlying type constructors/others wildcards ok/not Signatures had to be refined as well, because the signature depends on whether a type comes form Java or Scala (handling of intersections is different). Also, replaced splitArray method in TypeApplication by extractors for single- and multi-dimensional array types in definitions.
* Optimizing signaturesMartin Odersky2013-11-271-1/+1
| | | | Interesting signatures are now cached.
* Changed SignaturesMartin Odersky2013-11-271-0/+56
Signatures have a different meaning before and after erasure. After erasure, the result type counts also whereas before it doesn't. The new definitions refelect this behavior.