summaryrefslogtreecommitdiff
path: root/test
Commit message (Collapse)AuthorAgeFilesLines
...
| | * | | 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
| | |/
| * | Merge pull request #1479 from vigdorchik/2.10.xJosh Suereth2012-10-204-0/+149
| |\ \ | | | | | | | | Scaladoc knows the package structure of the libraries,
| | * | Scaladoc knows the package structure of the libraries,Eugene Vigdorchik2012-10-114-0/+149
| | | | | | | | | | | | | | | | so don't include them in external documentation setting.
| * | | 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-2224-58/+293
|\ \ \ \ \ | |_|/ / / |/| | | | Merge 2.10.x into master.
| * | | | Merge remote-tracking branch 'origin/2.10.x' into merge-210Paul Phillips2012-10-1924-58/+293
| |\ \ \ \ | | | |/ / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
| | * | | SI-6509 Correct @template ownersVlad Ureche2012-10-113-0/+55
| | | | |
| | * | | SI-6155 Scaladoc @template diagrmsVlad Ureche2012-10-113-0/+47
| | | | |
| | * | | SI-6501 Scaladoc will correctly link to @templatedVlad Ureche2012-10-112-1/+7
| | | | | | | | | | | | | | | | | | | | members
| | * | | SI-6495 Scaladoc will pick up group from ownerVlad Ureche2012-10-111-43/+51
| | | | |
| | * | | SI-6487 Scaladoc can link to inner classesVlad Ureche2012-10-112-2/+11
| | | | |
| | * | | 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
| | | * | | | | SI-6215 Fix compiler crash on private method in value classMartin Odersky2012-10-022-8/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes the problem with private defs in value classes by moving the $extension after the name proper rather than before. The previous scheme did not commute with makeNonPrivate: I.e. if -ext-> is "generate extension name" and -mnp-> is "make not private" we did get for method foo in value class Foo: foo -ext-> extension$foo -mnp-> Foo$$extension$foo but foo -mnp-> Foo$$foo -ext-> extension$Foo$$foo With the change both variations give the same name: foo -ext-> foo$extension -mnp-> Foo$$foo$extension but foo -mnp-> Foo$$foo -ext-> Foo$$foo$extension
| | * | | | | | SI-6485 stops creating extmethods for macrosEugene Burmako2012-10-083-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Macros don't correspond to bytecode-level methods, therefore there's no need to undergo any transformations past typer.
* | | | | | | | Merge pull request #1473 from soc/SI-6388-without-predefAdriaan Moors2012-10-1932-147/+74
|\ \ \ \ \ \ \ \ | |/ / / / / / / |/| | | | | | | SI-6388 Remove deprecated items scheduled for 2.11
| * | | | | | | SI-6388 Remove ApplicationSimon Ochsenreither2012-10-1218-47/+47
| | | | | | | |
| * | | | | | | SI-6388 Remove first parts of deprecated @serializable annotationSimon Ochsenreither2012-10-0812-98/+25
| | | | | | | |
| * | | | | | | SI-6388 Remove deprecated items in the compiler jarSimon Ochsenreither2012-10-082-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Deprecations in the following files were not removed to prevent SBT from breaking: - src/compiler/scala/tools/nsc/Interpreter.scala - src/compiler/scala/tools/nsc/InterpreterLoop.scala - src/compiler/scala/tools/nsc/interpreter/ILoop.scala - src/compiler/scala/tools/nsc/interpreter/InteractiveReader.scala
* | | | | | | | Fix for SI-6206, inconsistency with apply.Paul Phillips2012-10-132-0/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The code part of this patch is 100% written by retronym, who apparently has higher standards than I do because I found it just lying around in his repository. I think I'll go pick through his trash and see if he's throwing away any perfectly good muffins. I made the test case more exciting so as to feel useful.
* | | | | | | | Warn about more misplaced expressions.Paul Phillips2012-10-132-2/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | An identifier being used in statement position is not likely what was meant when it is a non-lazy getter.
* | | | | | | | Merge pull request #1459 from vigdorchik/symbolic_namesJosh Suereth2012-10-102-3/+5
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Fix broken links with names that need to be encoded.
| * | | | | | | | Fix broken links with names that need to be encoded when querying the owner.Eugene Vigdorchik2012-10-042-3/+5
| | | | | | | | |
* | | | | | | | | Merge pull request #1422 from paulp/typer-cyclesPaul Phillips2012-10-1016-1/+65
|\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | Typer cycles
| * | | | | | | | | Fix for SI-4744, another variety of cycle.Paul Phillips2012-10-099-2/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I threw this in with the previous commit behind -Ybreak-cycles, but this one is much less sketchy. Explanation: have to handle f-bounds more deftly. Namers forces lower bounds to prevent recursion in that direction, but a light touch is required to handle these two situations differently: // This is a cyclic type parameter - an error is correct class A[T <: Comparable[_ <: T]] // This is not cyclic - it flips the arrow class B[T <: Comparable[_ >: T]] Long have I been haunted by the knowledge that you can write class B in java, but not in scala: public class B<T extends Comparable<? super T>> {} It's over! We've achieved parity with java.
| * | | | | | | | | Experimental option -Ybreak-cycles.Paul Phillips2012-10-0911-0/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Overcomes cycles encountered during classfile parsing in possibly sketchy fashion. "illegal cyclic reference involving class Foo" is the watchword. See SI-3809.
* | | | | | | | | | Added one more test for SI-6358Hubert Plociniczak2012-10-091-0/+6
| | | | | | | | | |
* | | | | | | | | | Closes SI-6358. Move accessor generation for lazy vals to typers.Hubert Plociniczak2012-10-096-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.
* | | | | | | | | Possible fix for continuations bug.Paul Phillips2012-10-082-0/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It comes looking for an implicit from (A @foo) => B and gives up, despite the fact that there is an implicit from A => B. Maybe there is some good reason for this, and/or I would fully believe there is a better way to fix it, but I'll propose this and wait to hear about the good reason and/or better way.
* | | | | | | | | Merge remote-tracking branch 'origin/2.10.0-wip' into merge-2.10Paul Phillips2012-10-0723-135/+224
|\ \ \ \ \ \ \ \ \ | |_|/ / / / / / / |/| | / / / / / / | | |/ / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * origin/2.10.0-wip: MethodSymbol.params => MethodSymbol.paramss SI-6471 Update jquery from 1.4.2 to 1.8.2 undeprecates manifests for 2.10.0 SI-6451: Rename classes in `unchecked-abstract.scala` test. Put more implementation restrictions on value classes. Fixed problem in SI-6408 Revised restrictions for value classes and unversal traits SI-6436 Handle ambiguous string processors fixes a bug in a weak cache in runtime reflection Conflicts: test/files/neg/classmanifests_new_deprecations.check test/files/neg/unchecked-abstract.check
| * | | | | | | MethodSymbol.params => MethodSymbol.paramssEugene Burmako2012-10-073-12/+12
| | |_|_|/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This matter was discussed at scala-internals: http://groups.google.com/group/scala-internals/browse_thread/thread/6414d200cf31c357 And I am convinced with Paul's argument: consistency of the convention is very important.
| * | | | | | Merge pull request #1455 from scalamacros/topic/manifestsJosh Suereth2012-10-054-38/+18
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | undeprecates manifests for 2.10.0