summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* [backport] Remove existing builds from private-repo before building a release.Lukas Rytz2015-05-061-0/+25
| | | | Backport of 1a292c3d0fe10699837a02ffd8adc3ea4d3a6d22
* [backport] Revert back to Scalacheck 1.11.x, fixes to bootstrap scriptAdriaan Moors2015-05-062-15/+19
| | | | | | | | | | | Scalacheck 1.12.x cross-compiles to JS and will take more work to integrate. Make sure we never attempt to publish scalacheck to sonatype. Force checkout module refs in case of dirty workspace. Backport of f238586d1b9d93533ee9507b56a26a97c2b2501c
* [backport] remove references to private-repo.typesafe.comLukas Rytz2015-05-064-23/+10
| | | | Backport of 9cd3e6505aa4285750e63263e2551ab71f36ff8d
* [backport] Update versions.properitesLukas Rytz2015-05-062-10/+13
| | | | | | | | | | The tagged revisions of the modules integrate the latest release of the sbt-scala-modules sbt plugin. This enables building with a new scala binary version (e.g. 2.12.0-M1) without failinig MiMa. Also updates the other external dependencies. Backport of 8da073cd6bfaaaf3789fc8b70a61ebb66a2f0ded
* [backport] Documentation and some updates for the release build scriptLukas Rytz2015-05-062-110/+157
| | | | Backport of 7b54922b77fe1cf40177fc4a5ee9707bb5d854d2
* [backport] Comments in versions.propertiesLukas Rytz2015-05-061-2/+8
| | | | Backport of f9153619380d755a531f887fe0bd63b6e6a91738
* [backport] Remove starr.use.released property (not in use anymore)Lukas Rytz2015-05-062-2/+1
| | | | Backport of 3b2abdf6af87debdfb01f22f185d2a35852218fc
* Merge pull request #4491 from som-snytt/issue/noassertionsLukas Rytz2015-05-065-7/+21
|\ | | | | SI-9302 -Xdisable-assertions raises elide level
| * SI-9302 -Xdisable-assertions raises elide levelSom Snytt2015-05-055-7/+21
|/ | | | | | | | | | Previously, the flag caused any elidable to be elided. This commit simply sets -Xelide-below to ASSERTION + 1. The flag is useful because there's no mnemonic for specifying the magic constant as an option argument. `-Xelide-below ASSERTION` means asserts are enabled.
* Merge pull request #4490 from retronym/ticket/9298Lukas Rytz2015-05-055-0/+29
|\ | | | | SI-9298 Fix erasure of value classes in Java
| * SI-9298 Fix erasure of value classes in JavaJason Zaugg2015-05-055-0/+29
|/ | | | | | | | | | | | Value classes that appear in signatures of Java defined methods should not be erased to the underlying type. Before this change, we'd get a `ClassCastException`, as the Scala call site would unbox the value class despite the fact the Java recipient would expect the boxed representation. I've tested this for primitive and object wrapped types in parameter and return position.
* Merge pull request #4475 from smarter/fix/old-spec-linksLukas Rytz2015-05-044-6/+6
|\ | | | | Remove references to the old PDF version of the specification
| * Remove references to the old PDF version of the specificationGuillaume Martres2015-04-304-6/+6
| |
* | Merge pull request #4486 from mpociecha/ticket/8679Lukas Rytz2015-05-046-5/+7025
|\ \ | | | | | | SI-8679 Add support for ScalaLongSignature attribute in scalap
| * | SI-8679 Add support for ScalaLongSignature attribute in scalapMichał Pociecha2015-05-036-5/+7025
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | scalap didn't support really big class files. It was returning an empty String for such files. The reason was that there were only ScalaSignatures taken into account. This commit adds support for ScalaLongSignature. We try to get such an attribute when we didn't find ScalaSignature. Also there's added an additional case to the logic retrieving bytes for a signature. Since ScalaLongSignature can contain many parts, we have to merge their byte arrays. Changes are tested by a new partest-based test. These two files are really big, but it was required (t8679.scala is a reduced version of BigScalaClass - an example attached to JIRA). There are also added TODOs with a JIRA ticket: We have three places, where we process Scala signatures. In the future it would be better to reuse some common logic, if it's possible.
* | | Merge pull request #4467 from nafg/patch-1Lukas Rytz2015-05-041-2/+2
|\ \ \ | | | | | | | | Fix scaladoc of Try#failed
| * | | Fix scaladoc of Try#failednafg2015-04-241-2/+2
| | | | | | | | | | | | | | | | | | | | The documentation stated that it returns a Success[Throwable] regardless, either containing the failure or an UnsupportedOperationException. However only Failure#failed returns a success; Success#failed returns a Failure. Also the phrasing of "Completes this `Try`" and "that `Try` failed with" sounds like it was copy-pasted from Future? Trys don't complete, nor fail, they are immutable.
* | | | Merge pull request #4463 from retronym/topic/indylambda-emit-indyLukas Rytz2015-05-049-23/+186
|\ \ \ \ | | | | | | | | | | Use LambdaMetafactory where possible for lambda creation.
| * | | | Small refactorings and additional comments in DelambdafyJason Zaugg2015-04-221-46/+54
| | | | |
| * | | | Update internal documentation in Delambdafy phaseJason Zaugg2015-04-221-5/+12
| | | | |
| * | | | Support specialized method-handle based lambdasJason Zaugg2015-04-213-7/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ``` scala> (x: Int) => {??? : Int} res2: Int => Int = $$Lambda$1371/1961176822@6ed3ccb2 scala> res2(42) scala.NotImplementedError: an implementation is missing at scala.Predef$.$qmark$qmark$qmark(Predef.scala:225) at .$anonfun$1(<console>:8) at $$Lambda$1371/1961176822.apply$mcII$sp(Unknown Source) ... 33 elided scala> (x: Int, y: Long) => {??? : Int} res4: (Int, Long) => Int = $$Lambda$1382/1796047085@6f8e8894 scala> res4(0, 0L) scala.NotImplementedError: an implementation is missing at scala.Predef$.$qmark$qmark$qmark(Predef.scala:225) at .$anonfun$1(<console>:8) at $$Lambda$1382/1796047085.apply$mcIIJ$sp(Unknown Source) ... 33 elided ```
| * | | | Add scala-java8-compat to scala-library.jarJason Zaugg2015-04-211-0/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the ant build is run with `-Dscala-java8-compat.package`, the contents of `org.scala-lang.modules:scala-java8-compat` are spliced into `scala-library.jar`. This is handy to facilitate downstream testing of indy lambdas, we can just use the the compiler options `-target 1.8 -Ydelambdafy:method -Xexperimental` without needed to add `scala-java8-compat.jar` to the compile and runtime classpaths. (Classpath augmentation doesn't appear to be straight forward in partest or in the community build.)
| * | | | SI-8359 Update a test to work with indylambdaJason Zaugg2015-04-211-0/+1
| | | | |
| * | | | SI-8359 Emit invokedynamic for lambdasJason Zaugg2015-04-215-12/+101
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Suitable lambdas are identified in Delambdafy and marked with such with a tree annotation that includes the data needed by the backend to emit an invokedynamic instruction. GenBCode to rewrite instantiation of such anonymous function classes with an invokedynamic instruction. At this stage, I don't plan to merge the support for this into GenASM. Between these points, the lambda capture is represented as an application of a dummy factory symbol: ``` <dummy>(captures...) : FunctionN ``` Demo: ``` % wget http://central.maven.org/maven2/org/scala-lang/modules/scala-java8-compat_2.11/0.3.0/scala-java8-compat_2.11-0.3.0.jar % qscala -classpath scala-java8-compat_2.11-0.3.0.jar -Ydelambdafy:method -target:jvm-1.8 -Ybackend:GenBCode Welcome to Scala version 2.11.6-20150309-144147-c91c978c81 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_25). Type in expressions to have them evaluated. Type :help for more information. scala> (() => "").getClass res0: Class[_ <: () => String] = class $$Lambda$1/871790326 ``` I have also corrected an error in a previous commit. The newly added symbol test, `isDelambdafyTarget`, needs to check for the `ARTIFACT` flag, as that is what is added to the method by `Uncurry`.
* | | | | Merge pull request #4470 from swaldman/correct-predef-assertion-docLukas Rytz2015-05-041-2/+2
|\ \ \ \ \ | | | | | | | | | | | | Fix documentation of assertions in Predef
| * | | | | Fixed documentation of assertions in Predefswaldman2015-04-281-2/+2
| | | | | | | | | | | | | | | | | | Assertions can be elided at compile time; they generate no runtime conditional code and are in fact run unconditionally if not elided during compilation. Updated documentation to reflect that.
* | | | | | Merge pull request #4469 from retronym/ticket/9282Lukas Rytz2015-05-041-3/+5
|\ \ \ \ \ \ | | | | | | | | | | | | | | SI-9282 Avoid obscuring an exception during classfile parsing
| * | | | | | SI-9282 Avoid obscuring an exception during classfile parsingJason Zaugg2015-04-271-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Based on analysis of a stack trace in this bug report, I identified a code path in `ClassfileParser` that can lead to an NPE in its exception handling code. If `val in = new AbstractFileReader(file)` throws (e.g during its construction in which it eagerly reads the file `val buf: Array[Byte] = file.toByteArray`), the call to `in.file` in `handleError` will NPE. This commit stores the active file directly a field in ClassfileParser and uses this in the error reporting.
* | | | | | | Merge pull request #4473 from retronym/ticket/9285Lukas Rytz2015-05-043-1/+3
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | SI-9285 Don't warn about non-sensible equals in synthetic methods
| * | | | | | | SI-9285 Don't warn about non-sensible equals in synthetic methodsJason Zaugg2015-04-293-1/+3
| | |/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Notably, in the synthetic equals method of a case class. Otherwise, we get an unsuppressable warning when defining a case class with a `Unit`-typed parameter, which some folks use a placeholder for real type while evolving a design.
* | | | | | | Merge pull request #4487 from mpociecha/remove-unused-source-classLukas Rytz2015-05-041-127/+0
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Remove unused, mostly commented out doc/html/page/Source.scala
| * | | | | | | Remove unused, mostly commented out doc/html/page/Source.scalaMichał Pociecha2015-05-021-127/+0
| | |_|_|_|/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This file seems to be some early, unfinished draft. It's unused and mostly commented out. De facto it hasn't been changed since this version: https://github.com/scala/scala/blob/d9e3dde6d6d18b9a93e7566447cc3ee342f033d5/src/compiler/scala/tools/nsc/doc/html/page/Source.scala Just in meantime someone updated imports, moved it to other package etc. but nothing more.
* | | | | | | Merge pull request #4488 from gbasler/topic/files-in-wrong-placeLukas Rytz2015-05-045-4/+2
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Cleanup files in wrong place
| * | | | | | | Avoid `Set` instantiation.Gerard Basler2015-05-031-2/+1
| | | | | | | |
| * | | | | | | Move test files to the right place.Gerard Basler2015-05-034-2/+1
| |/ / / / / /
* | | | | | | Merge pull request #4484 from lrytz/intellijLukas Rytz2015-05-0443-1057/+178
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | | Update intellij project files for IDEA 14.1 and latest Scala plugin
| * | | | | | Update intellij project files for IDEA 14.1 and latest Scala pluginLukas Rytz2015-05-0143-1057/+178
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Removes the src/intellij-14 folder and moves everything back to src/intellij.
* | | | | | | Merge pull request #4485 from retronym/topic/pull-libs-redirectLukas Rytz2015-05-021-1/+1
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Follow HTTP redirects when downloading bootstrap binaries
| * | | | | | | Follow HTTP redirects when downloading bootstrap binariesJason Zaugg2015-05-021-1/+1
|/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After a recent change to the repository that hosts these JARs, we now get a HTTP redirect to the new destination. We need to explicitly instruct curl to follow this.
* | | | | | | Merge pull request #4483 from adriaanm/uber-build-publish-zincAdriaan Moors2015-05-011-1/+1
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | | | PR validation publishes zinc to $prRepoUrl
| * | | | | | PR validation publishes zinc to $prRepoUrlAdriaan Moors2015-05-011-1/+1
|/ / / / / / | | | | | | | | | | | | | | | | | | Companion to https://github.com/scala-ide/uber-build/pull/73
* | | | | | Merge pull request #4471 from smarter/spec/remove-NotNullAdriaan Moors2015-04-282-6/+1
|\ \ \ \ \ \ | |/ / / / / |/| | | | | spec: Remove obsolete rules related to scala.NotNull
| * | | | | spec: Remove obsolete rules related to scala.NotNullGuillaume Martres2015-04-282-6/+1
|/ / / / / | | | | | | | | | | | | | | | | | | | | These rules were removed in #2244 and scala.NotNull itself was deprecated.
* | | | | Merge pull request #4404 from soc/topic/specAdriaan Moors2015-04-2741-465/+1618
|\ \ \ \ \ | | | | | | | | | | | | Spec improvements
| * | | | | Spec improvementsSimon Ochsenreither2015-04-2541-465/+1618
| | |_|/ / | |/| | |
* | | | | Merge pull request #4465 from retronym/ticket/9279Lukas Rytz2015-04-271-5/+5
|\ \ \ \ \ | |/ / / / |/| | | | SI-9279 Improve performance of bash runner script
| * | | | SI-9279 Improve performance of bash runner scriptJason Zaugg2015-04-231-5/+5
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In fbe897d16, the template for bash scripts (scala/scalac/etc) was modified to fix processing of `-J`, `-bootcp`. This involved looping through the argument array and filtering out options like `-bootcp` that only influence the script, and shouldn't be passed to the JVM. However, the mechanism to do this uses an inefficient, erm, "CanBuildFrom", and under the load of even a few hundred source files takes half a second before the JVM starts. Throw 2000 files at it, and you have to wait ten seconds! This commit uses a more efficient array append operator. This requires Bash 3 or above. Hopefully it is safe to presume this version these days, it's been around for a decade. Results: ``` % time ~/scala/2.11.6/bin/scalac -J-NOJVM abcdedfghijklmnopqrtsuvwxyv{1..2000} 2>&1 Unrecognized option: -NOJVM Error: Could not create the Java Virtual Machine. Error: A fatal exception has occurred. Program will exit. real 0m7.765s user 0m7.734s sys 0m0.028s % time ./build/quick/bin/scalac -J-NOJVM abcdedfghijklmnopqrtsuvwxyv{1..2000} 2>&1 Unrecognized option: -NOJVM Error: Could not create the Java Virtual Machine. Error: A fatal exception has occurred. Program will exit. real 0m0.144s user 0m0.124s sys 0m0.022s ``` Thanks to Stephan Schmidt for pointing out the performance gulf.
* | | | Merge pull request #4415 from Ichoran/issue/9254Adriaan Moors2015-04-222-5/+32
|\ \ \ \ | | | | | | | | | | SI-9254 UnrolledBuffer appends in wrong position
| * | | | SI-9254 UnrolledBuffer appends in wrong positionRex Kerr2015-03-312-5/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixed two bugs in insertion (insertAll of Unrolled): 1. Incorrect recursion leading to an inability to insert past the first chunk 2. Incorect repositioning of `lastptr` leading to strange `append` behavior after early insertion Added tests checking that both of these things now work. Also added a comment that "waterlineDelim" is misnamed. But we can't fix it now--it's part of the public API. (Shouldn't be, but it is.)
* | | | | Merge pull request #4416 from Ichoran/issue/9197Adriaan Moors2015-04-222-1/+28
|\ \ \ \ \ | | | | | | | | | | | | SI-9197 Duration.Inf not a singleton when deserialized