aboutsummaryrefslogtreecommitdiff
path: root/compiler
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #1832 from dotty-staging/fix-1810odersky2016-12-201-7/+17
|\ | | | | Fix #1812, Symbols.mapSymbols shouldn't replace denotations
| * Fix #1812, Symbols.mapSymbols shouldn't force annotation transformation.Dmitry Petrashko2016-12-191-1/+2
| | | | | | | | Reasoning similar to one in the previous commit also applies to annotations.
| * Fix #1812, Symbols.mapSymbols shouldn't replace denotationsDmitry Petrashko2016-12-191-6/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It will use lazy types instead. The current version transforms a type, with a context that has denotations that may be forcefully replaced by mapSymbols. Types created during this transformation may cache denots, that are-to-be replaced. This is very problematic as this method is called from TreeTypeMap.withMappedSyms in a fixed-point cycle, creating new symbols on every iteration. Those cached denotations could make types keep symbols from previous iterations indefinitely. The changed version does not transform the types eagerly, and instead makes them lazy. Assuming there are no cycles, this should ensure correct ordering. Unfortunatelly, at this point in the compiler we basically always touch everything, and we can't even transform the info of denotation without this denotations info. We basically have a chicked&egg problem here. To solve it, I use the same trick as used by other lazy types by assigning an approximation of future type first. This allows to pass the tests and makes dotty more robust, but I suspect this isn't a complete fix and new similar bugs may arrive.
* | Merge pull request #1821 from dotty-staging/fix-i1820odersky2016-12-201-7/+13
|\ \ | | | | | | Fix #1820: make sure outer of traits implemented
| * | address review: rename hasOuterFlag to clsHasOuterliu fengyun2016-12-201-3/+3
| | |
| * | refine previous commitliu fengyun2016-12-191-2/+2
| | |
| * | Fix #1820: condition of whether generates outerliu fengyun2016-12-191-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, we don't generate `outer` for the anonymous class `new Inner2 {}`. This is incorrect, as `Inner2 {}` extends `A.Inner`, which requires an outer. trait A { val a = "a" trait Inner { def f = println(a) def h = 3 } } trait B extends A { trait Inner2 extends Inner new Inner2 {} }
| * | fix #1820: make sure outer of traits implementedliu fengyun2016-12-181-7/+12
| | |
* | | Merge pull request #1833 from dotty-staging/fix-#1793odersky2016-12-193-6/+12
|\ \ \ | | | | | | | | Fix #1793: allow multiversal comparisons between Null and X
| * | | Move `eqNullable` check to `assumedCanEqual`Felix Mulder2016-12-191-20/+12
| | | |
| * | | whitelist WeakReferenceFelix Mulder2016-12-192-5/+1
| | | |
| * | | Fix #1793: allow multiversal comparisons between Null and XFelix Mulder2016-12-191-2/+20
| | | |
* | | | Merge pull request #1831 from dotty-staging/fix/dotty-on-dottyGuillaume Martres2016-12-191-5/+7
|\ \ \ \ | | | | | | | | | | Fix JUnit compilation of dotty by dotty
| * | | | Add back a JUnit "dotty" testGuillaume Martres2016-12-191-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | This way we can test that dotty compiles dotty using dotty-compiler/test-only -- --tests=dotty
| * | | | Fix booted tests not compiling anythingGuillaume Martres2016-12-191-6/+3
| |/ / / | | | | | | | | | | | | | | | | This was broken in 06a3d47ea9fd1b67b3acba9d115a16d18549e377 when the -deep argument was removed
* | | | Merge pull request #1829 from dotty-staging/fix-#1794Felix Mulder2016-12-192-3/+1
|\ \ \ \ | | | | | | | | | | Fix #1794: handle TermRef result types in dottydoc
| * | | | Fix #1794: handle TermRef result types in dottydocFelix Mulder2016-12-192-3/+1
| |/ / /
* | | | Merge pull request #1825 from dotty-staging/fix-#1824Guillaume Martres2016-12-191-2/+1
|\ \ \ \ | |/ / / |/| | | Fix #1824: Logic fix in desugar
| * | | Fix-#1824 Logic fix in desugarMartin Odersky2016-12-181-2/+1
| | | | | | | | | | | | | | | | An operation was performed quadratically before.
* | | | Blacklist scala/util/Sorting.scalaNicolas Stucki2016-12-182-1/+3
| | | |
* | | | Whitelist source for scala/sys/BooleanPropNicolas Stucki2016-12-182-3/+1
| | | |
* | | | Whitelist ObservableMapNicolas Stucki2016-12-182-15/+6
| | | |
* | | | Whitelist sources from scala/Nicolas Stucki2016-12-182-39/+40
| | | |
* | | | Whitelist sources from scala/runtimeNicolas Stucki2016-12-182-37/+45
| | | |
* | | | Whitelist sources from scala/annotationNicolas Stucki2016-12-182-26/+27
| | | |
* | | | Whitelist sources from scala/Nicolas Stucki2016-12-182-2/+8
| | | |
* | | | Whitelist sources from scala/collection/parallelNicolas Stucki2016-12-182-20/+67
| | | |
* | | | Whitelist sources from scala/concurrentNicolas Stucki2016-12-182-21/+36
| | | |
* | | | Whitelist sources from scala/collection/scriptNicolas Stucki2016-12-182-4/+4
| | | |
* | | | Blacklist scala/sys/SystemProperties.scalaNicolas Stucki2016-12-182-1/+3
| | | |
* | | | Whitelist sources from scala/reflectNicolas Stucki2016-12-182-4/+22
| | | |
* | | | Whitelist sources from scala/refNicolas Stucki2016-12-182-5/+9
| | | |
* | | | Whitelist all sources from scala/mathNicolas Stucki2016-12-182-4/+4
| | | |
* | | | Whitelist sources from scala/ioNicolas Stucki2016-12-182-4/+13
| | | |
* | | | Whitelist sources from scala/beansNicolas Stucki2016-12-182-9/+9
| | | |
* | | | Whitelist sources from scala/sys and scala/compatNicolas Stucki2016-12-182-15/+20
| | | |
* | | | Whitelist sources from scala/collection/parallel/immutableNicolas Stucki2016-12-182-9/+10
| | | |
* | | | Whitelist sources from scala/collection/concurrentNicolas Stucki2016-12-182-3/+2
| | | |
* | | | Whitelist sources from scala/collection/convertNicolas Stucki2016-12-182-6/+13
| | | |
* | | | Whitelist sources from scala/collection/mutableNicolas Stucki2016-12-182-66/+105
| | | |
* | | | Whitelist sources from scala/utilNicolas Stucki2016-12-182-15/+25
| | | |
* | | | Add scala-collections.blacklist and crosscheck with whitelist.Nicolas Stucki2016-12-182-6/+395
| | | |
* | | | Merge pull request #1823 from dotty-staging/fix-#1789Nicolas Stucki2016-12-181-2/+4
|\ \ \ \ | | | | | | | | | | Fix #1789: Fix signature of unit result type
| * | | | Fix #1789: Fix signature of unit result typeMartin Odersky2016-12-181-2/+4
| | |/ / | |/| | | | | | | | | | was scala.BoxedUnit, should be scala.Unit.
* | | | Merge pull request #1822 from dotty-staging/fix-#1792odersky2016-12-181-0/+2
|\ \ \ \ | |_|/ / |/| | | Fix #1792: Allow newline in front of `{` for procedure syntax
| * | | Fix #1792: Allow newline in front of `{` when supporting procedure syntax.Martin Odersky2016-12-141-0/+2
| | | |
* | | | Merge pull request #1775 from dotty-staging/add-implicit-funtypesodersky2016-12-1830-182/+557
|\ \ \ \ | | | | | | | | | | Add implicit function types
| * | | | Fix commentMartin Odersky2016-12-171-1/+1
| | | | |
| * | | | Fix formattingMartin Odersky2016-12-171-2/+1
| | | | |
| * | | | Fix rebase breakageMartin Odersky2016-12-171-1/+5
| | | | |