aboutsummaryrefslogtreecommitdiff
path: root/compiler
Commit message (Collapse)AuthorAgeFilesLines
* Don't look at nesting for implicit resolution under Scala2 mode.Martin Odersky2016-12-171-1/+6
|
* Create implicit closures to math expected implicit functionsMartin Odersky2016-12-177-27/+64
| | | | | When the expected type is an implicit function, create an implicit closure to match it.
* Take nesting into account when ranking implicitsMartin Odersky2016-12-174-31/+59
| | | | | | This will need a spec change. It's necessary in order not to confuse synthetic implicits with each other or with explicit ones in the environment.
* Fix erasure of implicit functionsMartin Odersky2016-12-172-14/+16
| | | | and check at runtime that it works
* Add code to disable old implicit closure syntax in blocksMartin Odersky2016-12-171-1/+11
| | | | | | | This will no longer be supported. On the other hand, as long as the alternative is not yet legal in Scala2.x we cannot flag this as an error. So the migration warning/error and patch code is currently disabled.
* Generalize syntax for implicit function valuesMartin Odersky2016-12-172-43/+76
| | | | | - allow more than one implicit binding - harmonize syntax in expressions and blocks
* Cleanup of implicit modifiers schemeMartin Odersky2016-12-174-18/+17
| | | | | Implicit modifiers were quite irregular compared to the other ones. This commit does a cleanup.
* Changes for matching and subtyping implicit methodsMartin Odersky2016-12-171-4/+4
| | | | | | Implicitness is ignored for matching (otherwise apply in ImplicitFunction could not shadow apply in Function). And explicit trumps implicit in subtyping comparisons.
* Make implicit functions have implicit function typeMartin Odersky2016-12-171-1/+1
|
* Handle erasure of implicit function typesMartin Odersky2016-12-171-2/+9
|
* Refactor function operations in DefinitionsMartin Odersky2016-12-175-21/+32
| | | | | | | | | Also: show implicit function types correctly. Also: refine applications of implicit funcitons - don't do it for closure trees - don't do it after typer.
* Always insert apply for expressions of implicit function typeMartin Odersky2016-12-172-13/+37
|
* Add syntax for implicit functionsMartin Odersky2016-12-173-7/+21
|
* Add ImplicitFunctionN classesMartin Odersky2016-12-173-14/+30
| | | | These are always synthetic; generated on demand.
* Merge pull request #1816 from dotty-staging/fix-#1799odersky2016-12-171-1/+1
|\ | | | | Fix #1799: Make compilation of FunctionN traits possible.
| * Fix #1799: Make compilation of FunctionN traits possible.Martin Odersky2016-12-161-1/+1
| |
* | Merge pull request #1811 from dotty-staging/fix-1810odersky2016-12-161-1/+1
|\ \ | |/ |/| Fix #1810 LazyVals should use changeOwnerAfter.
| * Fix #1810 LazyVals should use changeOwnerAfter.Dmitry Petrashko2016-12-151-1/+1
| |
* | Merge pull request #1763 from dotty-staging/fix/annotationsDmitry Petrashko2016-12-163-22/+41
|\ \ | | | | | | Fix emission of annotations
| * | Fix #1741: sbt.ExtractAPI: extract annotationsGuillaume Martres2016-12-021-6/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | This is necessary for correct incremental recompilation but is also used by sbt to find tests to run (for junit they should be annotated @org.junit.Test). I added an sbt scripted test to verify that JUnit now works, to run it: $ sbt > scripted discovery/test-discovery
| * | Fix transformation of inline body annotationsGuillaume Martres2016-11-301-3/+7
| | | | | | | | | | | | | | | Previously we replaced them by ConcreteAnnotation so they became regular annotations and could be emitted in some cases. They need to keep being BodyAnnotation.
| * | Fix visibility of annotationsGuillaume Martres2016-11-301-11/+9
| | | | | | | | | | | | | | | | | | `isRuntimeVisible` and `retentionPolicyOf` had two different ways to get the retention policy of an annotation and they were both wrong. Fix retentionPolicyOf` and use it in `isRuntimeVisible`
| * | Fix annotations never being emittedGuillaume Martres2016-11-301-2/+1
| | |
* | | Merge pull request #1813 from dotty-staging/fix-#1806Dmitry Petrashko2016-12-162-1/+5
|\ \ \ | | | | | | | | Fix #1806: Define outer accessors at the right phase
| * | | Fix #1806: Define outer accessors at the right phaseMartin Odersky2016-12-162-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some outer accessors were defined at phase explicitOuter, but were entered into the scope of their enclosing class only at phase explicitOuter + 1. This turned them to stale symbols when trying to access them at a later run, because at their initially valid phase they were not found as members of their owner.
* | | | Merge pull request #1801 from dotty-staging/fix-#1790Dmitry Petrashko2016-12-166-56/+94
|\| | | | | | | | | | | Fix #1790: Change by-name pattern matching.
| * | | Implement new rules for name-based pattern matchingMartin Odersky2016-12-155-26/+42
| | | | | | | | | | | | | | | | This implements the rules laid down in #1805.
| * | | Change by-name pattern matching.Martin Odersky2016-12-144-53/+75
| | | | | | | | | | | | | | | | New implementation following the scheme outlined in #1790.
* | | | Merge pull request #1785 from dotty-staging/fix-#1784odersky2016-12-1515-54/+65
|\ \ \ \ | | | | | | | | | | Fix #1784: allow to omit types for local implicit vals
| * | | | Add CyclicImplicitVal error to messages (reverted from commit ↵Martin Odersky2016-12-152-13/+4
| | | | | | | | | | | | | | | | | | | | 559e49317912ce52c51e295346cebcafbb69462d)
| * | | | Add CyclicImplicitVal error to messagesFelix Mulder2016-12-132-4/+13
| | | | |
| * | | | Drop "Dotty deviation" messages that are no longer applicable.Martin Odersky2016-12-123-3/+3
| | | | |
| * | | | Better diagnosis for cyclic references caused by implicit searchMartin Odersky2016-12-122-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since we now allow to drop the explicit type of a local implicit val it can happen that this causes a cyclic reference, namely when the typechecking of the right-hand side involves an implicit search. It's unpractical and fragile to avoid this. Instead we give now a nice error message explaining the problem and how to fix it in source code.
| * | | | Drop explicit types for local implicit valsMartin Odersky2016-12-1213-49/+49
| | | | | | | | | | | | | | | | | | | | | | | | | Drop explicit types for local implicit vals of type Context and Position. Exercises the functionality and shortens the code.
| * | | | Fix #1784: allow to omit types for local implicit valsMartin Odersky2016-12-121-3/+9
| | | | |
* | | | | Merge pull request #1682 from dotty-staging/vclassodersky2016-12-157-48/+65
|\ \ \ \ \ | | | | | | | | | | | | Fix checks related to value classes
| * | | | | renable checking for TreeCheckerliu fengyun2016-11-241-1/+4
| | | | | |
| * | | | | don't recheck in -Ycheckliu fengyun2016-11-244-42/+48
| | | | | |
| * | | | | fix #1642: disallow value classe wrapping value classliu fengyun2016-11-245-12/+16
| | | | | |
| * | | | | fix #1670: move the check of value class to typerliu fengyun2016-11-242-2/+6
| | | | | |
* | | | | | Merge pull request #1780 from dotty-staging/fix-i1779odersky2016-12-152-6/+10
|\ \ \ \ \ \ | |_|_|/ / / |/| | | | | fix #1779: support $_ and $_id in interpolated string
| * | | | | only allow $_ in patternsliu fengyun2016-12-121-6/+6
| | | | | |
| * | | | | fix #1779: support $_ and $_id in interpolated stringliu fengyun2016-12-082-1/+5
| | | | | |
* | | | | | Merge pull request #1761 from dotty-staging/topic/product-showFelix Mulder2016-12-141-3/+32
|\ \ \ \ \ \ | | | | | | | | | | | | | | [REPL] Add show capability to common types
| * | | | | | Add comment regarding prettificationFelix Mulder2016-12-011-0/+17
| | | | | | |
| * | | | | | Fix literal type printingFelix Mulder2016-12-011-0/+3
| | | | | | |
| * | | | | | Get rid of nesting implicitsFelix Mulder2016-11-301-12/+1
| | | | | | |
| * | | | | | Print List and Map abbreviatedFelix Mulder2016-11-301-1/+8
| | | | | | |
| * | | | | | Make repl use show instances where possibleFelix Mulder2016-11-301-2/+15
| | | | | | |
* | | | | | | Fix #1786: support use package object in fun callliu fengyun2016-12-131-1/+1
| |_|_|_|_|/ |/| | | | |