aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/typer/Variances.scala
Commit message (Collapse)AuthorAgeFilesLines
* Remove refinement encoding of hk typesMartin Odersky2016-07-111-2/+2
| | | | | | | | | | Remove the code that implemented the encoding of hk types using refinements. Drop the notion that RefinedTypes can be type parameters. This is no longer true under the new representation. Also, refactoring MemberBinding -> TypeParamInfo
* Refactoring of PolyType and TypeLambdaMartin Odersky2016-07-111-1/+1
| | | | | | | Make them each inherit from common BaseType GenericType. That way we avoid inheriting accidentally stuff from PolyType in TypeLambda. Also, Fix adaptation of type lambdas. Don't confuse them with PolyTypes.
* Start new, direct HK schemeMartin Odersky2016-07-111-0/+11
| | | | | - Re-introduce newHK option. Label some things that will be removed with OLD.
* Introduce recursive typesMartin Odersky2016-07-111-0/+2
| | | | | | | | | | | | | | | | | Map self-references in refinements to recursive types. This commit does this for refinement types appearing in source. We still have to do it for unpickled refinements. Test apply-equiv got moved to pending because it simulates the old higher-kinded type encoding in source, which relies on the old representation in terms of self-referential refinement types. The plan is not to adapt this encoding to the new representation, but to replace it with a different encoding that makes critical use of the added power of recursive types. Use recursive types also when unpickling from Scala 2.x. Add mapInfo method to Denotations.
* Allow general recursion in refined types.Martin Odersky2016-07-111-2/+2
| | | | | Treat parent like refinedInfo. Introduce isBinding convenience method in TypeBounds.
* Swap order of arguments in annotationsMartin Odersky2015-11-221-2/+2
| | | | | | | | | The fact that the annotation comes first is weird, because when I write an annotated type it's <type> @<annotation>. Also, annotated types are like RefinedTypes in that they derive from a parent type. And in RefinedTypes the parent comes first. So swapping the arguments improves consistency.
* Replace tabs with 4 spaces in Dotty source.Dmitry Petrashko2015-04-091-2/+2
|
* Fix bug in varianceInTypeMartin Odersky2014-10-121-4/+3
|
* Seems to be a bug ping @odesrkyDmitry Petrashko2014-10-111-0/+1
|
* Enabled variance checkingMartin Odersky2014-08-031-1/+11
| | | | | | | Variance checking is now run as part of type-checking. Fixed tests that exhibited variance errors. Added tests where some classes of variance errors should be detected.
* Initial versions of Variances and CheckVariancesMartin Odersky2014-08-031-0/+93
Not yet integrated or tested.