summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Comment summarizing the JVM spec for InnerClass / EnclosingMethodLukas Rytz2014-07-081-0/+199
|
* Minor cleanups and comments in GenBCodeLukas Rytz2014-07-086-21/+83
|
* Merge pull request #3797 from retronym/topic/exhaust-compoundJason Zaugg2014-06-114-4/+59
|\ | | | | SI-8631 Treat `A with Sealed` as enumerable for pattern matching
| * Remove now-redundant condition in sealedness checkingJason Zaugg2014-06-101-1/+1
| | | | | | | | | | It arrived in c1f8dbc, but is no longer needed after user-defined value classes were introduced in 2.10.0.
| * Refactor `enumerateSubtypes`Jason Zaugg2014-06-101-5/+5
| | | | | | | | | | - reorder to make "unenumerable" the last case - reunite an orphaned comment with its loved ones.
| * SI-8631 Treat `A with Sealed` as enumerable for pattern matchingJason Zaugg2014-06-104-0/+55
| | | | | | | | | | | | | | | | Enumerate the subtypes of sealed parent types of refinement types, and filter those that conform to the refinement type. Such types can crop up easily when LUB-bing case classes which add `Product with Serializable` to the mix.
* | Merge pull request #3781 from retronym/topic/8611Jason Zaugg2014-06-118-9/+145
|\ \ | | | | | | SI-8611 Avoid accidental patmat unification with refinement types
| * | SI-8611 Avoid accidental patmat unification with refinement typesJason Zaugg2014-06-108-9/+145
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the enclosed test, t8611a.scala, the patterns `O.{A, B}` were incorrect treated as equivelent by the combination of `uniqueTpForTree` and `Const.uniqueTpForTree`. `uniqueTpForTree` used `Type#narrow` to try to create a distinct type for each new pattern tree it encountered. However, narrowing a `RefinedType` does not create a distinct type as we are used to when narrowing, e.g. a class type. // Type def narrow: Type = if (phase.erasedTypes) this else { val cowner = commonOwner(this) refinedType(this :: Nil, cowner, EmptyScope, cowner.pos).narrow } // CompoundType override def narrow: Type = typeSymbol.thisType This commit creates a fresh existential type symbol rather than trying to use `narrow`. I've included a unit test to show the sublteties of narrowing refinment types.
* | Merge pull request #3777 from som-snytt/issue/5905-testJason Zaugg2014-06-101-3/+5
|\ \ | |/ |/| SI-5905 Clarify test case
| * SI-5905 Clarify test caseSom Snytt2014-05-221-3/+5
| | | | | | | | | | | | | | | | | | The language feature options are discovered reflectively, but it is nice to enforce that expected options are supplied. Short of that, the code string includes a rowdy postfix operator. It still does enforce that at least one option was discovered.
* | Merge pull request #3815 from retronym/topic/java8-support-2Adriaan Moors2014-06-104-104/+31
|\ \ | | | | | | Java 8 agnostism for our test suite
| * | Support Java 8 in the checkfile for neg/t6289Jason Zaugg2014-06-041-1/+1
| | |
| * | Java 6-8 agnosticism for a testJason Zaugg2014-06-043-103/+30
| | | | | | | | | | | | | | | | | | | | | | | | Under Java 8, the output contains newly added methods in j.u.Iterator. I've created cut down, test-local versions of the relevant types to decouple.
* | | Merge pull request #3818 from som-snytt/issue/repl-javap-app8Adriaan Moors2014-06-101-1/+24
|\ \ \ | | | | | | | | Java 8 support for run/repl-javap-app.check
| * | | Java 8 support for run/repl-javap-app.checkSom Snytt2014-06-051-1/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Just adding the java 8 output. No attempt to finesse anything. But the partest mechanism does still need auto-update of these conditional check files, plus expression evaluation of the condition.
* | | | Merge pull request #3812 from retronym/merge/2.10.x-to-2.11.x-20140604Adriaan Moors2014-06-105-3/+33
|\ \ \ \ | | | | | | | | | | Merge 2.10.x to 2.11.x
| * \ \ \ Merge remote-tracking branch 'origin/2.10.x' into ↵Jason Zaugg2014-06-045-3/+33
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | merge/2.10.x-to-2.11.x-20140604 Conflicts: src/compiler/scala/tools/nsc/typechecker/NamesDefaults.scala
| | * \ \ \ Merge pull request #3799 from retronym/topic/8596-2.10Jason Zaugg2014-06-025-4/+34
| | |\ \ \ \ | | | | | | | | | | | | | | SI-8596 Fix rangepos crasher with defaults, poly methods
| | | * | | | SI-8596 Fix rangepos crasher with defaults, poly methodsJason Zaugg2014-05-295-4/+34
| | |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Regressed in SI-7915 / 3009a525b5 We should be deriving the position of the synthetic `Select` from `basefun1`, rather than `basefun`. In the new, enclosed test, the difference amounts to: new Container().typeParamAndDefaultArg[Any]() `------------ basefun1 --------------' `----------------- basefun ---------------' For monomorphic methods, these are one and the same, which is why `presentation/t7915` was working. I've extended that test to a polymorphic method to check that hyperlink resolution works.
* | | | | | Merge pull request #3800 from som-snytt/issue/8503Adriaan Moors2014-06-107-100/+103
|\ \ \ \ \ \ | | | | | | | | | | | | | | SI-8503 -version is info setting
| * | | | | | SI-8503 -version is info settingSom Snytt2014-05-297-88/+93
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | And the Scala runner exits with 0 for info settings. Producing the version string is consolidated. The compiler driver uses the default settings hook to short-circuit on -version. That's to avoid creating the compiler; really it should check shouldStopWithInfo first, as the runner does.
| * | | | | | SI-8503 Clean up interpolation of help messageSom Snytt2014-05-281-12/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We have interpolation now. This commit also moves an extra blank line from the end to the middle of the message.
* | | | | | | Merge pull request #3787 from tvierling/concurrent-doc-nitsAdriaan Moors2014-06-054-9/+33
|\ \ \ \ \ \ \ | |_|_|_|/ / / |/| | | | | | Add documentation to parts of scala.concurrent.
| * | | | | | Add documentation to parts of scala.concurrent.Todd Vierling2014-06-034-9/+33
| | |/ / / / | |/| | | |
* | | | | | Merge pull request #3816 from lrytz/bcode/bugsJason Zaugg2014-06-057-56/+149
|\ \ \ \ \ \ | | | | | | | | | | | | | | Don't crash on dead code in ICodeReader
| * | | | | | Test: classfile reading during inlining works if there is dead codeLukas Rytz2014-06-052-0/+101
| | | | | | |
| * | | | | | Make test repl-javap-app independent of precise constant pool indicesLukas Rytz2014-06-042-6/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Allows the test to pass on both backends
| * | | | | | Tone down the noise in the output of t7974Lukas Rytz2014-06-042-30/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes it pass under -Ybackend:GenBCode
| * | | | | | Don't crash on dead code in ICodeReaderLukas Rytz2014-06-041-20/+28
| | | | | | |
* | | | | | | Merge pull request #3813 from retronym/ticket/8642-disable-osgi-testsJason Zaugg2014-06-041-14/+18
|\ \ \ \ \ \ \ | |/ / / / / / |/| | | | / / | | |_|_|/ / | |/| | | | Disable OSGi tests under Java 8
| * | | | | Disable OSGi tests under Java 8Jason Zaugg2014-06-041-14/+18
| |/ / / / | | | | | | | | | | | | | | | | | | | | I've lodged SI-8642 with more details of the failure to make sure we get them going again.
* | | | | Merge pull request #3811 from lrytz/bcode/arrayCloneLukas Rytz2014-06-042-2/+8
|\ \ \ \ \ | | | | | | | | | | | | Fix emitting Array(1).clone() in GenBCode
| * | | | | Fix emitting Array(1).clone() in GenBCodeLukas Rytz2014-06-042-2/+8
| |/ / / /
* | | | | Merge pull request #3743 from ruippeixotog/issue/8553Ichoran2014-06-042-1/+17
|\ \ \ \ \ | |/ / / / |/| | | | SI-8553 WrappedArray throws exception on lastIndexWhere when index out of range
| * | | | SI-8553 WrappedArray throws exception on lastIndexWhere when index out of rangeRui Gonçalves2014-05-122-1/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adds a check in `IndexedSeqOptimized#lastIndexWhere(A => Boolean, Int)` to begin searching in the end of the collection if `end` is greater than the collection's length. Discussed in https://groups.google.com/d/topic/scala-internals/-MacXivbY0Q/discussion.
* | | | | Merge pull request #3803 from xeno-by/ticket/8637Adriaan Moors2014-06-033-0/+10
|\ \ \ \ \ | | | | | | | | | | | | SI-8637 fixes toolbox phase corruption
| * | | | | SI-8637 fixes toolbox phase corruptionEugene Burmako2014-05-303-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It turns out, Toolbox.typecheck hasn't been properly re-initializing its state between requests. In particular, globalPhase was left untouched, which made the compiler think that it's past typer, and that in turn disabled implicits. This commit applies a symptomatic fix to this problem.
* | | | | | Merge pull request #3796 from som-snytt/issue/8630Adriaan Moors2014-06-034-1/+14
|\ \ \ \ \ \ | | | | | | | | | | | | | | SI-8630 lineToString no longer long by one at eof
| * | | | | | SI-8630 lineToString no longer long by one at eofSom Snytt2014-05-274-1/+14
| | |_|/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | One more EOL crasher, or lack-of-EOL crasher, when the text is at EOF. It was not caught by the last round of excellent and thorough tests because ``` // If non-whitespace tokens run all the way up to EOF, // positions go wrong because the correct end of the last // token cannot be used as an index into the char array. // The least painful way to address this was to add a // newline to the array. ```
* | | | | | Merge pull request #3795 from som-snytt/issue/8475Adriaan Moors2014-06-032-6/+15
|\ \ \ \ \ \ | | | | | | | | | | | | | | SI-8475 GroupedIterator is also lazy when padded
| * | | | | | SI-8475 GroupedIterator is also lazy when paddedSom Snytt2014-05-272-6/+15
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is the related case which dnlgtm in the previous fix. The old code seems to be tilting for laziness, but we have to fill the buffer with the current group anyway, so there is no reason to be coy about calling ArrayBuffer.length.
* | | | | | Merge pull request #3789 from clhodapp/fix/SI-6678Adriaan Moors2014-06-031-1/+2
|\ \ \ \ \ \ | | | | | | | | | | | | | | SI-6678 Make currentMirror macro hygenic
| * | | | | | SI-6678 Make currentMirror macro hygenicclhodapp2014-05-231-1/+2
| | | | | | |
* | | | | | | Merge pull request #3786 from tvierling/deprecate-fixes-2.11.xAdriaan Moors2014-06-032-2/+2
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Deprecate AVLTree and concurrent.Lock in 2.11.2
| * | | | | | | To have effect, @deprecated needs to be an annotation.Todd Vierling2014-05-242-2/+2
| |/ / / / / /
* | | | | | | Merge pull request #3798 from adriaanm/scalapAdriaan Moors2014-06-021-0/+5
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | Include scalap in the distro.
| * | | | | | | Include scalap in the distro.Adriaan Moors2014-05-281-0/+5
| | | | | | | |
* | | | | | | | Merge pull request #3774 from lrytz/opt/backendWipLukas Rytz2014-06-0116-1069/+954
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | More type safe implementation of BType, cleanups in GenBCode
| * | | | | | | | Unit tests for reflect/internal/NamesLukas Rytz2014-06-011-0/+95
| | | | | | | | |
| * | | | | | | | Unit tests for new BType classesLukas Rytz2014-06-013-7/+119
| | | | | | | | |