summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* 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
* | | Merge pull request #5223 from FelAl/typo_fixJason Zaugg2016-06-141-2/+2
|\ \ \ | |_|/ |/| | Typo fix build.sbt
| * | Typo fixaf2016-06-101-2/+2
| | |
* | | Merge pull request #5214 from som-snytt/issue/7898-sbtAdriaan Moors2016-06-051-1/+4
|\ \ \ | |_|/ |/| | SI-7898 Preserve reader against subversion
| * | SI-7898 Preserve reader against subversionSom Snytt2016-06-041-1/+4
|/ / | | | | | | | | | | | | | | SBT tries to install its own SimpleReader (for some reason) if it needs to create its own IMain. Because Rube Goldberg needs to execute some postinit hooks, don't let SBT do that.
* | Merge pull request #4998 from som-snytt/issue/7898-iLukas Rytz2016-06-0110-78/+285
|\ \ | | | | | | SI-7898 Read user input during REPL warmup
| * | SI-7898 Label for parsing -i sourcesLukas Rytz2016-05-244-1/+35
| | | | | | | | | | | | Text-based REPL pre-parses, so use the current label for errors.
| * | SI-7898 Report paste errors improvedlySom Snytt2016-05-233-19/+28
| | | | | | | | | | | | | | | | | | | | | | | | Use a "label" for errors, so that script names are shown. Position is still wrong for scripts in REPL. Initial scripts are run with `ILoop.echo` and results printing turned off, but reporter still enabled.
| * | SI-7898 Quiet REPL at startupSom Snytt2016-05-221-6/+18
| | | | | | | | | | | | Enable noisy modes only when interpreting user input.
| * | SI-7898 Read user input during REPL warmupSom Snytt2016-05-205-60/+212
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The compiler is created on main thread and user input is read on an aux thread (opposite to currently). Fixes completion when `-i` is supplied. Now `-i` means pasted and new option `-I` means line-by-line. The temporary reader uses postInit to swap in the underlying reader. Completion is disabled for the temporary reader, rather than blocking while it waits for a compiler. But manically hitting tab is one way of knowing exactly when completion is live.
* | | Merge pull request #5183 from performantdata/bug/SI-9789Lukas Rytz2016-05-305-94/+257
|\ \ \ | |_|/ |/| | SI-9789 use quadratic probing in OpenHashMap
| * | SI-9789 use quadratic probing in OpenHashMapPerformant Data LLC2016-05-265-94/+257
|/ / | | | | | | | | | | | | | | | | | | | | | | The original probe sequence, taken from Python's hash table code, is exponential, jumping around in the hash table with poor memory locality. This replaces the probe algorithm with the more conventional quadratic probing. This also adds tests to the benchmarking code using AnyRef keys, which have pseudorandom hash codes (unlike Ints, whose hash code is simply the Int itself). The intensity of the benchmarking is reduced to make the tests complete within 9 hours, by removing unnecessary sampling.
* | Merge pull request #4959 from rjolly/scripting15Stefan Zeiger2016-05-255-12/+32
|\ \ | | | | | | Use jarlister in build
| * | Jarlist scala-library in build.sbtRaphael Jolly2016-05-212-3/+15
| | |
| * | Use jarlister in buildRaphael Jolly2016-05-213-9/+17
| |/ | | | | | | | | | | | | The goal of this change is to exercize the "manifest classpath" mechanism, meant to bring the compiler its needed classes as resources, listed in jar manifests, as opposed to files, thus enabling to use the compiler in sandboxed environments (and also the scripting engine for that matter).
* | Merge pull request #5061 from performantdata/benchmark-frameworkJason Zaugg2016-05-257-0/+457
|\ \ | | | | | | JMH-based benchmark framework
| * | Enable full compiler optimizations in JMH benchmarking.Performant Data LLC2016-05-051-1/+1
| | |
| * | Address JMH benchmark reviewer's issues.Performant Data LLC2016-05-033-59/+61
| | | | | | | | | | | | | | | Besides tweaks to the documentation, this tests smaller (25-element) maps, and rewrites OpenHashMapRunner in more idiomatic Scala.