aboutsummaryrefslogtreecommitdiff
path: root/compiler/src
Commit message (Collapse)AuthorAgeFilesLines
...
| * | Workaroud #1856: recursively calling a lazy val works differently in DottyGuillaume Martres2017-01-282-2/+21
| | |
| * | Workaround #1770: Run changeOwner at group end in ElimByNameGuillaume Martres2017-01-281-1/+5
| | | | | | | | | | | | | | | Using changeOwnerAfter would be more appropriate but currently fails with an assertion in LambdaLift
| * | Fix some dotty compilation errorsGuillaume Martres2017-01-281-1/+2
| | |
| * | Remove hardcoded classpath reorderingGuillaume Martres2017-01-272-10/+1
| | | | | | | | | | | | | | | | | | If something needs to be fixed, fix it at the source. This prevented dotty-compiler-bootstrapped from using the dotty-library-bootstrapped clases instead of the dotty-library jar
* | | Merge pull request #1909 from dotty-staging/fix-1687Dmitry Petrashko2017-01-281-34/+39
|\ \ \ | | | | | | | | Fix #1687: postpone computations in tailrec until they are needed.
| * | | Fix #1687: postpone computations in tailrec until they are needed.Dmitry Petrashko2017-01-221-34/+39
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | Previous version precomputed everything needed to make the final decision. This was fast-path for method that will be tail-rec transformed. Unfortunatelly, in case decision was not to tail-rec optimize it could have led to exponential number of transformations. Now, the fast-path is for methods that will not.
* / / Fix #1908: give synthetic default params correct flagsFelix Mulder2017-01-251-1/+3
|/ /
* | Fix another NPE when compiling under -Yno-importsMartin Odersky2017-01-161-8/+10
| |
* | Fix NPE in ImplicitsMartin Odersky2017-01-161-3/+11
| | | | | | | | | | We got on NPE when compiling the collection strawman under -Yno-imports. We did not preview that the contextual implicit scope stack could be empty.
* | Adopt scala's scheme for root import hidingMartin Odersky2017-01-154-14/+23
| | | | | | | | | | | | | | | | | | | | scalac hides a root import from Predef if there is an eplicit Predef import. We now do the same (previously we did this only if the overriding import undefined something, using a `x => _` syntax). To avoid cycles and races one had to be very careful not to force import symbols too early, so we now compare the name before the symbol proper. All this is likely temporary - the comment of ImportInfo#unimported points to a different, more systematic solution.
* | Merge pull request #1883 from dotty-staging/fix-1877Dmitry Petrashko2017-01-114-6/+84
|\ \ | | | | | | Fix #1877: Add forwarders for primitive/generic mixins.
| * | Add PrimitiveForwarders and fix forwarding on value classes.Nicolas Stucki2017-01-114-15/+56
| | |
| * | Fix #1877: Add forwarders for primitive/generic mixins.Nicolas Stucki2017-01-062-6/+43
| |/
* | Merge pull request #1894 from dotty-staging/fix/inner-class-emissionGuillaume Martres2017-01-111-1/+4
|\ \ | | | | | | Partially fix Java interop for emitted inner classes
| * | Partially fix Java interop for emitted inner classesGuillaume Martres2017-01-111-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The backend uses `rawname` to define the "inner name" of an InnerClass entry in a classfile, this should be the simple name of the class before any mangling takes place. Fixing this allows Java code to reference dotty inner classes, except if they're defined in objects which is still broken until https://github.com/DarkDimius/scala/pull/4 is merged and a new backend is published.
* | | Merge pull request #1893 from dotty-staging/fix-#1891odersky2017-01-112-2/+14
|\ \ \ | | | | | | | | Fix #1891: Don't add redundant constraint
| * | | Add more explanation.Martin Odersky2017-01-111-0/+3
| | | |
| * | | Fix #1891: Don't add redundant constraintMartin Odersky2017-01-102-2/+11
| |/ / | | | | | | | | | | | | | | | | | | | | | Before adding a constraint, make sure there is no way the two types are already in a subtype relation. Adding redundant constraints is problematic because we might introduce cycles. See i1891.scala for a test.
* | | Fix #1878: Use Inline on final vals.Nicolas Stucki2017-01-102-20/+27
| | |
* | | Stop emitting fields for inlined fields.Nicolas Stucki2017-01-101-1/+2
| | |
* | | Revert "Fix #1878: Generate fields for final vars."Nicolas Stucki2017-01-101-1/+1
|/ / | | | | | | This reverts commit 63d68bf4d3cbac82f6d9faf19acd5589603a17ee.
* | Improve error position and drop second error since it is prunedJonathan Brachthäuser2017-01-081-1/+1
| |
* | Give context for code examples to ease understandingJonathan Brachthäuser2017-01-081-9/+18
| |
* | Replace all occurrences of Id, ident or Ident with idJonathan Brachthäuser2017-01-081-36/+36
| | | | | | | | | | | | | | To match the specs in https://github.com/lampepfl/dotty/blob/master/docs/syntax-summary.txt all occurences of Id, ident or Ident in comments have been replaced with the terminal `id`.
* | Add error message for dangling this in path selectionsJonathan Brachthäuser2017-01-082-1/+28
| | | | | | | | | | | | | | | | | | | | | | | | The following examples trigger the error message: val x: Foo.this = ??? // Also triggers the error: import foo.this // Additionally, also slays the compiler type X = Foo.this.type
* | Merge pull request #1887 from dotty-staging/fix-#1867Guillaume Martres2017-01-071-1/+1
|\ \ | |/ |/| Fix #1867: Set position of empty refined types
| * Fix #1867: Set position of empty refined typesMartin Odersky2017-01-041-1/+1
| |
* | Merge pull request #1873 from dotty-staging/fix-#1865odersky2017-01-051-1/+2
|\ \ | | | | | | Fix #1865: Compute outer path at right phase
| * | Address reviewer commentsMartin Odersky2017-01-041-1/+1
| | |
| * | Fix #1865: Compute outer path at right phaseMartin Odersky2017-01-031-1/+2
| |/ | | | | | | | | When computing the outer path, we need to be careful to dealias before erasure, even if the outer path is demanded during erasure. Otherwise we lose prefixes.
* | Fix #1878: Generate fields for final vars.Nicolas Stucki2017-01-051-1/+1
| |
* | Fix #1875: Decrease -Xmax-inlines default to 32.Nicolas Stucki2017-01-041-1/+1
| |
* | Merge pull request #1869 from dotty-staging/fix-#1868odersky2017-01-041-1/+1
|\ \ | | | | | | Fix #1868: Fix a logic error in a match
| * | Fix #1868 - Fix logic bug in matchMartin Odersky2017-01-021-1/+1
| | |
* | | Merge pull request #1864 from dotty-staging/fix-#1732odersky2017-01-041-1/+2
|\| | | | | | | | Fix #1732: Special treatment for bottom type by-name args
| * | Fix #1732: Special treatment for bottom type by-name argsMartin Odersky2016-12-311-1/+2
| |/ | | | | | | | | | | If a by-name arg has a bottom type, we need to create a closure with the result type of the formal parameter, or else specialization with FunctionalInterfaces will fail.
* / Add error message for unbound wildcard type.Jarrod Janssen2017-01-022-1/+44
|/
* Merge pull request #1850 from dotty-staging/fix-#1845odersky2016-12-281-1/+3
|\ | | | | Fix #1845: Survive illegal this-type prefixes
| * Fix #1845: Survive illegal this-type prefixesMartin Odersky2016-12-221-1/+3
| |
* | Fix #1716: Don't allow wildcards as type arguments to methodsMartin Odersky2016-12-251-8/+12
| | | | | | | | | | | | | | | | Wildcards don't make sense as type arguments to methods, and I believe to keep things simple this should also apply to method type arguments in patterns. The best way to enforce this is to make use of the existing infrastructure in the parser for topLevelTypes.
* | Merge pull request #1826 from dotty-staging/fix-compile-stdlibGuillaume Martres2016-12-2112-47/+131
|\ \ | | | | | | Make more parts of stdlib compile
| * | Address reviewer commentMartin Odersky2016-12-211-1/+1
| | |
| * | Drop redundant printlnMartin Odersky2016-12-211-1/+0
| | |
| * | Tweak the way annotations are represented in desugaringMartin Odersky2016-12-212-7/+39
| | | | | | | | | | | | | | | Need to be careful not to read a classfile before a compilation unit defining the annotation is entered.
| * | Fiddling with wideneningMartin Odersky2016-12-212-2/+2
| | | | | | | | | | | | | | | | | | Fixing two failures in stdlib having to do with widening. In both cases, a widenIfUnstable was required. One was widening too much, the other too little.
| * | Fix subtyping of hk types with wildcard argumentsMartin Odersky2016-12-201-2/+8
| | | | | | | | | | | | | | | Argument comparison of hk types did not take into account that the compared types could have themselves wildcard arguments.
| * | Add two refcheck migration warningsMartin Odersky2016-12-201-2/+3
| | | | | | | | | | | | | | | 1. Overriding a Java-8 concrete method now produces a migration warning under -language:Scala2, 2. Overriding a normal with a lazy val is now a migration warning instead of an error.
| * | Make `msg` in testScala2Mode by-name.Martin Odersky2016-12-201-1/+1
| | | | | | | | | | | | Avoids potentially expensive string assembly operations.
| * | Treat Unit type specially in overloading resolutionMartin Odersky2016-12-201-1/+3
| | | | | | | | | | | | | | | If the expected type is Unit, any parameterless member should be considered applicable when doing overloading resolution.
| * | Fix super accessor generationMartin Odersky2016-12-201-15/+18
| | | | | | | | | | | | | | | | | | | | | We looked under the wrong signature before, which meant that we sometimes would not detect that a super accessor existed already and generate a duplicate. Observed when compiling stdlib's collection/mutable/ObservableMap.scala.