summaryrefslogtreecommitdiff
path: root/test/files
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #1554 from paulp/scope-lookupPaul Phillips2012-11-041-3/+1
|\ | | | | Improvements to scope lookup.
| * The improvements made possible by the scope changes.Paul Phillips2012-11-021-3/+1
| |
* | Merge pull request #1565 from retronym/ticket/6567Josh Suereth2012-11-043-0/+21
|\ \ | | | | | | SI-6567 Warning for Option(implicitView(foo))
| * | SI-6567 Warning for Option(implicitView(foo))Jason Zaugg2012-11-033-0/+21
| |/ | | | | | | | | | | | | | | | | I've seen the reported problem before in the wild. It seems worthy of a special warning, so long as we advocate Option.apply as an alternative to `if (x == null) Some(x) else None`. It is behind -Xlint at the moment, an option that could do with some promotion.
* | Merge pull request #1564 from paulp/issue/441Paul Phillips2012-11-045-17/+103
|\ \ | | | | | | Expanded unused warnings.
| * | Removing unused locals and making vars into vals.Paul Phillips2012-11-033-6/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | According to "git diff" the difference from master to this commit includes: Minus: 112 vals, 135 vars Plus: 165 vals, 2 vars Assuming all the removed ones were vals, which is true from 10K feet, it suggests I removed 80 unused vals and turned 133 vars into vals. There are a few other -Xlint driven improvements bundled with this, like putting double-parentheses around Some((x, y)) so it doesn't trigger the "adapting argument list" warning.
| * | Expanded unused warnings.Paul Phillips2012-11-032-11/+91
| |/ | | | | | | | | | | | | | | Now warns on unused private and local terms and types. In addition it warns when a local var is read-only past the point of its creation - something I never would have guessed would be such a gold mine. Over 100 vars in trunk turn into vals.
* / Fix for SI-6426, importable _.Paul Phillips2012-11-032-0/+12
|/ | | | Prohibit `_` as an identifier, it can only bring badness.
* Warn about unused private members.Paul Phillips2012-11-014-1/+91
| | | | | | | | Warnings enabled via -Xlint. It's one of the most requested features. And it is hard to argue we don't need it: see the 99 methods removed in the next commit. This should close SI-440.
* Merge pull request #1521 from paulp/whats-in-a-nameAdriaan Moors2012-11-0112-16/+134
|\ | | | | Saving symbol lookup from typedIdent.
| * Tests for SI-3160, SI-4537, import precedence.Paul Phillips2012-10-2312-16/+134
| |
* | Merge pull request #1550 from paulp/issue/6597Adriaan Moors2012-11-012-0/+9
|\ \ | | | | | | Fix for SI-6597, implicit case class crasher.
| * | Fix for SI-6597, implicit case class crasher.Paul Phillips2012-10-312-0/+9
| | | | | | | | | | | | | | | | | | | | | It seems to me like every call to scope.lookup in the compiler is a latent bug. If a symbol is overloaded, you get one at random. (See the FIXME comment in f5c336d5660 for more on this.)
* | | Merge pull request #1535 from paulp/stream-distinctPaul Phillips2012-11-014-1/+29
|\ \ \ | | | | | | | | Fix SI-6584, Stream#distinct uses too much memory.
| * | | Implementation of Stream#dropRight.Paul Phillips2012-11-012-1/+5
| | | | | | | | | | | | | | | | | | | | "There's nothing we can do about dropRight," you say? Oh but there is.
| * | | Fix SI-6584, Stream#distinct uses too much memory.Paul Phillips2012-11-012-0/+24
| |/ / | | | | | | | | | Nesting recursive calls in Stream is always a dicey business.
* | | Merge pull request #1534 from paulp/repl-outdirPaul Phillips2012-11-014-2/+68
|\ \ \ | |/ / |/| | An option for real repl output.
| * | An option for real repl output.Paul Phillips2012-10-294-2/+68
| |/ | | | | | | | | | | | | | | | | There have been many requests to expose the products of the repl in some way outside in-memory. This does that. scala # usual in-memory behavior scala -Yrepl-outdir "" # make up a temp dir scala -Yrepl-outdir /foo/bar # use /foo/bar
* | Merge branch 'merge-2.10.0-wip' into merge-2.10.xPaul Phillips2012-10-3114-78/+201
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * merge-2.10.0-wip: Use Typed rather than .setType Wider use and a new variant of typedPos. SI-6575 Plug inference leak of AbstractPartialFun Remove compiler phases that don't influence scaladoc generation. Disabled generation of _1, _2, etc. methods. SI-6526 Additional test case. Fix SI-6552, regression with self types. avoid single-art assert where harmful in duration-tck Fix for SI-6537, inaccurate unchecked warning. Crash on missing accessor (internal bug in the lazy vals implementation) instead of trying to recover from the bug Incorporated changes suggested in code review Added one more test for SI-6358 Closes SI-6358. Move accessor generation for lazy vals to typers. SI-6526 Tail call elimination should descend deeper. Remove unneeded calls to substring() Changes Tree and Type members from vals to defs. Scaladoc knows the package structure of the libraries, so don't include them in external documentation setting. Fixes SI-6170: issue with dragging scaladoc splitter over central iframe Added a Swing ColorChooser wrapper Added a Swing PopupMenu wrapper Conflicts: src/compiler/scala/reflect/reify/phases/Reshape.scala src/compiler/scala/tools/nsc/typechecker/Duplicators.scala src/continuations/plugin/scala/tools/selectivecps/SelectiveCPSTransform.scala src/reflect/scala/reflect/internal/Types.scala test/files/neg/unchecked-knowable.check
| * Merge remote-tracking branch 'origin/2.10.0-wip' into merge-2.10.0-wipPaul Phillips2012-10-3114-78/+201
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | # By Jason Zaugg (5) and others # Via Josh Suereth (5) and others * origin/2.10.0-wip: Use Typed rather than .setType Wider use and a new variant of typedPos. SI-6575 Plug inference leak of AbstractPartialFun Disabled generation of _1, _2, etc. methods. SI-6526 Additional test case. Fix SI-6552, regression with self types. avoid single-art assert where harmful in duration-tck Fix for SI-6537, inaccurate unchecked warning. SI-6526 Tail call elimination should descend deeper. Changes Tree and Type members from vals to defs. Fixes SI-6170: issue with dragging scaladoc splitter over central iframe
| | * SI-6575 Plug inference leak of AbstractPartialFunJason Zaugg2012-10-282-0/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Usually this isn't needed, as partial functions can only be defined with an expected type. But if that expected type is and inherited method return type, the actual type of the partial function literal is used, and the implementation detail of `AbstractPartialFunction[A, B] with Serializable` leaks out. After this change, the inferred types match those from Scala 2.9.2. ticket/6575 ~/code/scala scalac29 -Xprint:typer test/files/pos/t6575a.scala | grep def > 29.txt ticket/6575 ~/code/scala squalac -Xprint:typer test/files/pos/t6575a.scala | grep def > 210.txt ticket/6575 ~/code/scala diff -u 29.txt 210.txt --- 29.txt 2012-10-28 13:51:07.000000000 +0100 +++ 210.txt 2012-10-28 13:51:20.000000000 +0100 @@ -1,7 +1,16 @@ def foo: PartialFunction[Int,Int] def /*Y*/$init$(): Unit = { - absoverride def foo: PartialFunction[Int,Int] = ((x0$1: Int) => x0$1 match { + absoverride def foo: PartialFunction[Int,Int] = { + def <init>(): anonymous class $anonfun = { + final override def applyOrElse[A1 >: Nothing <: Int, B1 >: Int <: Any](x$1: A1, default: A1 => B1): B1 = (x$1: A1 @unchecked) match { + final def isDefinedAt(x$1: Int): Boolean = (x$1: Int @unchecked) match { def /*Z*/$init$(): Unit = { - absoverride def foo: PartialFunction[Int,Int] = ((x0$2: Int) => x0$2 match { + absoverride def foo: PartialFunction[Int,Int] = { + def <init>(): anonymous class $anonfun = { + final override def applyOrElse[A1 >: Nothing <: Int, B1 >: Int <: Any](x$1: A1, default: A1 => B1): B1 = (x$1: A1 @unchecked) match { + final def isDefinedAt(x$1: Int): Boolean = (x$1: Int @unchecked) match { def /*Comb*/$init$(): Unit = { - absoverride def foo: PartialFunction[Int,Int] = ((x0$3: Int) => x0$3 match { + absoverride def foo: PartialFunction[Int,Int] = { + def <init>(): anonymous class $anonfun = { + final override def applyOrElse[A1 >: Nothing <: Int, B1 >: Int <: Any](x$1: A1, default: A1 => B1): B1 = (x$1: A1 @unchecked) match { + final def isDefinedAt(x$1: Int): Boolean = (x$1: Int @unchecked) match {
| | * Merge pull request #1519 from paulp/no-product-nJosh Suereth2012-10-244-71/+72
| | |\ | | | | | | | | Disabled generation of _1, _2, etc. methods.
| | | * Disabled generation of _1, _2, etc. methods.Paul Phillips2012-10-224-71/+72
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This was part of the introduction of ProductN, which had to go back into pandora's box because of issues with cycles during typing. These should have been reverted along with it.
| | * | Merge pull request #1507 from retronym/ticket/6526Josh Suereth2012-10-242-0/+57
| | |\ \ | | | | | | | | | | SI-6526 Tail call elimination should descend deeper.
| | | * | SI-6526 Additional test case.Jason Zaugg2012-10-222-1/+9
| | | | |
| | | * | SI-6526 Tail call elimination should descend deeper.Jason Zaugg2012-10-172-0/+49
| | | | | | | | | | | | | | | | | | | | | | | | | It wasn't traversing into Select nodes nor into the receiver of a tail call.
| | * | | Fix SI-6552, regression with self types.Paul Phillips2012-10-211-0/+8
| | | |/ | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | In 6eb55d4b7a we put in a remedy for an old issue SI-4560 which had accumulated a number of sketchy partial remedies which carried no tests to illustrate their necessity. Looks like at least one of those was doing something useful. Here's to reversion-reversion. This reverts commit c8bdf199, which itself reverted cb4fd6582.
| | * | Merge pull request #1509 from paulp/issue/6537Josh Suereth2012-10-204-3/+25
| | |\ \ | | | | | | | | | | Fix for SI-6537, inaccurate unchecked warning.
| | | * | Fix for SI-6537, inaccurate unchecked warning.Paul Phillips2012-10-184-3/+25
| | | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | I found a more direct expression of the unchecked logic, which should be much easier for others to verify. But the bug being fixed here is that the unchecked checking happens too early, and the sealed children of a symbol are not yet visible if it is being simultaneously compiled.
| | * / avoid single-art assert where harmful in duration-tckRoland2012-10-181-4/+7
| | |/
| * | Added one more test for SI-6358Hubert Plociniczak2012-10-181-0/+6
| | |
| * | Closes SI-6358. Move accessor generation for lazy vals to typers.Hubert Plociniczak2012-10-186-14/+29
| |/ | | | | | | | | | | | | | | | | | | | | | | | | Until now lazy accessors were handled somehow special because their symbol was created in typers but the corresponding tree was only added in Refchecks. This irregularity caused serious problems for value classes. Also it now looks just better when lazy value is treated in a similar way as other fields. I needed to adapt reifier so that it handles the new implementation correctly. Previously it had to recreate lazy val only by removing defdef and renaming. Now we basically need to recreate lazy val from scratch. There is one minor change to cps plugin but that is still fine because lazy vals were never really part of the transformation. Some range positions needed to be fixed manually. We could do it at the creation time but that would require a lot more "if (symbol.isLazy)" conditions for MethodSyntheis and Symbol/Tree creation and would just unnecessary complicate api. If someone has a better idea, please speak up. Range positions changes were necessary because previously accessors were created at refchecks and they weren't checked by validator (even though they were wrong). This commit removes lazy val implementation restriction introduced for 2.10.0. (cherry-picked from 981424b)
* | Merge pull request #1518 from retronym/ticket/2968Josh Suereth2012-10-234-0/+47
|\ \ | | | | | | SI-2968 Fix brace healing for `^case (class|object) {`
| * | SI-2968 Fix brace healing for `^case (class|object) {`Jason Zaugg2012-10-224-0/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The scanner coalesces the pair of tokens into CASEOBJECT or CASECLASS, but fails to set `offset` back to the start of `case`. Brace healing is then unable to correctly guess the location of the missing brace. This commit resets `offset` and `lastOffset`, as though caseobject were a single keyword. Only the former was neccessary to fix this bug; I haven't found a test that shows the need for the latter.
* | | Merge pull request #1468 from paulp/issue/6482Adriaan Moors2012-10-221-0/+11
|\ \ \ | | | | | | | | SI-6482 preserve bounds on tparams of value class
| * | | Fix for SI-6482, lost bounds in extension methods.Paul Phillips2012-10-061-0/+11
| | | | | | | | | | | | | | | | | | | | That was a good one. How to create a new method with type parameters from multiple sources, herein.
* | | | Merge pull request #1512 from paulp/merge-210Adriaan Moors2012-10-2215-12/+122
|\ \ \ \ | |_|/ / |/| | | Merge 2.10.x into master.
| * | | Merge remote-tracking branch 'origin/2.10.x' into merge-210Paul Phillips2012-10-1915-12/+122
| |\ \ \ | | | |/ | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * origin/2.10.x: (52 commits) JavaUniverse Moved @contentDiagram in Symbols Adds lots of new documentation for TypeTags, Mirrors, Universes and more runtime.JavaUniverse - put ungrouped members at the top Forgotten annotation in Annotations Diagram tweaking Grouping for reflection and macros fixes a typo scala.reflect.api.Symbols documentation Symbols docs cleanup, mostly moved to guide scala.reflect.api.Position documentation scala.reflect.api.StandardNames documentation scala.reflect.api.Constants documentation removed docs for internal TypeCreator and TreeCreator simplified reflection docs for trees Rearranged some reflection docs, moving things to the guide reflection docs improvements and moves to doc page docs for reflection and macros SI-6509 Correct @template owners SI-6155 Scaladoc @template diagrms ... Conflicts: src/compiler/scala/tools/nsc/doc/model/ModelFactory.scala src/compiler/scala/tools/nsc/typechecker/Typers.scala src/reflect/scala/reflect/api/Trees.scala test/scaladoc/run/links.scala
| | * | Merge pull request #1487 from dragos/issue/fix-6505Josh Suereth2012-10-111-0/+33
| | |\ \ | | | | | | | | | | Fixed SI-6505. Respond to ask calls by immediate failure after compiler shutdown.
| | | * | Fixed SI-6505. Respond to ask calls by immediate failure even after compiler ↵Iulian Dragos2012-10-101-0/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | shutdown. When the compiler is asked to shutdown, it may still have items on the working queue, and more can be added by clients in other thread that don't *know* the compiler is down yet. These requests were never serviced, leading to deadlocks or timeouts. review by @odersky, @hubertp
| | * | | Fix for SI-6499, regression in type inference.Paul Phillips2012-10-101-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I can't do any better than a reproduced comment: For some reason which is still a bit fuzzy, we must let Nothing through as a lower bound despite the fact that Nothing is always a lower bound. My current supposition is that the side-effecting type constraint accumulation mechanism depends on these subtype tests being performed to make forward progress when there are mutally recursive type vars. See pos/t6367 and pos/t6499 for the competing test cases.
| | * | | Merge pull request #1483 from gkossakowski/SI-6440Josh Suereth2012-10-102-0/+8
| | |\ \ \ | | | | | | | | | | | | SI-6440: Revert change to `TraversableLike.filterNot`
| | | * | | SI-6440: Revert change to `TraversableLike.filterNot`Grzegorz Kossakowski2012-10-092-0/+8
| | | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit df9f470f14262b9b1002f022c2620d8c38835805 introduced a change to `TraversableLike.filterNot` which broke Stream implementation that does override `filter` implementation but does not override `filterNot` implementation. This shows clearly that reusing code for strict and non-strict collections is very problematic. Added a test-case covering this problem. Closes SI-6440. Review by @retronym.
| | * | | Merge pull request #1471 from retronym/ticket/6483Josh Suereth2012-10-092-0/+33
| | |\ \ \ | | | | | | | | | | | | SI-6483 Prohibit super[T] references in value classes.
| | | * | | SI-6483 Prohibit super[T] references in value classes.Jason Zaugg2012-10-072-0/+33
| | | | | | | | | | | | | | | | | | | | | | | | This seems the safest course of action for 2.10.0.
| | * | | | Merge pull request #1458 from scalamacros/pullrequest/reflectionJosh Suereth2012-10-094-4/+16
| | |\ \ \ \ | | | |_|/ / | | |/| | | Another reflection bomb
| | | * | | removes EmptyTermName and EmptyTypeNameEugene Burmako2012-10-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | We have nme.EMPTY and tpnme.EMPTY for that.
| | | * | | renames macros.TypeError to TypecheckExceptionEugene Burmako2012-10-031-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Again, this is not a fatal error, so it should end with an Error, and it should subclass not Throwable, but Exception. Also moved the exception outside the cake to simplify error handling, along the same lines of what've been done for parsing and reification exceptions.
| | | * | | turns on documentation of scala.reflect.runtimeEugene Burmako2012-10-032-2/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We definitely need to document scala.reflect.runtime.universe, therefore adding scala.reflect.runtime to skipPackages was a mistake. But then we need to make a bunch of internal classes private to reflect or to scala. Not very pretty, but it works.
| | * | | | Merge pull request #1442 from adriaanm/ticket-6215Grzegorz Kossakowski2012-10-082-8/+9
| | |\ \ \ \ | | | | | | | | | | | | | | SI-6215 Fix compiler crash on private method in value class