summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Add regression tests for SI-10027Jakob Odersky2016-11-033-0/+18
|
* Factor out some more into ScaladocScannerAdriaan Moors2016-10-192-30/+26
|
* DocScanner has doc-comment scanning hooks.Adriaan Moors2016-10-193-67/+46
| | | | | | | Align the Scala and Java doc comment scanning methods a bit. The Scala one especially had gotten a bit messy, with regular block comments being kind of accumulated, but never actually registered as DocComments.
* Keep `skipBlockComment` tail recursiveAdriaan Moors2016-10-192-39/+30
| | | | | | | Avoid StackOverflow on big comments. Simplify `ScaladocJavaUnitScanner` while in there. TODO: Do same for `ScaladocUnitScanner`?
* Merge pull request #5465 from adriaanm/licenseeAdriaan Moors2016-10-1810-15563/+32
|\ | | | | Duplicate license in /LICENSE for GitHub
| * Duplicate license in /LICENSE for GitHubAdriaan Moors2016-10-1810-15563/+32
|/ | | | | So that our license (in doc/LICENSE.md) is detected by `licensee`. Also removed some cruft while I was at it... Bye bye svn mappings.
* Merge pull request #5386 from dwijnand/sbt-0.13.12Seth Tisue2016-10-183-2/+7
|\ | | | | Bump sbt.version to 0.13.12, without breaking
| * Bump sbt.version to 0.13.12, without breakingDale Wijnand2016-09-223-2/+7
| |
* | Merge pull request #5462 from retronym/topic/perm-size-be-goneSeth Tisue2016-10-181-1/+1
|\ \ | | | | | | Avoid use of legacy JVM MaxPermSize option in partest
| * | Avoid use of legacy JVM MaxPermSize option in partestJason Zaugg2016-10-181-1/+1
|/ / | | | | | | | | | | | | In Java 8+, which we require on this branch, this option is a no-op and triggers a JVM warning these days. See http://openjdk.java.net/jeps/122
* | Merge pull request #5458 from retronym/merge/2.12.0-to-2.12.xSeth Tisue2016-10-1441-356/+620
|\ \ | | | | | | Merge 2.12.0 to 2.12.x [ci:last-only]
| * | Merge remote-tracking branch 'origin/2.12.0' into merge/2.12.0-to-2.12.xJason Zaugg2016-10-1441-356/+620
|/| |
| * | Make stability test optional.Adriaan Moors2016-10-131-3/+15
| | | | | | | | | | | | To allow building a dist for the community build in under 20 mins.
| * | Make sbtBuildTask configurable in bootstrapAdriaan Moors2016-10-131-1/+1
| | |
| * | Merge pull request #5457 from retronym/topic/restarrAdriaan Moors2016-10-131-1/+1
| |\ \ | | | | | | | | Restarr to fix InterfaceMethodRef after closure inlining
| | * | Restarr to fix InterfaceMethodRef after closure inliningJason Zaugg2016-10-131-1/+1
| | | | | | | | | | | | | | | | We need this to close the loop on #5452.
| * | | Merge pull request #5456 from adriaanm/i244Adriaan Moors2016-10-135-23/+31
| |\ \ \ | | |/ / | |/| | Detect clash of mixedin val and existing member.
| | * | Detect clash of mixedin val and existing member.Adriaan Moors2016-10-125-23/+31
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | Before, we looked only at the result type, which was silly. This was originally motivated by a hack to get to the error about conflicting paramaccessors. The error detection for that can now be formulated more directly. Fixes scala/scala-dev#244
| * | Merge pull request #5429 from lrytz/sd224Adriaan Moors2016-10-1122-80/+428
| |\ \ | | | | | | | | Default -Xmixin-force-forwarders to true
| | * | Test cases for super callsLukas Rytz2016-09-302-0/+308
| | | | | | | | | | | | | | | | Recovered and adapted some test cases for super calls from #5415
| | * | Default -Xmixin-force-forwarders to trueLukas Rytz2016-09-3011-43/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also eliminates the warning when a mixin forwarder cannot be implemented because the target method is a java-defined default method in an interface that is not a direct parent of the class. The test t5148 is moved to neg, as expected: It was moved to pos when disabling mixin forwarders in 33e7106. Same for the changed error message in t4749.
| | * | Explicit SerialVersionUID for all ClassTags / ManifestsLukas Rytz2016-09-305-16/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Looking at the class hierarchy around ClassTag and Manifest, the only class that had a serialVersionUID is AnyValManifest, where the hierarchy is something like: trait ClassTag // extends Serializable |- class GenericClassTag |- trait Manifest |- class ClassTypeManifest |- class SingletonTypeManifest |- ... |- abstract class AnyValManifest // has SerialVersionUID |- class DoubleManifest |- ... Note that AnyValManifest is an abstract class, so the SerialVersionUID annotation does not help there. This commit adds explicit SerialVersionUID annotations to (hopefully) all subclasses of ClassTag, to make sure they are stable under compatible changes (such as changing -Xmixin-force-forwarders).
| | * | re-enable two tests (starr is up to date now)Lukas Rytz2016-09-306-20/+12
| | | |
| | * | Error message for super calls to indirect java parent interfacesLukas Rytz2016-09-302-2/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Super calls to indirect java parent interfaces cannot be emitted, an error message is emitted during SuperAccessors. The error message was missing if the super call was non-qualified, resulting in an assertion failure in the backend.
| * | | Merge pull request #5442 from adriaanm/t9943Adriaan Moors2016-10-113-2/+12
| |\ \ \ | | | | | | | | | | SI-9943 sealed class does not yield SAM type
| | * | | SI-9943 final/sealed class does not yield SAM typeAdriaan Moors2016-10-043-2/+12
| | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Cannot subclass such a class. (Well, we could subclass a sealed class in the same compilation unit. We ignore this for simplicity.) This is a bit of a sneaky fix for this bug, but our hand is pretty much forced by other constraints, in this intersection of overload resolution involving built-in function types and SAMs, and type inference for higher-order function literals (#5307). Luckily, in this particular issue, the overloading clash seems accidental. The `sealed` `<:<` class is not a SAM type as it cannot be subclassed outside of `Predef`. For simplicity, we don't consider where the SAM conversion occurs and exclude all sealed classes from yielding SAM types. Thanks to Miles for pointing out that `final` was missing in my first iteration of this fix.
| * | | Merge pull request #5452 from lrytz/sd242Adriaan Moors2016-10-102-2/+14
| |\ \ \ | | | | | | | | | | Fix the interface flag when re-writing a closure call to the body method
| | * | | Fix the interface flag when re-writing a closure call to the body methodLukas Rytz2016-10-092-2/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When re-writing a closure invocation to the body method, the `itf` flag of the invocation instruction was incorrect: it needs to be true if the method is defined in an interface (including static methdos), not if the method is invoked through `INVOKEINTERFACE`. JDK 8 doesn't flag this inconsistency and executes the bytecode, but the verifier in JDK 9 throws an `IncompatibleClassChangeError`. Similar fixes went into e619b03.
| * | | | Merge pull request #5445 from retronym/ticket/9946bAdriaan Moors2016-10-107-73/+118
| |\ \ \ \ | | |/ / / | |/| | | SI-9946 Fix regressions with nullification of singly used fields
| | * | | SI-9946 don't null field in lazy accessors that turn out to be liveJason Zaugg2016-10-076-73/+104
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a non-transient lazy val is the only user of a private field in a class, the field is nulled out at the end of the lazy initializer. This is tested in the existing test `run/lazy-leaks.scala`. The analysis of which fields could be nulled out was recently moved from `mixin` to the new `fields` phase. This introduced a regression as a reference from an inner- or companion-classes had not yet been processed by `explicitouter` to publicise private fields. This commit delays the analysis to mixin (after explicit outer has done its work.) Navigating from `foo$lzycompute()` to `foo()` to `foo` is a little dirty now. I'm not sure whether there is a more robust way to structure things.
| | * | | SI-9946 make nullification of lazy val dependencies module awareJason Zaugg2016-10-072-1/+15
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a non-transient lazy val is the only user of a private field in a class, the field is nulled out at the end of the lazy initializer. This is tested in the existing test `run/lazy-leaks.scala`. The analysis of which fields could be nulled out was recently moved from `mixin` to the new `fields` phase. This introduced a regression as a it didn't account for the richer pallete of trees and symbols at that juncture. This commit excludes references to private member modules from collection of private fields, thus avoiding a later compiler crash in the backend due to a nonsense tree trying to null out the module symbol. It might make sense to null out the module var, but I've opted to limit the scope of this analysis to paramaccessors and regular fields.
| * | | Merge pull request #5443 from SethTisue/disable-SI-5293-testsSeth Tisue2016-10-062-171/+0
| |\ \ \ | | |/ / | |/| | SI-5293 delete flaky collection performance tests
| | * | SI-5293 delete flaky collection performance testsSeth Tisue2016-10-062-171/+0
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | timing-based tests like these are way too sensitive to how many tests are running in parallel, random disturbances in the AWS force (?), and so forth. the result being recurring intermittent failures such as java.lang.AssertionError: assertion failed: scalaparset: 491535200 vs. javaset: 59864300 from https://scala-ci.typesafe.com/job/scala-2.12.x-integrate-windows/361/consoleFull Rex and Adriaan both suggested simply deleting the tests, rather than putting them in "pending" purgatory ("benchmarks do not belong in the partest suite", period)
* | | Merge pull request #5416 from SethTisue/merge-2.12.0-to-2.12.x-sep-24Seth Tisue2016-10-0547-219/+712
|\ \ \ | | | | | | | | merge 2.12.0 onto 2.12.x [ci: last-only]
| * | | Merge remote-tracking branch 'origin/2.12.0' into merge-2.12.0-to-2.12.x-sep-24Seth Tisue2016-10-0417-108/+215
| |\| |
| | * | Update keypair used to rsync spec to charaAdriaan Moors2016-09-292-19/+77
| | | | | | | | | | | | | | | | | | | | | | | | So that we can rsync to the 2.12 spec directory. (also updated the forced command in scalatest@chara.epfl.ch:~/.ssh/authorized_keys2)
| | * | Merge pull request #5438 from SethTisue/spec-2.12Seth Tisue2016-09-293-4/+4
| | |\ \ | | | | | | | | | | bump version number in spec from 2.11 to 2.12
| | | * | capitalize GitHub correctlySeth Tisue2016-09-292-2/+2
| | | | |
| | | * | bump version number in spec from 2.11 to 2.12Seth Tisue2016-09-293-4/+4
| | |/ /
| | * | Merge pull request #5437 from SethTisue/spec-2.12Adriaan Moors2016-09-292-2/+2
| | |\ \ | | | | | | | | | | make the 2.12 spec available on scala-lang.org
| | | * | make the 2.12 spec available on scala-lang.orgSeth Tisue2016-09-292-2/+2
| | | | | | | | | | | | | | | | | | | | reference: https://github.com/scala/scala-lang/issues/479
| | * | | Merge pull request #5430 from adriaanm/dev235Adriaan Moors2016-09-298-66/+117
| | |\ \ \ | | | |/ / | | |/| | Emit local module like lazy val
| | | * | Clarify docs, variable nameAdriaan Moors2016-09-291-11/+12
| | | | | | | | | | | | | | | | | | | | A local lazy val and a local object are expanded in the same way.
| | | * | Emit local module like lazy valAdriaan Moors2016-09-296-40/+88
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The motivation is to use the new fine-grained lock scoping that local lazies have since #5294. Fixes scala/scala-dev#235 Co-Authored-By: Jason Zaugg <jzaugg@gmail.com>
| | | * | Make some name suffixes constantsAdriaan Moors2016-09-282-18/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There's still a lot of duplication, as well as plenty of opportunities for constant folding / simplification.
| | * | | Merge pull request #5433 from SethTisue/undeprecate-either-left-rightAdriaan Moors2016-09-291-15/+13
| | |\ \ \ | | | | | | | | | | | | don't deprecate Either.left and Either.right yet
| | | * | | don't deprecate Either.left and Either.right yetSeth Tisue2016-09-281-15/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | for two reasons: * to facilitate warning-free cross-compilation between Scala 2.11 and 2.12 * because it's not clear that .swap is a good replacement for .left Either.right seems almost certain to be deprecated in 2.13. Either.left's future is uncertain; see discussion (and links to additional discussions) at https://github.com/scala/scala/pull/5135
| | * | | | Merge pull request #5408 from szeiger/wip/mima-2.12.0Adriaan Moors2016-09-292-2/+2
| | |\ \ \ \ | | | |/ / / | | |/| | | Enable MiMa for 2.12.0
| | | * | | Enable MiMa for 2.12.0Stefan Zeiger2016-09-292-2/+2
| | |/ / /
| * | | | Merge remote-tracking branch 'origin/2.12.0' into merge-2.12.0-to-2.12.x-sep-24Seth Tisue2016-09-2827-81/+463
| |\| | |