summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* SI-9834 Show expansion of update on errorSom Snytt2016-11-252-3/+5
|
* SI-9834 Improve error on failed op=Som Snytt2016-11-257-16/+76
| | | | | | | | | | | | | If rewriting `x += y` fails to typecheck, emit error messages for both the original tree and the assignment. If rewrite is not attempted because `x` is a val, then say so. The error message at `tree.pos` is updated with the additional advice. SI-8763 Crash in update conversion When there are already errors, don't attempt mechanical rewrites.
* Merge pull request #5518 from som-snytt/issue/10037-2.11Jason Zaugg2016-11-116-5/+23
|\ | | | | SI-10037 ASR/LSR switched in ICodeReader
| * [nomerge] SI-10037 ASR/LSR switched in ICodeReaderSom Snytt2016-11-106-5/+23
| | | | | | | | | | | | | | | | | | | | Noticed when inlining from a class file. The test doesn't work because inlining fails with bytecode unavailable due to: ``` scala.reflect.internal.MissingRequirementError: object X in compiler mirror not found. ```
* | Merge pull request #5491 from SethTisue/akka-bumpSeth Tisue2016-11-101-1/+1
|\ \ | |/ |/| move to latest Akka 2.3.x release
| * move to latest Akka 2.3.x releaseSeth Tisue2016-10-311-1/+1
| | | | | | | | | | Akka 2.3.16 was released in October 2016: http://akka.io/news/2016/10/30/akka-2.3.16-released.html
* | Merge pull request #5511 from SethTisue/stop-no-dont-delete-everything-arghSeth Tisue2016-11-081-1/+1
|\ \ | | | | | | don't mass-delete old nightlies at release time
| * | don't mass-delete old nightlies at release timeSeth Tisue2016-11-081-1/+1
|/ / | | | | | | | | | | | | as happened with 2.12.0, for gory details see https://github.com/scala/scala-dev/issues/257 fix suggested by Stefan Zeiger
* | Merge pull request #5504 from retronym/topic/sbt-macro-warnSeth Tisue2016-11-071-0/+4
|\ \ | | | | | | Silence SBT logging about macros and incremental compilation.
| * | Silence SBT logging about macros and incremental compilation.Jason Zaugg2016-11-071-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since upgrading to SBT 0.13.12, clean builds have incurred warnings like: Because JavaMirrors.scala contains a macro definition, the following dependencies are invalidated unconditionally: .... This commit disables this behaviour of the SBT incremental compiler in the library and reflect projects, as these aren't regular macros (the macro implementations are hard coded in the compiler in `FastTrack`) so the new behaviour isn't actually improving correctness of inc. compilation.
* | | Merge pull request #5478 from dragos/backport/remove-println-SI-8717Adriaan Moors2016-10-283-6/+4
|\ \ \ | | | | | | | | [backport] Replace println with log calls in BrowsingLoaders
| * | | [backport] Replace println with log calls in BrowsingLoadersIulian Dragos2016-10-253-6/+4
| | |/ | |/| | | | | | | | | | | | | | | | This alternative symbol loader is used in the presentation compiler and may generate output even when the compiler should be silent. See SI-8717 for more context, even though this does not really fix the ticket.
* | | Merge pull request #5378 from som-snytt/issue/9913Seth Tisue2016-10-262-13/+16
|\ \ \ | |/ / |/| | SI-9913 Lead span iterator finishes at state -1
| * | SI-9913 Tighten bolts on span iteratorSom Snytt2016-09-061-13/+10
| | | | | | | | | | | | | | | Extra privacy, and the tricky state transition is made more tabular.
| * | SI-9913 Lead span iterator finishes at state -1Som Snytt2016-09-052-1/+7
| | | | | | | | | | | | | | | Even if no elements fail the predicate (so that the trailing iterator is empty).
* | | Merge pull request #5464 from retronym/backport/5386Seth Tisue2016-10-193-2/+7
|\ \ \ | | | | | | | | [backport] Bump sbt.version to 0.13.12, without breaking
| * | | [backport] Bump sbt.version to 0.13.12, without breakingDale Wijnand2016-10-193-2/+7
| | | |
* | | | Merge pull request #5467 from som-snytt/issue/9832-2.11-cleanupSeth Tisue2016-10-191-18/+22
|\ \ \ \ | | | | | | | | | | SI-9832 Fix line endings in junit test
| * | | | SI-9832 Fix line endings in junit testSom Snytt2016-10-191-18/+22
| | | | |
* | | | | Merge pull request #5343 from milessabin/topic/si-2712-backportAdriaan Moors2016-10-1835-6/+509
|\ \ \ \ \ | | | | | | | | | | | | SI-2712 Add support for higher order unification
| * | | | | SI-2712 Add support for higher order unificationMiles Sabin2016-08-1535-6/+509
| | |_|/ / | |/| | |
* | | | | Merge pull request #5453 from som-snytt/issue/9832-2.11Adriaan Moors2016-10-182-5/+76
|\ \ \ \ \ | | |/ / / | |/| | | SI-9832 -Xlint:help shows default
| * | | | SI-9832 -Xlint:help shows defaultSom Snytt2016-10-112-5/+76
| | |_|/ | |/| | | | | | | | | | | | | | | | | | Conclude help method with the default list. Extra words are supplied for underscore.
* | | | Merge pull request #5345 from milessabin/topic/si-7046-backportAdriaan Moors2016-10-1821-13/+252
|\ \ \ \ | | | | | | | | | | [nomerge] Partial fix for SI-7046
| * | | | Partial fix for SI-7046Miles Sabin2016-08-1521-13/+252
| | |/ / | |/| |
* | | | Merge pull request #5341 from milessabin/topci/si-9760-backportAdriaan Moors2016-10-182-1/+18
|\ \ \ \ | | | | | | | | | | SI-9760 Fix for higher-kinded GADT refinement
| * | | | SI-9760 Fix for higher-kinded GADT refinementMiles Sabin2016-08-152-1/+18
| |/ / /
* | | | Merge pull request #5240 from som-snytt/issue/9336-paste-tabAdriaan Moors2016-10-181-2/+5
|\ \ \ \ | | | | | | | | | | SI-9336 Enable paste detect in jline
| * | | | SI-9336 Enable paste detect in jlineSom Snytt2016-06-211-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | When the next char is available immediately after a tab, the tab is taken raw instead of invoking completion.
* | | | | Merge pull request #5239 from martijnhoekstra/doc_capitalizeAdriaan Moors2016-10-181-0/+1
|\ \ \ \ \ | | | | | | | | | | | | Doc: capitalize doesn't handle non-BMP characters
| * | | | | doc: capitalize only works on BMP charactersMartijn Hoekstra2016-06-211-0/+1
| |/ / / /
* | | | | Merge pull request #5348 from som-snytt/issue/9841-test-2.11Adriaan Moors2016-10-181-0/+24
|\ \ \ \ \ | | | | | | | | | | | | SI-9841 Regression test for init SO
| * | | | | SI-9841 Regression test for init SOSom Snytt2016-08-241-0/+24
| | |/ / / | |/| | | | | | | | | | | | | Verifies example behavior in ticket.
* | | | | Merge pull request #5218 from retronym/ticket/9806Jason Zaugg2016-10-182-2/+20
|\ \ \ \ \ | |_|_|_|/ |/| | | | SI-9806 Fix incorrect codegen with optimizer, constants, try/catch
| * | | | SI-9806 Fix incorrect codegen with optimizer, constants, try/catchJason Zaugg2016-06-072-2/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The constant optimizer phase performs abstract interpretation of the icode representation of the progam in order to eliminate dead code. For each basic block, the possible and impossible states of each local variable is computed for both a normal and an exceptional exit. A bug in this code incorrectly tracked state for exception exits. This appears to have been an oversight: the new state was computed at each instruction, but it was discarded rather than folded through the intepreter.
* | | | | Merge pull request #5444 from retronym/topic/typer-debugJason Zaugg2016-10-161-1/+1
|\ \ \ \ \ | |_|_|_|/ |/| | | | Avoid tripping cyclic errors under -Ytyper-debug
| * | | | Avoid tripping cyclic errors under -Ytyper-debugJason Zaugg2016-10-071-1/+1
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Manually tested with: ``` % cat sandbox/test.scala package p { object X { def f(i: Int) = ??? ; def f(s: String) = ??? } object Main { val res = X.f(3.14) } } % qscalac -Ytyper-debug sandbox/test.scala |-- p EXPRmode-POLYmode-QUALmode (site: package <root>) | \-> p.type |-- object X BYVALmode-EXPRmode (site: package p) | |-- super EXPRmode-POLYmode-QUALmode (silent: <init> in X) | | |-- this EXPRmode (silent: <init> in X) | | | \-> p.X.type | | \-> p.X.type | |-- def f BYVALmode-EXPRmode (site: object X) | | |-- $qmark$qmark$qmark EXPRmode (site: method f in X) | | | \-> Nothing | | |-- Int TYPEmode (site: value i in X) | | | \-> Int | | |-- Int TYPEmode (site: value i in X) | | | \-> Int | | \-> [def f] (i: Int)Nothing | |-- def f BYVALmode-EXPRmode (site: object X) | | |-- $qmark$qmark$qmark EXPRmode (site: method f in X) | | | \-> Nothing | | |-- String TYPEmode (site: value s in X) | | | [adapt] String is now a TypeTree(String) | | | \-> String | | |-- String TYPEmode (site: value s in X) | | | [adapt] String is now a TypeTree(String) | | | \-> String | | \-> [def f] (s: String)Nothing | \-> [object X] p.X.type |-- object Main BYVALmode-EXPRmode (site: package p) | |-- X.f(3.14) EXPRmode (site: value res in Main) | | |-- X.f BYVALmode-EXPRmode-FUNmode-POLYmode (silent: value res in Main) | | | |-- X EXPRmode-POLYmode-QUALmode (silent: value res in Main) | | | | \-> p.X.type | | | \-> (s: String)Nothing <and> (i: Int)Nothing | | |-- 3.14 BYVALmode-EXPRmode (silent: value res in Main) | | | \-> Double(3.14) | | [search #1] start `<?>`, searching for adaptation to pt=Double => String (silent: value res in Main) implicits disabled | | [search #2] start `<?>`, searching for adaptation to pt=(=> Double) => String (silent: value res in Main) implicits disabled | | [search #3] start `<?>`, searching for adaptation to pt=Double => Int (silent: value res in Main) implicits disabled | | 1 implicits in companion scope | | [search #4] start `<?>`, searching for adaptation to pt=(=> Double) => Int (silent: value res in Main) implicits disabled | | 1 implicits in companion scope | | second try: <error> and 3.14 | | [search #5] start `p.X.type`, searching for adaptation to pt=p.X.type => ?{def f(x$1: ? >: Double(3.14)): ?} (silent: value res in Main) implicits disabled | | [search #6] start `p.X.type`, searching for adaptation to pt=(=> p.X.type) => ?{def f(x$1: ? >: Double(3.14)): ?} (silent: value res in Main) implicits disabled sandbox/test.scala:4: error: overloaded method value f with alternatives: (s: String)Nothing <and> (i: Int)Nothing cannot be applied to (Double) val res = X.f(3.14) ^ ```
* | | | Merge pull request #5405 from getfreebirdinc/2.11.xSeth Tisue2016-09-162-9/+9
|\ \ \ \ | |_|/ / |/| | | In ProcessBuilder docs, replace .lines w/ .lineStream
| * | | In ProcessBuilder docs, replace .lines w/ .lineStreamPaul Kernfeld2016-09-162-9/+9
|/ / / | | | | | | | | | ProcessBuilder.lines is deprecated
* | | Merge pull request #5199 from dwijnand/remove-scala-langStefan Zeiger2016-07-181-10/+14
|\ \ \ | | | | | | | | Make removing forkjoin dependant on the organization key
| * | | Make removing forkjoin dependant on the organization keyDale Wijnand2016-06-201-10/+14
| | |/ | |/|
* | | Merge pull request #5236 from som-snytt/issue/triple-backportLukas Rytz2016-07-132-1/+9
|\ \ \ | |/ / |/| | [nomerge] Avoid triple-quoting triple quotes
| * | Avoid triple-quoting triple quotesSom Snytt2016-06-172-1/+9
| | | | | | | | | | | | | | | | | | The boolean test for triples was inadvertently flipped. Adds test for pretty printed multiline strings
* | | Merge pull request #5190 from szeiger/wip/validate-test-use-sbtLukas Rytz2016-06-1921-92/+382
|\ \ \ | |/ / |/| | Use sbt for PR validation [ci: last-only]
| * | Remove bnd warnings from log outputStefan Zeiger2016-06-141-1/+1
| | |
| * | Use sbt for PR validationStefan Zeiger2016-06-1421-92/+382
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Support directories in `-doc-external-doc`: It is documented as accepting a “classpath_entry_path” for the keys but this only worked for JARs and not for individual class files. When checking for external-doc mappings for a Symbol, we now find the root directory relative to a class file instead of using the full class file path. The corresponding tests for SI-191 and SI8557 are also fixed to support individual class files instead of JARs in partest. This is required for the sbt build which runs partest on “quick” instead of “pack”. - Fix version and repository handling for bootstrapping. The bootstrap `scalaInstance` can now be resolved from any repository added to the project (not just the bootstrap repositories) by using a different workaround for https://github.com/sbt/sbt/issues/1872. - Workaround for https://github.com/sbt/sbt/issues/2640 (putting the wrong `scalaInstance` on partest’s classpath). The required `ScalaInstance` constructor is deprecated, so we have to disable deprecation warnings and fatal warnings until there is a better fix. - Add MiMa to the sbt build (port of the old `test.bc` ant task). The sbt-mima plugin doesn’t have all the features we need, so we do it manually in a similar way to what the plugin does. Checks are done in both directions for the `library` and `compiler` projects. The base version has to be set in `build.sbt`. When set to `None`, MiMa checks are skipped. MiMa checks are run sequentially to avoid spurious errors (see https://github.com/typesafehub/migration-manager/issues/115). - Port the OSGi tests to the sbt build. The set of JARs that gets copied into build/osgi as bundles is a bit different from the ant build. We omit the source JARs but add additional modules that are part of the Scala distribution, which seems more correct. - Get rid up `pull-binary-libs.sh` for the sbt build. Add artifacts are resolved from the special bootstrap repository through Ivy. The special `code.jar` and `instrumented.jar` artifacts are copied to the location where partest expects them (because these paths are hardcoded in partest). Other extra JARs for partest in `test/files/lib` are referenced directly from the Ivy cache. - Move common settings that should be available with unqualified names in local `.sbt` files and on the command line into an auto-plugin. - Add an `antStyle` setting to sbt to allow users to easily enable ant-style incremental compilation instead of sbt’s standard name hashing with `set antStyle := true`. - Disable verbose `info`-level logging during sbt startup for both, `validate/test` and `validate/publish-core` jobs. Update logging is no longer disabled when running locally (where it is useful and doesn’t generate excessive output). - Pass optimization flags for scalac down to partest, using the new partest version 1.0.15\6. - Call the new sbt-based PR validation from `scripts/jobs/validate/test`. - Disable the tests `run/t7843-jsr223-service` and `run/t7933` from https://github.com/scala/scala/pull/4959 for now. We need to set up a new test project (either partest or junit) that can run them on a packaged version of Scala, or possibly move them into a separate project that would naturally run from a packaged Scala as part of the community build.
* | Merge pull request #5219 from som-snytt/issue/9245Jason Zaugg2016-06-142-1/+28
|\ \ | | | | | | SI-9245 Fresher name in Try and test
| * | SI-9245 Fresher name in Try and testSom Snytt2016-06-072-1/+28
| |/ | | | | | | | | | | | | | | Fresh name for catcher gets a dollar. "Here, have a dollar." Test due to retronym demonstrates possible conflict. Over the lifetime of the universe, surely at least one code monkey would type in that identifier to catch a banana.
* | Merge pull request #5213 from som-snytt/issue/stringof-pariterableJason Zaugg2016-06-142-2/+59
|\ \ | | | | | | SI-9737 [no-merge] Backport stringOf ParIterable
| * | SI-9737 [no-merge] Backport stringOf ParIterableNicolas Stucki2016-06-032-2/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Cherry-picked c5f3d3f286ee5c26c8ddcf10f6878058e8f7e040 Edited comment: in stringOf, let GenIterable subsume both Iterable and ParIterable. This change is required for Scala.js compatibility as it does not support parallel collections. Conflicts: src/library/scala/runtime/ScalaRunTime.scala