aboutsummaryrefslogtreecommitdiff
path: root/compiler/src/dotty/tools/dotc/transform
Commit message (Collapse)AuthorAgeFilesLines
* Add ShadowedName and AvoidClashNameMartin Odersky2017-04-112-3/+4
|
* Get rid of SuperAccessor flagMartin Odersky2017-04-116-6/+9
|
* Get rid of ExpandedName flagMartin Odersky2017-04-114-5/+10
|
* Drop Config.semanticNames optionMartin Odersky2017-04-112-9/+3
| | | | | We now handle only semantic names. Also, name extractor tags and TASTY name tags are now aligned.
* Add default getter namesMartin Odersky2017-04-112-6/+9
| | | | Plus various bug fixes and filling in missing functionality
* Merge pull request #2197 from dotty-staging/add-enum-exhaustivenessodersky2017-04-103-100/+76
|\ | | | | Add enum exhaustivity checking
| * simplify exhaustivity check using ConstantTypeliu fengyun2017-04-061-49/+11
| | | | | | | | Now the algorithm is the same as in the paper.
| * remove obsolete codeliu fengyun2017-04-061-9/+0
| |
| * exhaustivity support for enumsliu fengyun2017-04-062-51/+68
| |
| * Add child annotations for enum valuesMartin Odersky2017-04-062-4/+10
| | | | | | | | | | A new kind of child annotation that points to the term symbol representing an enum value.
* | Fix #2188: Do cbn transform also on SelectsMartin Odersky2017-04-091-0/+3
|/ | | | These can arise as a result of an explicit outer transform.
* Eliminate MethodOrPolyMartin Odersky2017-04-061-1/+1
| | | | Replace with LambdaType
* Eliminate ParamTypeMartin Odersky2017-04-061-1/+1
| | | | Replace with ParamRef
* replace derived{Method,Poly}Type with derivedLambdaTypeMartin Odersky2017-04-066-11/+11
|
* Rename PolyParam --> TypeParamRefMartin Odersky2017-04-062-2/+2
|
* Harmonize paramTypes and paramBoundsMartin Odersky2017-04-0610-21/+21
| | | | | | MethodTypes have paramTypes whereas PolyTypes have paramBounds. We now harmonize by alling both paramInfos, and parameterizing types that will become common to both.
* Break out functionality from MethodTypeMartin Odersky2017-04-062-3/+3
| | | | | and generalize MethodParam to ParamRef, and TypeParamInfo to ParamInfo
* Encode variances in parameter namesMartin Odersky2017-04-061-2/+2
| | | | | | | | | | This leads to a slight overall simplification, harmonizes pickle format with internal representation, and makes MethodTypes and PolyTypes more similar to each other. I believe the change is useful as it is, but in particular it is a useful step for an eventual unification of MethodTypes and PolyTypes.
* Merge pull request #2025 from dotty-staging/fix-2024Nicolas Stucki2017-04-051-0/+4
|\ | | | | Fix #2024: TypeApply can be a final apply of a recursive method.
| * Fix #2024: TypeApply can be a final apply of a recursive method.Dmitry Petrashko2017-03-081-0/+4
| | | | | | | | | | nullary methods with type parameters were handled wrongly, which led to absence of type application and a cryptic error message.
* | Addresses review commentsAllan Renucci2017-04-042-8/+8
| |
* | Fixes @unchecked warningsAllan Renucci2017-04-032-4/+4
| |
* | Merge pull request #2159 from dotty-staging/fix-hashcodeDmitry Petrashko2017-04-031-2/+3
|\ \ | | | | | | Make case class hashCode take class into account
| * \ Merge branch 'master' into fix-hashcodeFelix Mulder2017-04-021-11/+6
| |\ \
| * | | Use full name of case classes for hashingMartin Odersky2017-03-311-2/+3
| | | |
| * | | Optimize hashCode computationMartin Odersky2017-03-311-2/+2
| | | | | | | | | | | | | | | | Also, update check file.
| * | | Make case class hashCode take class into accountMartin Odersky2017-03-301-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, elements of the following classes had the same hash code: case class A() case class B() Now they are distinguished.
* | | | Merge pull request #2157 from dotty-staging/patmat-dead-codeFelix Mulder2017-04-021-109/+3
|\ \ \ \ | |_|/ / |/| | | Remove dead code in pattern matching
| * | | Remove unreachable `tupleExtractor` methodOlivier Blanvillain2017-03-301-22/+1
| | | |
| * | | Remove dead code from pattern matcherOlivier Blanvillain2017-03-301-87/+2
| |/ / | | | | | | | | | Starting from unreachable case https://github.com/lampepfl/dotty/blob/f75caad00256db52bbd3310f245e51d23c2a76cc/compiler/src/dotty/tools/dotc/transform/PatternMatcher.scala#L1408
* | | PatMat, Outerchecks: Check outers for selections from singleton type.Dmitry Petrashko2017-03-301-3/+4
| | | | | | | | | | | | | | | Otherwise checks are done also on type projections. Same pitfall as https://issues.scala-lang.org/browse/SI-7214
* | | PatMat: get rid of unnecessary forwarderDmitry Petrashko2017-03-301-8/+2
| | |
* | | Fix #2165, emit outerChecks on ThisTypeDmitry Petrashko2017-03-301-2/+2
|/ / | | | | | | | | | | ThisType doesn't have a termSymbol. And the check is actually too strong, and not needed.
* | Only use shadowed when necessaryMartin Odersky2017-03-201-7/+8
| |
* | Use shadowing to reference inherited accessors.Martin Odersky2017-03-201-3/+9
| | | | | | | | | | | | Normal references won't work since the referenced accessor has the same name as a private name in the class defining the forwarder. This showed up as pickling failures under separate compilation.
* | Fix #2084.Dmitry Petrashko2017-03-201-5/+12
| |
* | Merge pull request #2058 from dotty-staging/fix-2054liu fengyun2017-03-182-2/+8
|\ \ | | | | | | Fix #2054
| * | fix typo in commentliu fengyun2017-03-181-1/+1
| | |
| * | Fix a stupid error in fix of #2054.Dmitry Petrashko2017-03-132-4/+7
| | |
| * | Fix #2054: @Static methods may access synthetic private methods stuffDmitry Petrashko2017-03-071-0/+3
| |/ | | | | | | | | | | Due to way how we desugar lambdas, we can decide to make a lambda static Static methods could refer to those lambdas and we need to make them public
* | Merge pull request #2043 from dotty-staging/tailrec-derivesFromDmitry Petrashko2017-03-152-3/+7
|\ \ | | | | | | Tailrec for derivesFrom/lookupRefined/classSymbol/classSymbols
| * | Add @tailrec to avoid regressions.Nicolas Stucki2017-03-012-3/+7
| |/
* | Merge pull request #2079 from dotty-staging/depmeth2odersky2017-03-1410-32/+34
|\ \ | | | | | | Allow inter-parameter dependencies
| * | Fix unrelated typos in commentsMartin Odersky2017-03-141-6/+6
| | |
| * | Drop mixed MethodType apply methodMartin Odersky2017-03-141-2/+3
| | | | | | | | | | | | | | | | | | The dropped method takes direct parameter types but a result type expression. Since parameter types are now in general dependent as well, that method is mostly redundant.
| * | Construct MethodTypes from parameter closureMartin Odersky2017-03-149-24/+25
| | | | | | | | | | | | | | | To allow for dependencies between method type parameters, construct MethodTypes from a closure that maps the currently constructed MethodType to its parameter types.
* | | Merge pull request #2091 from dotty-staging/fix-#2077Guillaume Martres2017-03-141-0/+9
|\ \ \ | |/ / |/| | Fix #2077: Optimization of constant conditionals
| * | Fix #2077: Optimization of constant conditionalsMartin Odersky2017-03-131-0/+9
| | | | | | | | | | | | | | | Move fixed logic to FirstTransform, where the other constant folding operations are also done.
* | | fix #1488: unfriendly jumping in evaluating lazy val blockliu fengyun2017-03-141-1/+1
|/ /
* | Merge pull request #2078 from dotty-staging/fix-#1569-v2Guillaume Martres2017-03-121-1/+1
|\ \ | | | | | | Fix #360: Improve avoidance algorithm