summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* SI-2712 Add support for higher order unificationMiles Sabin2016-05-2435-6/+509
|
* Merge pull request #5179 from liff/topic/SI-9781Adriaan Moors2016-05-233-1/+11
|\ | | | | Check left side of an assignment expression for errors; fixes SI-9781
| * SI-9781 Don't convert erroneous expression to assignmentOlli Helenius2016-05-203-1/+11
| | | | | | | | | | | | | | | | | | `convertToAssignment` is triggered on a type error but it doesn't seem to really care what the error is as long as the expression can be converted to an assignment expression. This patch fixes that by checking whether the qualifier of the selection contains any errors before deciding to continue with the conversion.
* | Merge pull request #5106 from milessabin/topic/hkgadtAdriaan Moors2016-05-234-1/+101
|\ \ | | | | | | SI-9760 Fix for higher-kinded GADT refinement
| * | Added pos test with multiple cases; added neg tests.Miles Sabin2016-05-063-4/+87
| | |
| * | Added missing result type to test.Miles Sabin2016-04-201-1/+1
| | |
| * | SI-9760 Fix for higher-kinded GADT refinementMiles Sabin2016-04-192-1/+18
| | |
* | | Merge pull request #5181 from chrisokasaki/issue/9776Adriaan Moors2016-05-232-18/+208
|\ \ \ | | | | | | | | SI-9776 Fix type of PriorityQueue.newBuilder and improve performance
| * | | SI-9776: Fix type of PriorityQueue.newBuilder and improve performancechrisokasaki2016-05-222-18/+208
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Fix the return type of mutable.PriorityQueue.newBuilder to be Builder[A, PriorityQueue[A]] rather than PriorityQueue[A]. - Improve performance of bulk inserts from O(N log N) to O(N), primarily in the builder, ++=, and reverse. These changes indirectly benefit the many other methods that use the builder or ++=. - Improve performance of clone. - Fix SI-9757 space leak in dequeue.
* | | | Merge pull request #5164 from viktorklang/wip-future-docs-√Adriaan Moors2016-05-233-59/+133
|\ \ \ \ | | | | | | | | | | Improve Future documentation (+ minor code cleanups)
| * | | | Improvements to scala.concurrent.FutureViktor Klang2016-05-201-58/+101
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Enhanced Scaladocs with groupings and clarifications * traverse now runs the last step like sequence * A few minor non-semantic changes to method implementations
| * | | | Improves the test cases for the scala-concurrent-tckViktor Klang2016-05-132-1/+32
| | | | |
* | | | | Merge pull request #5173 from janekdb/topic/2.12.x-scaladoc-AnsiColourLukas Rytz2016-05-232-36/+265
|\ \ \ \ \ | | | | | | | | | | | | Group Console and AnsiColor entities and add usage examples
| * | | | | Group Console and AnsiColor entities and add usage examplesJanek Bogucki2016-05-232-36/+265
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Group AnsiColor and Console members - Add Console IO redefinition examples - Add Console control code examples - Add color swatches to AnsiColor - Add AnsiColor control code examples - Link to StdIn for reading - Fix link syntax for java.util.Formatter - Fix withErr method example
* | | | | Merge pull request #5122 from lrytz/t9121Stefan Zeiger2016-05-233-1/+55
|\ \ \ \ \ | | | | | | | | | | | | SI-9121 test case (fixed in new optimizer), SI-9179 test case
| * | | | | SI-9121 test case (fixed in new optimizer), SI-9179 test caseLukas Rytz2016-05-233-1/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also adds a mising phase travel in the backend. A comment already points out why it's necessary, but it was actually forgotten.
* | | | | | Merge pull request #5162 from milessabin/t9361Lukas Rytz2016-05-233-2/+19
|\ \ \ \ \ \ | | | | | | | | | | | | | | SI-9361 fixed assert allowing display of improved error message.
| * | | | | | SI-9361 fixed assert allowing display of improved error message.Miles Sabin2016-05-143-2/+19
| | | | | | |
* | | | | | | Merge pull request #5153 from petermz/ticket/5463Lukas Rytz2016-05-232-1/+32
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | SI-5463 Check .jars before using them
| * | | | | | | SI-5463 Check .jars before using thempeterz2016-05-172-1/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make broken JAR files on compiler classpath cause a fatal error
* | | | | | | | Merge pull request #5168 from xuwei-k/range-value-classLukas Rytz2016-05-231-1/+1
|\ \ \ \ \ \ \ \ | |_|_|/ / / / / |/| | | | | | | Make Range.Partial a value class
| * | | | | | | Make Range.Partial a value classxuwei-k2016-05-171-1/+1
| | | | | | | |
* | | | | | | | Merge pull request #5180 from lrytz/junit-passJason Zaugg2016-05-2346-2036/+2051
|\ \ \ \ \ \ \ \ | |_|_|_|_|/ / / |/| | | | | | | Clean up JUnit tests, make sure they pass without bootstrap [ci: last-only]
| * | | | | | | Adapt naming convention for collection.convert null safety testLukas Rytz2016-05-203-279/+286
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Test classes not ending in "Test" are not executed in sbt. IntelliJ runs them. After this patch: 803 tests executed both in sbt and junit.
| * | | | | | | All JUnit tests pass without bootstrap (when run in intellij, sbt)Lukas Rytz2016-05-203-92/+123
| | | | | | | |
| * | | | | | | Split RunTest and BytecodeTest into parts, put in matching packages.Lukas Rytz2016-05-2013-610/+660
| | | | | | | |
| * | | | | | | Cleanup in BytecodeTestLukas Rytz2016-05-201-28/+20
| | | | | | | |
| * | | | | | | Small cleanup in JUnit testLukas Rytz2016-05-201-5/+1
| | | | | | | |
| * | | | | | | Clean up bytecode testing methods.Lukas Rytz2016-05-2022-462/+496
| | | | | | | |
| * | | | | | | Better abstraction for JUnit run testsLukas Rytz2016-05-202-11/+22
| | | | | | | |
| * | | | | | | Better abstraction for bytecode tests. Also organize some imports.Lukas Rytz2016-05-2030-555/+453
| | | | | | | |
| * | | | | | | Rename nsc.backend.jvm.CodeGenTools to testing.BytecodeTestingLukas Rytz2016-05-2030-39/+35
| | |_|_|_|_|/ | |/| | | | |
* | | | | | | Merge pull request #4988 from som-snytt/issue/backtick-barAdriaan Moors2016-05-202-2/+9
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | SI-9665 Backquoted vbar in extractor pattern
| * | | | | | | SI-9665 Backquoted vbar in extractor patternSom Snytt2016-03-152-2/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Allow an infix extractor named `|`, when backquoted.
* | | | | | | | Merge pull request #4819 from som-snytt/issue/7916-ScriptEngine-deferredStefan Zeiger2016-05-2011-189/+471
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | SI-7916: ScriptEngine support
| * | | | | | | | SI-7916: ScriptEngine supportSom Snytt2016-05-1911-189/+471
| | |/ / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Refactor the ScriptEngine support to an adaptor atop the IMain API. Allow references to resolve to context attributes. (The attributes must be defined at compilation time, though they may resolve to updated values at evaluation time.) This means that attributes are not bound statically in REPL history. In particular, we forgo the trick of binding attributes named "name: Type" as typed values. Instead, an `x` bound in dynamic context is injected into the script as a dynamic selection `$ctx.x` where `ctx` performs the look-up in the script context. When a compiled script is re-evaluated, a new instance of the script class is created and defined symbols are rebound. The context stdout writer is handled with `Console.withOut`, with bytes decoded using the default charset. Compilation errors are thrown as ScriptException with the first reported error. This commit doesn't attempt dynamic selection from objects in context. Currently, script must cast.
* | | | | | | | Merge pull request #5093 from jodersky/scaladoc-include-assetsStefan Zeiger2016-05-201-1/+1
|\ \ \ \ \ \ \ \ | |/ / / / / / / |/| | | | | | | [Build] Include missing web assets in scaladoc
| * | | | | | | Include missing web assets in scaladocscaladoc-include-assetsJakob Odersky2016-05-191-1/+1
|/ / / / / / /
* | | | | | | Test case for SI-5183, tagged primitives in case classes (#5144)Ben Hutchison2016-05-192-0/+42
| | | | | | | | | | | | | | | | | | | | | Test for SI-7088, arrays containing tagged primitives
* | | | | | | Merge pull request #5176 from lrytz/t9671Lukas Rytz2016-05-196-36/+155
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | SI-9671, SI-7397 fix null.asInstanceOf[Int] when pt erases to Object
| * | | | | | | SI-9066 fix null.asInstanceOf[Unit]Lukas Rytz2016-05-183-23/+27
| | | | | | | |
| * | | | | | | SI-9671, SI-7397 fix null.asInstanceOf[Int] when pt erases to ObjectLukas Rytz2016-05-186-30/+145
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Erasure first replaces null.asInstanceOf[Int] by unbox(null). If the expected type erases to object, erasure then introduces a box operation, yielding box(unbox(null)). Note that this value is a box of zero, not null. Erasure has an optimization to replace box(unbox(x)) in case x is of primitive type. 60f1b4b extended this to the case when x is null, which is incorrect in general. The reason was to prevent creating a primitive box to be stored in the unused generic field when creating an instance of a specialized class. A special case ensures that this optimization is still performed.
* | | | | | | | Generate static forwarders for object members in companion interface (#5131)Jason Zaugg2016-05-194-2/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We used to disable generation of static forwarders when a object had a trait as a companion, as one could not add methods with bodies to an interface in JVM 6. The JVM lifted this restriction to support default methods in interfaces, so we can lift the restriction on static forwarders, too. Fixes https://github.com/scala/scala-dev/issues/59
* | | | | | | | Merge pull request #5130 from retronym/ticket/SD-129Jason Zaugg2016-05-1923-23/+23
|\ \ \ \ \ \ \ \ | |/ / / / / / / |/| | | | | | | SD-129 Mark JFunctionN as serializable
| * | | | | | | SD-129 Mark JFunctionN as serializableJason Zaugg2016-04-2723-23/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before this change, if these were used as the target type of a lambda in Java source code, the lambda would not be serializable. This is somewhat suprising when contrasted with the way that Scala lambdas work in Scala source. Since we copied these classes over from scala-java8-compat, that project has opted to add Serializable as a parent to solve this issue. This commit brings our copy of these interfaces into line with that change.
* | | | | | | | Merge pull request #5174 from retronym/ticket/8756Lukas Rytz2016-05-183-1/+32
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | SI-8756 Fix generic signature for refinement of primitive
| * | | | | | | | SI-8756 Fix generic signature for refinement of primitiveJason Zaugg2016-05-182-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Java generic signature generation was making the wrong assumption about how refinement types should erase to Java generics. This commit passes through the current value of `primitiveOk`, rather than forcing it to `true`. This flag is true when generating the signature for `f2`, but false in `i2` (as we are in a type argument position).
| * | | | | | | | SI-8756 Test to demonstrate the status quoJason Zaugg2016-05-182-0/+31
|/ / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Java generic signatures assume that refinement types should be boxed. Why did `g2` in the test seem to be immune to this bug demonstrated by `f2`? Because we opt to elide the generic signature altogether when no generics are involved.
* | | | | | | | improve README (#5163)Lukas Rytz2016-05-183-185/+287
| | | | | | | |
* | | | | | | | Merge pull request #5103 from ruippeixotog/improve-list-map-set-perfLukas Rytz2016-05-1710-346/+306
|\ \ \ \ \ \ \ \ | |_|_|_|/ / / / |/| | | | | | | Improve performance and behavior of ListMap and ListSet