aboutsummaryrefslogtreecommitdiff
path: root/compiler
Commit message (Collapse)AuthorAgeFilesLines
* Address reviewer feedback on #2125Felix Mulder2017-03-295-251/+234
|
* Add documentation to ParallelTestingFelix Mulder2017-03-291-2/+247
|
* Add test filtering via `filterTest <regex>`Felix Mulder2017-03-294-23/+49
|
* Restore partest and enable it to run alongside new partestFelix Mulder2017-03-296-0/+1478
|
* Add testing of new test frameworkFelix Mulder2017-03-292-49/+132
|
* Add summary report to pos tests and run testsFelix Mulder2017-03-292-133/+264
|
* Consolidate test reporters in `TestReporter` always dumping log fileFelix Mulder2017-03-296-63/+108
|
* Throw on timeoutFelix Mulder2017-03-291-2/+3
|
* Disable interactive mode in CIFelix Mulder2017-03-293-1/+7
|
* Fix tasty bootstrapFelix Mulder2017-03-292-26/+52
|
* Support copyToDir for tests that mutate original sourceFelix Mulder2017-03-292-8/+18
|
* Make compileList take test name argFelix Mulder2017-03-293-4/+9
|
* Fix reflective method lookup to work for both scalac & dottyFelix Mulder2017-03-291-21/+28
|
* Make tests composableFelix Mulder2017-03-292-414/+360
|
* Kill partestFelix Mulder2017-03-297-1122/+24
|
* Remove `tests.scala`Felix Mulder2017-03-293-378/+18
|
* Move whitelist test out of `tests.scala`Felix Mulder2017-03-292-12/+17
|
* Move REPL diff tests out of `tests.scala`Felix Mulder2017-03-293-19/+23
|
* Add all tests from `tests.scala` as is to new infraFelix Mulder2017-03-291-15/+357
|
* Rewrite testing logic as to not copy filesFelix Mulder2017-03-291-173/+267
|
* Stylistic changes to `Compiler` and `DPConsoleRunner`Felix Mulder2017-03-292-13/+13
|
* Add run testing capabilitiesFelix Mulder2017-03-292-19/+137
|
* Add ability to compile single filesFelix Mulder2017-03-291-1/+16
|
* Add support for error annotations in neg testsFelix Mulder2017-03-292-42/+188
|
* Add neg testing capability to ParallelTestingFelix Mulder2017-03-291-2/+45
|
* Parallelize compilation runs for ParallelTesting infraFelix Mulder2017-03-291-27/+92
|
* Prefix out directory with name of testFelix Mulder2017-03-291-1/+6
|
* Add java compilation to `ParallelTesting`Felix Mulder2017-03-291-0/+23
|
* Add interface for unit tests into `ParallelTesting`Felix Mulder2017-03-291-0/+60
|
* Add initial compilation functionality to ParallelTesting traitFelix Mulder2017-03-291-0/+41
|
* Merge pull request #2139 from dotty-staging/fix/false-companionGuillaume Martres2017-03-282-3/+22
|\ | | | | Fix #2137: Create dummy companions for top-level objects without a real one
| * Namer#createCompanionLinks: avoid using denotNamedGuillaume Martres2017-03-241-4/+4
| | | | | | | | | | | | | | | | | | | | | | The previous commit introduced two new usages of `denotNamed` which broke tests/run/t1987b because `denotNamed` indirectly calls `packageObj` which caches the package object, except that at this point the package object is not yet entered, so the cache was incorrect. We fix this by using `effectiveScope.lookup` instead since we only need to look into the current scope, this is also true for the two existing usage of `denotNamed` in `createCompanionLinks` so they were also replaced by `effectiveScope.lookup`.
| * Fix #2137: Create dummy companions for top-level objects without a real oneGuillaume Martres2017-03-231-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, we sometimes ended up forcing a companion class symbol from a previous run or from the classpath which lead to weird issues like in `false-companion`. Even if we end up not forcing such a symbol, its presence can still lead to issue: before this commit incremental compilation of `dotty-compiler-bootstrapped` was broken because we recorded a false dependency on the non-bootstrapped `dotty-compiler` jar. The added test is currently marked pending because it does not work with JUnit (which doesn't handle separate compilation), only partest. I didn't managed to get it to work right, and this won't be necessary once our testing framework is overhauled by https://github.com/lampepfl/dotty/pull/2125 anyway, so I'll just have to remember to enable this test afterwards.
| * Revert "sbt.ExtractDependencies: avoid false dependencies"Guillaume Martres2017-03-231-1/+1
| | | | | | | | | | | | | | | | | | This reverts commit 57641b9c7447fa0a6f1f47352dffb4c56c560b6a. Using `Type#select` instead of `Type#member` turned out to not help at all in avoiding false dependencies, you can still get a symbol whose denotation does not reallyExists. A proper fix for this issue is contained in the next commit.
* | Merge pull request #2127 from dotty-staging/fix/variable-pattern-accessGuillaume Martres2017-03-281-2/+3
|\ \ | | | | | | Fix desugaring of variable pattern leaking into API
| * | Fix desugaring of variable pattern leaking into APIGuillaume Martres2017-03-211-2/+3
| | | | | | | | | | | | | | | This was especially bad for incremental compilation since the temporary variable name is unstable.
* | | Fix varargs in methods and constructors (#2135)Igor Mielientiev2017-03-223-1/+36
| | | | | | | | | | | | | | | | | | | | | * Fix varargs in methods (Issue: #1625) * Fix minor comments * Change varargs parameter message * Fix failed test, fix case for constructor
* | | Fix incremental compilation not working after restarting sbtGuillaume Martres2017-03-211-4/+64
| |/ |/| | | | | | | | | | | | | | | Previously, every time sbt was restarted, `compile` would do a full recompilation. This happened because sbt uses Java serialization to persist the incremental compilation analysis, deserialization was always silently failing because we used to serialize a class from the dotty-compiler jar which is not on the classpath at deserialization time. See the added comments for more details.
* | incremental compilation: Fix unstable name hashing for refined membersGuillaume Martres2017-03-211-6/+42
| |
* | Fix IntellliJ support by making dotty-doc its own subprojectFelix Mulder2017-03-211-2/+2
| |
* | 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.
* | Handle shadowed for TermRefWithSigMartin Odersky2017-03-201-4/+8
|/ | | | Making a name shadowed lost the signature before.
* Fix #2084.Dmitry Petrashko2017-03-201-5/+12
|
* Merge pull request #2114 from dotty-staging/fix/inline-error-posGuillaume Martres2017-03-201-3/+4
|\ | | | | Fix position of errors in Inliner TreeTypeMap
| * Fix position of errors in Inliner TreeTypeMapGuillaume Martres2017-03-161-3/+4
| |
* | Merge pull request #2118 from abeln/super-bugDmitry Petrashko2017-03-201-19/+21
|\ \ | | | | | | Fix #2117: bug in typechecking super prefix with invalid enclosing class
| * | Fix bug in typechecking super prefix with invalid enclosing classAbel Nieto2017-03-171-19/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When typechecking class A { C.super.foo() } If C isn't an enclosing class, the compiler was throwing because of an unguarded pattern match. Fix the issue by checking for ErrorType. Tested: Verified that the example above no longer throws. Added a test.
* | | Better type inference in harmonizeUnionGuillaume Martres2017-03-183-25/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before this commit, the added testcase failed because the type of `inv` was inferred to be `Inv[Any]` instead of `Inv[Int]`. The situation looks like this: def inv(cond: Boolean) = if (cond) new Inv(1) // : Inv[A] where A >: Int else Inv.empty // : Inv[A'] where A' unconstrained // : Inv[A] | Inv[A'] To get the type of `inv`, we call `harmonizeUnion` which will take the lub of `Inv[A]` and `Inv[A']`, eventually this mean that we do: A' <:< A But since `harmonizeUnion` uses `fluidly`, this does not result in `A'` getting constrained to be a subtype of `A`, instead we constrain `A` to the upper bound of `A'`: Any <:< A We use `fluidly` to avoid creating OrTypes in `lub`, but it turns out that there is a less aggressive solution: `lub` calls `mergeIfSuper` which then calls `isSubTypeWhenFrozen`, if we just make these subtype calls non-frozen, we can achieve what we want. This is what the new `lub` parameter `canConstrain` allows.
* | | Merge pull request #2110 from dotty-staging/fix/reduce-more-lambdasGuillaume Martres2017-03-183-4/+6
|\ \ \ | | | | | | | | Reduce type lambdas even if variance changes