summaryrefslogtreecommitdiff
path: root/test/files
diff options
context:
space:
mode:
authorAntonio Cunei <antonio.cunei@epfl.ch>2010-04-07 13:59:44 +0000
committerAntonio Cunei <antonio.cunei@epfl.ch>2010-04-07 13:59:44 +0000
commitc64117400e17cceb1b6e489167a71261297a7b4c (patch)
treeb942bbc7350b26f202312f0ba35f942b197d0618 /test/files
parent88bcc5c05b3abca7c2f09c59cbeceff0ab892fca (diff)
downloadscala-c64117400e17cceb1b6e489167a71261297a7b4c.tar.gz
scala-c64117400e17cceb1b6e489167a71261297a7b4c.tar.bz2
scala-c64117400e17cceb1b6e489167a71261297a7b4c.zip
Merged revisions 20582,20586,20597-20603,20607-...
Merged revisions 20582,20586,20597-20603,20607-20615,20619,20623-20625,20629-20631,20634- 20635,20639-20640,20644-20646,20649-20651,20654-20664,20672-20673,20675- 20678,20681-20683,20687-20690,20692-20693,20704-20705,20707,20710-20714, 20716,20718,20720,20723-20724,20727-20730,20734-20735,20738-20740,20744- 20745,20748,20750-20753,20756-20757,20761,20763,20767-20769,20771-20772, 20776-20781,20783,20785,20787-20791,20793-20798,20802-20803,20805-20807, 20812,20816,20818,20826,20828-20832,20834-20835,20840,20842-20844,20849- 20852,20854-20858,20862-20864,20866-20867,20869,20872-20874,20878-20881, 20884-20889,20894-20901,20905-20909,20911-20913,20917-20918,20920-20922, 20928-20929,20932-20938,20941-20942,20944-20945,20949-20970,20972-20974, 20976-21001,21003-21024,21027-21029,21031,21043-21045,21053-21054,21058- 21060,21062-21068,21071,21073-21081,21083-21088,21091-21094,21098-21103, 21105-21111,21113,21115,21121,21123-21131,21135-21142,21148-21151,21156- 21160,21162-21165,21167-21168,21171,21174-21181,21184,21186-21190,21193, 21195-21196,21199-21201,21205-21207,21210,21214-21220,21222-21250,21252- 21254,21256-21266,21269,21271,21273-21276,21278-21292,21294-21297,21299, 21303-21305,21307,21309,21313,21322-21333,21341-21351,21353-21354,21356 via svnmerge from https://lampsvn.epfl.ch/svn-repos/scala/scala/trunk ........ r20582 | extempore | 2010-01-18 22:18:36 +0100 (Mon, 18 Jan 2010) | 3 lines More work consolidating the XML code needlessly duplicated between the compiler and the library. Having to fix #2354 in two completely different places was I found very motivating. ........ r20586 | extempore | 2010-01-19 04:15:07 +0100 (Tue, 19 Jan 2010) | 14 lines Digging into why the repl is so slow, discovered that fsc is once again never reusing compiler instances (but for a different reason than #1683.) Small changes break equality and the little troopers are so darn quiet about it. Steady state, hot fsc repl startup times before this patch: 0m1.747s 0m1.789s 0m1.842s 0m1.690s After this patch: 0m1.139s 0m1.148s 0m1.090s 0m1.091s No review. Could use a test case but I have trouble coaxing partest this far outside the box. ........ r20597 | dubochet | 2010-01-19 11:52:43 +0100 (Tue, 19 Jan 2010) | 1 line [scaladoc] Search tool will ignore case for lowercase-only queries. Type return when search tool is active to immediately search and display the first result. Contributed by Johannes Rudolph. Also: removed useless `DocProvider` class. No review, checked by dubochet. ........ r20598 | dragos | 2010-01-19 14:21:03 +0100 (Tue, 19 Jan 2010) | 2 lines Fixed isClosureClass in inliner and removed it from CopyPropagation (was dead code). See #2893. ........ r20599 | odersky | 2010-01-19 17:44:20 +0100 (Tue, 19 Jan 2010) | 1 line more performance improvements; eliminated mk...Type function in Types. ........ r20600 | extempore | 2010-01-19 19:04:23 +0100 (Tue, 19 Jan 2010) | 2 lines Added test to pending with extensive exploration of behaviors of instanceOf as compared with type matching. ........ r20601 | extempore | 2010-01-19 19:24:29 +0100 (Tue, 19 Jan 2010) | 2 lines Iterators created with duplicate compare equal if they are positioned at the same element. Review by community. ........ r20602 | extempore | 2010-01-19 20:28:17 +0100 (Tue, 19 Jan 2010) | 4 lines Until now all scala builds performed not in an svn tree were given no version number, because the version was extracted from "svn info". Now it tries git style if svn info is unrevealing. Review by community. ........ r20603 | extempore | 2010-01-19 20:41:41 +0100 (Tue, 19 Jan 2010) | 1 line Test case for #2148. Closes #2148, no review. ........ r20607 | extempore | 2010-01-20 01:27:53 +0100 (Wed, 20 Jan 2010) | 5 lines Made some cosmetic but clarity-increasing changes to a few files. Primarily, used corresponds where possible rather than zipped.forall. Added isImplicit and isJava to MethodType so the relevant subtypes could be determined without the hideous isInstanceOf checks. Review by odersky. ........ r20608 | extempore | 2010-01-20 01:28:09 +0100 (Wed, 20 Jan 2010) | 1 line Fix for #2927. No review. ........ r20609 | extempore | 2010-01-20 03:36:37 +0100 (Wed, 20 Jan 2010) | 1 line Un-overloaded StringLike.format. Closes #2898. No review. ........ r20610 | extempore | 2010-01-20 03:36:51 +0100 (Wed, 20 Jan 2010) | 1 line Removed some debugging echoes I let slip through. ........ r20611 | extempore | 2010-01-20 05:38:32 +0100 (Wed, 20 Jan 2010) | 2 lines Took a slightly different tack on parsing the svn version. No review. ........ r20612 | extempore | 2010-01-20 06:50:37 +0100 (Wed, 20 Jan 2010) | 6 lines No longer are there more IDE-specific junk files in the root directory of the official scala repository than actual scala files and directories put together. It's a truly awful first impression to give potential developers so I'm interpreting the non-response regarding the need for them as quiet encouragement to put them in src/intellij. Review by ilyas. ........ r20613 | extempore | 2010-01-20 06:50:51 +0100 (Wed, 20 Jan 2010) | 2 lines Bringing README up to date and filling in some of the info gaps. Review by cunei. ........ r20614 | extempore | 2010-01-20 06:51:12 +0100 (Wed, 20 Jan 2010) | 4 lines Removed static state from global object ClassPath object, and some minor repositioning while in there. Closes #2928, but the intentions behind -optimise being intertwined with ClassPath could really use some source comments. Review by rytz. ........ r20615 | milessabin | 2010-01-20 10:12:10 +0100 (Wed, 20 Jan 2010) | 1 line Renamed new bin directory to "tools" to avoid conflict with Eclipse incremental build output directory. ........ r20619 | rytz | 2010-01-20 11:55:56 +0100 (Wed, 20 Jan 2010) | 1 line fixed bugs in .NET bytecode generation (branching out of try / catch / finally blocks is not allowed). predef.dll now almost passes PEVerify. no review ........ r20623 | dubochet | 2010-01-20 15:41:58 +0100 (Wed, 20 Jan 2010) | 1 line [scaladoc] Default values of parameters are documented. Tags "@author", "@see", "@since", "@version", and "@deprecated" are displayed in documentation. Contributed by Pedro Furlanetto, checked by dubochet, no review. ........ r20624 | plocinic | 2010-01-20 18:15:49 +0100 (Wed, 20 Jan 2010) | 1 line Closes #2653, #2652, #2556. The last one required more sophisticated mechanism for detecting invalid references to inherited members, but at least it doesn't seem to cause unnecessary recompilations. ........ r20625 | odersky | 2010-01-20 19:29:13 +0100 (Wed, 20 Jan 2010) | 2 lines Attempt to fix #2926 (companion object of case class problem in Eclipse) ........ r20629 | odersky | 2010-01-21 20:27:39 +0100 (Thu, 21 Jan 2010) | 1 line Fix for #2867 undone, review by extempore. ........ r20630 | extempore | 2010-01-21 21:52:32 +0100 (Thu, 21 Jan 2010) | 1 line Moved test case for just-reverted patch to pending. No review. ........ r20631 | extempore | 2010-01-21 22:00:08 +0100 (Thu, 21 Jan 2010) | 17 lines It's a big REPL patch. And it contains: * Eliminated a bug which was causing all repl lines to be parsed twice * Removed reference to JLine from InterpreterLoop which was causing someone trouble in eclipse * Enriched the repl compile/reflect mechanism to allow retrieving the value as well as the String describing it * Utilized said enrichment to write an eval[T] method which is exposed in the repl in :power mode * Added ability to turn off string unwrapping in repl: settings.unwrapStrings = false * Created interface presently called Completion.Special which lets objects define their own contents * As minor demonstration of above, in :power mode variable "repl" implements Special and completes with all repl identifiers * As more interesting demonstration of above, try a repl session like... import scala.tools.nsc.interpreter.Completion.Special import scala.tools.nsc.io.Process val connections = new Special { def tabCompletions() = Process("netstat -p tcp").toList drop 2 map (_ split "\\s+" apply 4) } connections.<tab> Review by community! ........ r20634 | odersky | 2010-01-22 17:50:55 +0100 (Fri, 22 Jan 2010) | 1 line Second attempt to fix #2926. Reverted first attempt. review by milessabin. ........ r20635 | rytz | 2010-01-22 17:55:23 +0100 (Fri, 22 Jan 2010) | 1 line fix several issues in .net backend / type parsing. allow re-building forkjoin.jar separately. no review ........ r20639 | odersky | 2010-01-23 18:44:20 +0100 (Sat, 23 Jan 2010) | 2 lines Closes 2926. Review by milesabin. ........ r20640 | extempore | 2010-01-23 21:30:01 +0100 (Sat, 23 Jan 2010) | 9 lines Another big REPL patch. Lacking the time right now to write a proper commit message, I will just say it adds a couple of pretty frabjous features, in addition to cleaning up a whole bunch of questionable code. * Tab-completion now chains through intermediate results on fields and 0-arg methods * You can now define custom Completors which define their own contents. Details and demos to come in a wiki document about the repl. ........ r20644 | extempore | 2010-01-24 01:31:38 +0100 (Sun, 24 Jan 2010) | 2 lines Some minor polishing to the previous repl completion patch, plus a few new features and improvements. ........ r20645 | odersky | 2010-01-24 16:05:46 +0100 (Sun, 24 Jan 2010) | 2 lines renamed notCompiles ==> canRedefine. Made code completion more robust. ........ r20646 | extempore | 2010-01-24 16:19:55 +0100 (Sun, 24 Jan 2010) | 1 line Removing a stray paren to unbreak build. No review. ........ r20649 | dragos | 2010-01-24 19:15:23 +0100 (Sun, 24 Jan 2010) | 2 lines Fixed dead code elimination to satisfy YourKit's instrumentation: a drop for a newly initialized object is always added after the constructor call, instead of immediately after a DUP ........ r20650 | plocinic | 2010-01-24 23:57:30 +0100 (Sun, 24 Jan 2010) | 1 line Added new target for partest for testing Build Manager behaviour. Updated Refined Build Manager for consistency. --buildmanager requires the test file that describes actions to be done on the refined build manager (compiling files, making changes to the classes), sources of changes, the check file and the initial scala source files. Cleaned up some code in partest, refactored some obvious code duplication. Tests to follow... Review by phaller. ........ r20651 | plocinic | 2010-01-25 00:00:02 +0100 (Mon, 25 Jan 2010) | 1 line First test for buildmanager. No review necessary ........ r20654 | plocinic | 2010-01-25 11:28:11 +0100 (Mon, 25 Jan 2010) | 1 line Fix ant task for build manager partest. no review. ........ r20655 | rytz | 2010-01-25 11:44:16 +0100 (Mon, 25 Jan 2010) | 1 line small improvements in building newlibs / newforkjoin. no review. ........ r20656 | dubochet | 2010-01-25 12:31:44 +0100 (Mon, 25 Jan 2010) | 1 line [scaladoc] Deprecated methods are striked-out. There is an `implict` keyword in front of implicit parameters. Fixed an issue with inherited constructors printed in documentation. Contributed by Pedro Furlanetto, checked by dubochet, no review. ........ r20657 | dragos | 2010-01-25 13:43:40 +0100 (Mon, 25 Jan 2010) | 2 lines Fixed #2497: replaceInstruction now uses reference equality. No review necessary. ........ r20658 | rytz | 2010-01-25 15:20:52 +0100 (Mon, 25 Jan 2010) | 1 line close #2929. review by community (see typedValDef in Typers.scala, the BYNAMEPARAM flag was missing). ........ r20659 | dubochet | 2010-01-25 15:23:36 +0100 (Mon, 25 Jan 2010) | 1 line [scaladoc] Classes `FunctionX`, `ProductX`, and `TupleX`, for `X` greater than 2, are not listed. Contributed by Pedro Furlanetto, checked by dubochet, no review. ........ r20660 | milessabin | 2010-01-25 17:14:02 +0100 (Mon, 25 Jan 2010) | 1 line Use file paths for equality and hashCode to deal with mixed-type file equality test issues in the IDE. Fixes #2931. ........ r20661 | prokopec | 2010-01-25 19:21:04 +0100 (Mon, 25 Jan 2010) | 2 lines Replacement in matching can now be done by providing function arguments for replacement. Fixes #2761. Review by phaller. ........ r20662 | prokopec | 2010-01-25 19:21:32 +0100 (Mon, 25 Jan 2010) | 1 line Test file for matching with replace. ........ r20663 | odersky | 2010-01-25 19:32:56 +0100 (Mon, 25 Jan 2010) | 1 line Fixed stability problem with build. ........ r20664 | prokopec | 2010-01-25 20:22:06 +0100 (Mon, 25 Jan 2010) | 1 line Fixes #2766. Review by phaller. ........ r20672 | plocinic | 2010-01-26 11:03:04 +0100 (Tue, 26 Jan 2010) | 1 line Changed the info statements in refined build manager to print the information in more consistent way, so that we can test it using partest. Added more tests for build manager, more to follow... No review. ........ r20673 | plocinic | 2010-01-26 11:33:10 +0100 (Tue, 26 Jan 2010) | 1 line More tests, plus missing file. No review. ........ r20675 | plocinic | 2010-01-26 14:38:38 +0100 (Tue, 26 Jan 2010) | 1 line Hack for the refined build manager to print info in a deterministic way. No review. ........ r20676 | prokopec | 2010-01-26 15:03:19 +0100 (Tue, 26 Jan 2010) | 1 line Access modifiers added for certain members and some refactoring in Regex. ........ r20677 | dubochet | 2010-01-26 15:03:24 +0100 (Tue, 26 Jan 2010) | 1 line Fixed a number of faulty Scaladoc comments in library and compiler sources. No review. ........ r20678 | plocinic | 2010-01-26 15:21:58 +0100 (Tue, 26 Jan 2010) | 1 line Another batch of tests. No review. ........ r20681 | extempore | 2010-01-26 23:14:15 +0100 (Tue, 26 Jan 2010) | 13 lines Refinements to the recent repl patches. You can now complete on a few more things, like literals (1.<tab>, "abc".<tab>). A completion aware case class walker which leverages the names of the case fields for completion. For instance: :power val x = new ProductCompletion(mkTree("def f(x: Int, y: Int) = f(5, 10) + f(10, 20)") x.<tab> mods name rhs tparams tpt vparamss x.rhs.fun.<tab> name qualifier scala> x.rhs.fun.qualifier res3: scala.tools.nsc.ast.Trees$Apply = f(5, 10) ........ r20682 | plocinic | 2010-01-27 00:01:41 +0100 (Wed, 27 Jan 2010) | 1 line Refactored some of the code from r20624 thanks to Iulian's review. ........ r20683 | plocinic | 2010-01-27 00:08:20 +0100 (Wed, 27 Jan 2010) | 1 line Cleaning up. No review. ........ r20687 | phaller | 2010-01-27 10:07:56 +0100 (Wed, 27 Jan 2010) | 1 line Made actor-receivewithin test deterministic. ........ r20688 | rytz | 2010-01-27 11:23:31 +0100 (Wed, 27 Jan 2010) | 1 line close #2868. problem was: when the same constant is used in a ConstantType and a LiteralAnnotArg, it is stored inside the unpickle cache 'entries' (see 'def at' in UnPickler) once as Constant, once as LiteralAnnotArg, resulting in a CCE for the second read. review by extempore. ........ r20689 | rytz | 2010-01-27 11:28:52 +0100 (Wed, 27 Jan 2010) | 1 line fix pickle format doc. no review ........ r20690 | rytz | 2010-01-27 12:08:54 +0100 (Wed, 27 Jan 2010) | 1 line reverting r20688 for now, no review ........ r20692 | plocinic | 2010-01-27 13:56:24 +0100 (Wed, 27 Jan 2010) | 1 line Closes #2966. Review by milessabin. ........ r20693 | plocinic | 2010-01-27 14:15:16 +0100 (Wed, 27 Jan 2010) | 1 line Forgot to commit the change. No review. ........ r20704 | rytz | 2010-01-27 15:12:28 +0100 (Wed, 27 Jan 2010) | 1 line now correctly fix #2868. no review ........ r20705 | extempore | 2010-01-27 17:53:36 +0100 (Wed, 27 Jan 2010) | 1 line Fix for #2563. Review by mharrah. ........ r20707 | extempore | 2010-01-27 22:27:22 +0100 (Wed, 27 Jan 2010) | 1 line Some hardening of repl generated code. No review. ........ r20710 | extempore | 2010-01-28 06:46:06 +0100 (Thu, 28 Jan 2010) | 6 lines One of those "$.05 for the bolt, $50,000 for knowing where to put it" commits. Closes #425, #816, #2310, #2691. All credit for this patch goes to me for having the genius to know when new eyes were needed (although if you're feeling generous some could also go to walter korman for the actual debugging and code writing part.) ........ r20711 | extempore | 2010-01-28 06:46:36 +0100 (Thu, 28 Jan 2010) | 5 lines Moved some test cases from pending to files since the bugs they were watching for seem to be fixed. Moved some other test cases from pending to disabled because they deceptively claim to pass while investigation reveals the ticket needs to remain open. Closes #1996, #2660. ........ r20712 | rytz | 2010-01-28 11:26:00 +0100 (Thu, 28 Jan 2010) | 1 line close #2886 (applied patch). no review ........ r20713 | dubochet | 2010-01-28 11:48:38 +0100 (Thu, 28 Jan 2010) | 6 lines [scaladoc] Comment parsing is improved: * tags in code blocks no longer confuse the parser; * `@note` and `@example` are recognised tags; * Empty comments no longer generate "must start with a sentence" warnings; * `@usecase` parsing works better in some situations with blank comment lines above or below. No review. ........ r20714 | dubochet | 2010-01-28 11:48:53 +0100 (Thu, 28 Jan 2010) | 1 line [scaladoc] In HTML documentation, `@return` tag is printed also when there is no `@param` tag present. No review. ........ r20716 | rytz | 2010-01-28 15:14:20 +0100 (Thu, 28 Jan 2010) | 1 line Removing defaultGetter field from TermSymbols. review by odersky (see 'def defaultGetter' in typechecker/NamesDefaults.scala) ........ r20718 | extempore | 2010-01-28 17:16:22 +0100 (Thu, 28 Jan 2010) | 9 lines Added :search to power mode for finding classes on the classpath by regular expression, plus a bunch of compiler hacker convenience methods to the repl. Now after :power you can: mkContext() // Context mkUnit("class Q") // CompilationUnit mkTypedTree("class A { val x = 5 }") // Tree after phase typer mkType("java.util.Map") // Type object ... and many more. No review. ........ r20720 | extempore | 2010-01-28 23:55:42 +0100 (Thu, 28 Jan 2010) | 2 lines Added a command line option for desugaring match blocks differently for debugging purposes. No review. ........ r20723 | extempore | 2010-01-29 01:37:07 +0100 (Fri, 29 Jan 2010) | 6 lines I'm sure I'm not the only one driven into paroxysms of annoyance at the fact that repl transcripts are not at all usable in the repl. No longer: now you can paste a transcript into the repl and it will automatically detect it as such, clean it up and replay it. It is triggered by the "scala> " on the first line of the transcript. Review by community. ........ r20724 | plocinic | 2010-01-29 12:23:52 +0100 (Fri, 29 Jan 2010) | 1 line Closes #2650. Dependency on type alias requires analysis before uncurry phase. Added tests. Review by dragos. ........ r20727 | odersky | 2010-01-29 15:04:06 +0100 (Fri, 29 Jan 2010) | 1 line new starr to bag performance improvements and fixes to companion objects ........ r20728 | extempore | 2010-01-29 16:43:41 +0100 (Fri, 29 Jan 2010) | 2 lines Added hashCode implementations to Manifest types where necessary. Closes #2838. No review. ........ r20729 | extempore | 2010-01-29 20:11:20 +0100 (Fri, 29 Jan 2010) | 3 lines Implemented rompf's suggested improvement to the tail recursive combinators, avoiding re-evaluation of by-name argument. Score one for code review. No review. (Ironic.) ........ r20730 | extempore | 2010-01-29 20:11:38 +0100 (Fri, 29 Jan 2010) | 3 lines A few compiler IO lib bits I have been needing: some basic conveniences for directories and sockets, and some cleanups in CompileSocket. Review by community. ........ r20734 | extempore | 2010-01-30 07:30:57 +0100 (Sat, 30 Jan 2010) | 6 lines A compact tree printer, for primitives like myself who do all their debugging in the console and need extraneous information filtered out. New option: -Ycompact-trees. Supply that in conjunction with -Xprint:all and suddenly the output is a (relative) masterpiece of concision. Review by anyone who is game to review such a thing. Community? ........ r20735 | plocinic | 2010-01-30 18:06:34 +0100 (Sat, 30 Jan 2010) | 1 line Better test for checking existential types, where symbols not necessarily have the same name. Added test for that. The problem manifested itself in Globals.scala for variable classpath causing execissive compilation without any reason. No review. ........ r20738 | extempore | 2010-01-31 06:39:25 +0100 (Sun, 31 Jan 2010) | 2 lines Band-aid for #3004. No review unless you want to take on name mangling and forwarders, in which case review away. ........ r20739 | extempore | 2010-01-31 17:34:24 +0100 (Sun, 31 Jan 2010) | 4 lines Great moments in typos: somehow the "decodeUni" in CharArrayReader had transmogrified into "decodeUnit" in UnitScanner, thus causing -Xno-uescape to be ignored. Also, removed a now unused -X option. Review by community. ........ r20740 | extempore | 2010-01-31 17:59:19 +0100 (Sun, 31 Jan 2010) | 2 lines Solidified the logic of stringOf for repl results printing. Closes #726. Review by community. ........ r20744 | extempore | 2010-02-01 02:24:11 +0100 (Mon, 01 Feb 2010) | 2 lines Unbroke the build. Remember kids, "Node extends NodeSeq extends Seq[Node]" means never having to meet your base case. No review. ........ r20745 | plocinic | 2010-02-01 10:34:28 +0100 (Mon, 01 Feb 2010) | 1 line Check recursively the type aliases. Closes #2650. Review by dragos. ........ r20748 | odersky | 2010-02-01 16:10:26 +0100 (Mon, 01 Feb 2010) | 1 line lifted out core compiler data structures into reflect.generic package. Made Unpickler work on generic data. ........ r20750 | odersky | 2010-02-01 16:49:33 +0100 (Mon, 01 Feb 2010) | 1 line missing bits of r20746. For some reasons smartsvn did not show these before. review by dubochet, extempore. ........ r20751 | extempore | 2010-02-01 17:06:14 +0100 (Mon, 01 Feb 2010) | 3 lines Removed scala.util.NameTransformer (it moved to reflect.) We don't have to @deprecate it since it's never been in a released version. No review. ........ r20752 | plocinic | 2010-02-01 17:16:11 +0100 (Mon, 01 Feb 2010) | 1 line Exclude anonymous function classes from the definitions in dependency analysis. This was causing spurious errors in for example Global.scala and Interpreter.scala because of fresh names numbering. Also cleanup up some code. No review. ........ r20753 | odersky | 2010-02-01 18:15:05 +0100 (Mon, 01 Feb 2010) | 1 line suppresses generation of manifests for abstract type members. ........ r20756 | extempore | 2010-02-01 23:35:12 +0100 (Mon, 01 Feb 2010) | 2 lines Quite a lot more work on completion. The main bit is that file completion is now avilable, with some caveats. Review by community. ........ r20757 | extempore | 2010-02-02 00:19:33 +0100 (Tue, 02 Feb 2010) | 3 lines Continuing the fine work creating an abstract interface to the compiler in scala.reflect.generic, promoted Trees#Traverser and made the associated changes. Review by odersky. ........ r20761 | plocinic | 2010-02-02 11:36:38 +0100 (Tue, 02 Feb 2010) | 1 line Cleaned up the code slightly. No review. ........ r20763 | plocinic | 2010-02-02 12:28:56 +0100 (Tue, 02 Feb 2010) | 1 line Fixed tests. No review. ........ r20767 | phaller | 2010-02-02 13:40:38 +0100 (Tue, 02 Feb 2010) | 1 line Closes #3009. ........ r20768 | plocinic | 2010-02-02 15:51:03 +0100 (Tue, 02 Feb 2010) | 1 line Correctly check annotated types. Problem showed up for example in Interpreter.scala. No review. ........ r20769 | extempore | 2010-02-02 17:46:23 +0100 (Tue, 02 Feb 2010) | 5 lines Hid some AST nodes from the prying eyes of reflectors. Now Parens, AssignOrNamedArg, and DocDef are known only to scalac. Also some cosmetic arranging in the new reflect.generic package, because there's never a better time than when the code is still warm from the compiler. Review by odersky. ........ r20771 | extempore | 2010-02-02 20:43:07 +0100 (Tue, 02 Feb 2010) | 9 lines Took a swing at sorting out sorting. The major components are rewriting the Sorting methods to accept Orderings and adding a sorted method to SeqLike, because we should all be pretty tired of writing ".sortWith(_ < _)" by now. I think it should be called "sort", not "sorted", but that refuses to coexist gracefully with the deprecated sort in List. Review by moors (chosen pretty arbitrarily, someone at epfl should review it but I don't know who deserves the nomination.) ........ r20772 | extempore | 2010-02-02 21:13:28 +0100 (Tue, 02 Feb 2010) | 5 lines It was pointed out that sorted and the 1-arg version of sortWith are the same method, one with implicit argument, one without. Since sortWith has never exist in a release, we can un-overload it (which is a win anyway) and route everything through sorted. Review by moors. ........ r20776 | plocinic | 2010-02-03 11:22:27 +0100 (Wed, 03 Feb 2010) | 1 line Fixes the problem mentioned in #2882, which seems to be the reason for #2280 - allow simple ananlysis on java sources. Review by dragos ........ r20777 | extempore | 2010-02-03 16:52:25 +0100 (Wed, 03 Feb 2010) | 2 lines Made sliding/grouped throw an exception when read past the end. Closes #3017. ........ r20778 | dubochet | 2010-02-03 18:03:58 +0100 (Wed, 03 Feb 2010) | 1 line [scaladoc] Optional link to source (set parameter "-doc-source-url"). Support for commenting packages (using package objects). Contributed by Perdo Furlanetto. Also: small performance improvements, short comment extraction is more robust (but no HTML tags allowed in first sentence), small code clean-ups. Checked by dubochet, no review. ........ r20779 | extempore | 2010-02-03 18:34:31 +0100 (Wed, 03 Feb 2010) | 5 lines Striking while the iron is hot, renamed removeDuplicates to unique and deprecated removeDuplicates. The debate between distinct and unique was vigorous but unique won by a freckle. (Dark horse 'nub' was disqualified for taking performance enhancers.) The only thing which might need review is the choice of name, but review by odersky. ........ r20780 | dpp | 2010-02-03 19:04:50 +0100 (Wed, 03 Feb 2010) | 1 line Fixed XML Utility.escape method to conform to XML spec. Closes #3014 ........ r20781 | dragos | 2010-02-03 19:17:17 +0100 (Wed, 03 Feb 2010) | 2 lines Preserve source order for class members in generated bytecode. No review necessary. ........ r20783 | extempore | 2010-02-03 22:12:56 +0100 (Wed, 03 Feb 2010) | 2 lines Created MSILGlobal to start breaking the dependency on msil.jar for those platforms which don't use msil. Review by rytz. ........ r20785 | extempore | 2010-02-04 00:51:49 +0100 (Thu, 04 Feb 2010) | 7 lines A big push to make the interpreter easier to instantiate without having to dodge bullets. It shouldn't have to be any harder than this: scala> new scala.tools.nsc.Interpreter().evalExpr[Int]("5*5") res0: Int = 25 ...and now it isn't. Review by community. ........ r20787 | extempore | 2010-02-04 13:26:02 +0100 (Thu, 04 Feb 2010) | 3 lines Noticed that all the system properties were being read into vals so they didn't notice changes. Determined this was not correct, and changed them into defs. No review. ........ r20788 | extempore | 2010-02-04 13:26:42 +0100 (Thu, 04 Feb 2010) | 2 lines Unique's seeming victory is overruled by committee. It is "distinct", not "unique", wherein lies the nub. No review. ........ r20789 | extempore | 2010-02-04 14:33:06 +0100 (Thu, 04 Feb 2010) | 5 lines The remainder of isolating MSIL from the rest of the classpath code. To accomplish this I made ClassRep an inner class of ClassPath (which given the broad definition of ClassPath already in place, it conceptually is already) and as a bonus this allowed dropping its type parameter. Review by rytz. ........ r20790 | extempore | 2010-02-04 16:22:03 +0100 (Thu, 04 Feb 2010) | 3 lines Some minor cleanups in reflect. Moved the apply on Traverser back into the compiler so Traversers can define whatever apply is relevant to them. No review. ........ r20791 | phaller | 2010-02-04 18:03:57 +0100 (Thu, 04 Feb 2010) | 1 line Fixed issue in partest where result of tests that timed out was not printed. Improved reporting. Added support for JUnit report files. ........ r20793 | extempore | 2010-02-04 18:15:18 +0100 (Thu, 04 Feb 2010) | 2 lines Some hardening in the repl, and removing some functions which now exist in the standard library. No review. ........ r20794 | extempore | 2010-02-04 19:50:47 +0100 (Thu, 04 Feb 2010) | 6 lines Raised the level of abstraction (slightly, not enough) on ClassPath by defining the difference between optimized and regular classpaths in terms of an arbitrary name filter instead of in terms of settings.XO. Altered the decision logic to look at the value of -Yinline instead of -optimise. Closes #2950. Review by rytz. ........ r20795 | rompf | 2010-02-04 20:02:16 +0100 (Thu, 04 Feb 2010) | 1 line Added byval mode and annotation checker hook for weak lub. Review by odersky. ........ r20796 | extempore | 2010-02-04 21:21:44 +0100 (Thu, 04 Feb 2010) | 9 lines Made a whole WithFilter class for Option after discovering this bug: scala> def f(x: AnyRef) = for (p <- Option(x)) yield p f: (x: AnyRef)Option[AnyRef] scala> def f(x: AnyRef) = for (p <- Option(x) ; if true) yield p f: (x: AnyRef)Iterable[AnyRef] The for comprehension logic apparently prefers to convert Option to Iterable to get at the withFilter method over using Option's filter. ........ r20797 | rompf | 2010-02-04 21:52:03 +0100 (Thu, 04 Feb 2010) | 1 line fixed previous commit. No review. ........ r20798 | extempore | 2010-02-05 00:08:44 +0100 (Fri, 05 Feb 2010) | 1 line Taking a swing at fixing -optimise. No review. ........ r20802 | dubochet | 2010-02-05 14:12:34 +0100 (Fri, 05 Feb 2010) | 1 line [scaladoc] Fixed issue with failing Windows build. Code by Pedro Furlanetto, no review. ........ r20803 | ilyas | 2010-02-05 17:53:41 +0100 (Fri, 05 Feb 2010) | 1 line some scalap tweaks ........ r20805 | extempore | 2010-02-05 19:33:09 +0100 (Fri, 05 Feb 2010) | 2 lines Discovered that List's deprecated removeDuplicates didn't survive the renaming of unique to distinct. No review. ........ r20806 | ilyas | 2010-02-05 21:06:07 +0100 (Fri, 05 Feb 2010) | 1 line scalap output bug fixed ........ r20807 | ilyas | 2010-02-05 21:54:40 +0100 (Fri, 05 Feb 2010) | 1 line testdata changed ........ r20812 | extempore | 2010-02-06 05:15:08 +0100 (Sat, 06 Feb 2010) | 4 lines A more MSIL-aware attempt at isolating the platform dependent pieces of Global and ClassPath so we don't introduce unwanted dependencies. Introduces a small interface backend.Platform which encapsulates that data. Review by rytz, odersky. ........ r20816 | extempore | 2010-02-07 01:13:55 +0100 (Sun, 07 Feb 2010) | 2 lines Some code duplication removal as I inch us toward consistent classpath handling. No review. ........ r20818 | milessabin | 2010-02-07 23:14:40 +0100 (Sun, 07 Feb 2010) | 1 line IntelliJ project metadata updated for new location. Thanks to Tony Coates for the patch. ........ r20826 | rytz | 2010-02-08 16:37:34 +0100 (Mon, 08 Feb 2010) | 1 line fix msil build (nested classes in particular). no review. ........ r20828 | phaller | 2010-02-08 18:15:22 +0100 (Mon, 08 Feb 2010) | 1 line Re-added deprecated member to scala.actors.Future. No review necessary. ........ r20829 | dubochet | 2010-02-08 22:28:30 +0100 (Mon, 08 Feb 2010) | 5 lines [scaladoc] Many improvements in the UI for Scaladoc's entity index (left-pane): - It is possible to "focus" on a package to restrict searches on it. - Filtering in left pane no longer blocks the UI. - The filter tool for packages is easily recognizable for what it is, not just an empty, mysterious space. Review by community. ........ r20830 | dubochet | 2010-02-08 22:28:47 +0100 (Mon, 08 Feb 2010) | 1 line [scaladoc] Fully qualified names are displayed in tooltips instead of using in-place growth. All inherited members can be filtered in a single operation. Contributed by Pedro Furlanetto, checked by dubochet, no review. ........ r20831 | extempore | 2010-02-08 23:28:17 +0100 (Mon, 08 Feb 2010) | 20 lines Some work on classpaths. This implements the specification at https://lampsvn.epfl.ch/trac/scala/wiki/Classpath modulo some minor details which remain to be investigated. It is not entirely integrated, and should not involve any behavioral changes. The patch also contains a number of small improvements targetting widely duplicated code. PathResolver offers a main method. If run with no arguments it will output a pile of information about classpath relevant environment vars and properties. If given arguments, it will output the classpath info that any scala runner script would use if given the same args. There is a wrapper in the tools directory. Example: tools/pathResolver -extdirs /foo -sourcepath /bar | egrep "sourcePath|scalaExtDirs" scalaExtDirs = /foo sourcePath = /bar There is also a (probably temporary) command line option -Ylog-classpath which will print out the settings.classpath value anytime it changes. Review by community. ........ r20832 | extempore | 2010-02-09 00:09:49 +0100 (Tue, 09 Feb 2010) | 8 lines Until now directories on the classpath were not considered for repl completion because of the risk of accidentally traversing large chunks of the filesystem (e.g. "." in the path, run from /). Some low hanging fruit was available - at least SCALA_HOME can be considered safe, and then we get the scala classes. The main impact of this is that completion now works for the built-in classes when you run build/quick/bin/scala. Review by community. ........ r20834 | milessabin | 2010-02-09 10:58:24 +0100 (Tue, 09 Feb 2010) | 1 line Export missing package. ........ r20835 | milessabin | 2010-02-09 11:15:16 +0100 (Tue, 09 Feb 2010) | 1 line Compiler part of fix for #2767: provide hooks to allow the presentation compiler to add sources to the run to resolve top-level symbols which cannot be found via the Java naming convention. Review by odersky. ........ r20840 | prokopec | 2010-02-09 16:31:11 +0100 (Tue, 09 Feb 2010) | 1 line `replaceSomeIn` method added. Removed `replaceAllIN` taking a String to String. ........ r20842 | extempore | 2010-02-09 19:37:44 +0100 (Tue, 09 Feb 2010) | 1 line No double-processing format strings. Closes #3040. No review. ........ r20843 | rompf | 2010-02-09 20:08:07 +0100 (Tue, 09 Feb 2010) | 1 line some small byval mode changes. review by odersky. ........ r20844 | dragos | 2010-02-09 20:21:34 +0100 (Tue, 09 Feb 2010) | 1 line Fixed partially specialized classes. Closes #2880. No review. ........ r20849 | rytz | 2010-02-10 10:03:13 +0100 (Wed, 10 Feb 2010) | 1 line close #3003. no review, already done by dragos. ........ r20850 | prokopec | 2010-02-10 12:12:55 +0100 (Wed, 10 Feb 2010) | 1 line fixes #3046 ........ r20851 | rompf | 2010-02-10 15:21:57 +0100 (Wed, 10 Feb 2010) | 1 line modified typing of while loops to allow other types than Unit (e.g. Unit @cps). review by odersky. ........ r20852 | rytz | 2010-02-10 15:48:58 +0100 (Wed, 10 Feb 2010) | 1 line close #2984. review by community. ........ r20854 | plocinic | 2010-02-10 17:51:13 +0100 (Wed, 10 Feb 2010) | 1 line Closes #2651 ........ r20855 | phaller | 2010-02-10 18:11:11 +0100 (Wed, 10 Feb 2010) | 1 line partest no longer treats remaining .log files as tests. No review necessary. ........ r20856 | extempore | 2010-02-10 20:51:38 +0100 (Wed, 10 Feb 2010) | 5 lines More work on classpaths. This commit should restore the ability to have command line options following source files, at the price of temporarily breaking tools/pathResolver. Working my way through all the usages of classpath in trunk zeroing in on fully consistent handling. Review by community. ........ r20857 | extempore | 2010-02-11 00:20:02 +0100 (Thu, 11 Feb 2010) | 1 line Disabled failing test. Review by plocinic. ........ r20858 | plocinic | 2010-02-11 00:29:54 +0100 (Thu, 11 Feb 2010) | 1 line Fixes #3045. No review. ........ r20862 | plocinic | 2010-02-11 11:14:59 +0100 (Thu, 11 Feb 2010) | 1 line Removed leftovers of r20857, added test for #3045 ........ r20863 | extempore | 2010-02-11 14:47:13 +0100 (Thu, 11 Feb 2010) | 2 lines Trying to get when "." is added to the classpath under control. Band-aid for an obscure bit of fallout closes #3049. No review. ........ r20864 | dubochet | 2010-02-11 14:55:34 +0100 (Thu, 11 Feb 2010) | 1 line [scaladoc] Fixed popup content lookup so that it works on all browsers. Speed-up in entity index search (according to jQuery manual, observed no notable difference). Some small aesthetic cleanups in the way index initialization and filtering behaves. No review. ........ r20866 | extempore | 2010-02-11 16:10:45 +0100 (Thu, 11 Feb 2010) | 6 lines More work on classpaths. This commit also unbreaks fsc, for which we must have no test cases at all. In the short term there will probably be a few more minor disruptions since with classpaths constructed a half dozen different ways, achieving consistency requires flushing out the undocumented accidents upon which any given island might depend. Review by community. ........ r20867 | rompf | 2010-02-11 17:58:12 +0100 (Thu, 11 Feb 2010) | 1 line added annotation checker hook for Types.isWithinBounds. needed to allow functions of type T => A @cps[B,C] even though A @cps[B,C] is not a subtype of Any. review by odersky. ........ r20869 | extempore | 2010-02-12 00:37:15 +0100 (Fri, 12 Feb 2010) | 8 lines The non-intrusive bits of my hopefully pending "use the static type of the scrutinee to rule out some type/extractor patterns" patch. Includes a cleanup of the (still inadequate) type-parameter-ignoring match test which had been interfering with martin's digestion. Also: implicit search is disabled when typing a pattern, because the matcher never invokes implicits to satisfy a pattern. At worst maybe we'll get a performance bump. No review. ........ r20872 | dubochet | 2010-02-12 16:53:39 +0100 (Fri, 12 Feb 2010) | 1 line [scaladoc] Fixes for IE 8 compatibility. Partially contributed by Pedro Furlanetto, no review. ........ r20873 | prokopec | 2010-02-12 19:20:26 +0100 (Fri, 12 Feb 2010) | 1 line Fixes #3046 once more. No review is necessary. ........ r20874 | dubochet | 2010-02-12 19:43:49 +0100 (Fri, 12 Feb 2010) | 1 line [scaladoc] Added "display packages only" filter to entity index. No review. ........ r20878 | extempore | 2010-02-14 01:08:01 +0100 (Sun, 14 Feb 2010) | 7 lines Some change to classpath handling in r20866 has left quick in a condition where it won't load Array. After a fair bit of beating my head against the wall as to why, I determined that everything works if I simply don't throw the exception it used to throw. In the short term I am committing this so quick works, and I will continue the investigation. Review by dragos (2 line patch to minimize reviewer burden.) ........ r20879 | extempore | 2010-02-14 02:00:37 +0100 (Sun, 14 Feb 2010) | 2 lines Reducing the amount of low-level classpath manipulation going on around town. No review. ........ r20880 | extempore | 2010-02-14 07:52:11 +0100 (Sun, 14 Feb 2010) | 2 lines Added some error logic so if #2956 strikes again we'll have a better idea why. No review. ........ r20881 | extempore | 2010-02-14 09:47:18 +0100 (Sun, 14 Feb 2010) | 4 lines More classpath work, and cleanups in the vicinities of everything manipulating classpaths. Review by anyone willing to slog through the approximately dozen different ways the classpath can be influenced. ........ r20884 | extempore | 2010-02-15 07:32:50 +0100 (Mon, 15 Feb 2010) | 3 lines Restored the disabled exception in classfileparser. Strange quick behavior was being caused by multiple occurrences of some classpath elements. No review. ........ r20885 | dragos | 2010-02-15 11:12:00 +0100 (Mon, 15 Feb 2010) | 1 line Merge branch 'fix-specialized' ........ r20886 | extempore | 2010-02-15 17:41:17 +0100 (Mon, 15 Feb 2010) | 6 lines Disabled JavaInteraction test. This test has been costing me a lot of time because it fails if you can't connect to the screen of the test machine. And then if any test fails, the stability test doesn't run. We badly a separate testing area for tests which are prone to failure for reasons which are unrelated to the quality ostensibly being tested. No review. ........ r20887 | extempore | 2010-02-15 17:55:21 +0100 (Mon, 15 Feb 2010) | 1 line Fix for the out-of-date showpickled. No review. ........ r20888 | extempore | 2010-02-15 21:00:36 +0100 (Mon, 15 Feb 2010) | 18 lines Some new tools for the tools directory. Everything in this commit amounts to a yak shaving expedition to enable this, which now works: tools/diffPickled scala.Either and since stability is presently broken you will see the following. (When it's not broken you will see nothing.) 541,544c541,544 < 538,4090: EXTref 3: 539(Left) 2 < 539,4095: TYPEname 4: Left < 540,4101: EXTref 3: 541(Right) 2 < 541,4106: TYPEname 5: Right --- > 538,4090: EXTref 3: 539(Right) 2 > 539,4095: TYPEname 5: Right > 540,4102: EXTref 3: 541(Left) 2 > 541,4107: TYPEname 4: Left ........ r20889 | extempore | 2010-02-15 22:44:28 +0100 (Mon, 15 Feb 2010) | 2 lines Rewrote my own submitted code of a year ago from trac and added scalawhich to the tools dir. Closes #657. ........ r20894 | extempore | 2010-02-16 17:31:29 +0100 (Tue, 16 Feb 2010) | 1 line Some minor bugfixing/refining to completion. No review. ........ r20895 | extempore | 2010-02-16 20:57:44 +0100 (Tue, 16 Feb 2010) | 2 lines Some prestidigitation improving the repl startup time. The prompt is quicker than the eye! No review. ........ r20896 | extempore | 2010-02-16 20:59:22 +0100 (Tue, 16 Feb 2010) | 1 line Last minute change broke the last commit. Fixing. No review. ........ r20897 | extempore | 2010-02-16 22:03:43 +0100 (Tue, 16 Feb 2010) | 1 line Trying again to unbreak the repl patch. No review. ........ r20898 | extempore | 2010-02-16 22:22:10 +0100 (Tue, 16 Feb 2010) | 2 lines Unix scripts pass -D options to the underlying JVM invocation. Closes #1222. Review by community. ........ r20899 | extempore | 2010-02-16 22:41:01 +0100 (Tue, 16 Feb 2010) | 2 lines Made partest stop crashing on test directories without a lib directory. No review. ........ r20900 | extempore | 2010-02-16 23:28:27 +0100 (Tue, 16 Feb 2010) | 3 lines Altered Symbol.isLess to sort on initName before id. No longer will slightly different classpaths break the stability test. Review by odersky. ........ r20901 | extempore | 2010-02-17 00:48:32 +0100 (Wed, 17 Feb 2010) | 5 lines Took a less ambitious approach to restoring stability. Leave isLess as it was and have the pickler sort without using isLess. Interestingly this approach still leaves a class failing the stability test (scala/actors/remote/Apply0.class) so a little more will be needed. Review by odersky. ........ r20905 | milessabin | 2010-02-17 01:47:55 +0100 (Wed, 17 Feb 2010) | 1 line Fix and test case for #3031. Review by odersky. ........ r20906 | plocinic | 2010-02-17 12:34:35 +0100 (Wed, 17 Feb 2010) | 1 line Checking the symbols of parameters in overloaded methods didn't seem to work in all cases. Apparently the enclosing class of the owner of the parameter was changing during the compilations from trait to the implementation class. This was causing annoying excessive compilation for Types.scala. ........ r20907 | prokopec | 2010-02-17 13:22:37 +0100 (Wed, 17 Feb 2010) | 1 line Array copy method fixed, Fixes #3065. Review by community. ........ r20908 | prokopec | 2010-02-17 13:23:13 +0100 (Wed, 17 Feb 2010) | 1 line Test file for last commit. ........ r20909 | milessabin | 2010-02-17 18:15:51 +0100 (Wed, 17 Feb 2010) | 1 line Fix for silly mistake in [20835]. No review. ........ r20911 | extempore | 2010-02-17 20:01:22 +0100 (Wed, 17 Feb 2010) | 1 line Added a copy() method to Settings. No review. ........ r20912 | extempore | 2010-02-17 22:26:02 +0100 (Wed, 17 Feb 2010) | 5 lines A variety of changes to partest made in a quest to get it to reveal the classpaths it is using. No longer will partest actively sabotage your efforts to pass -Dpartest.debug=true by inserting "-Dpartest.debug=" after yours! And etc. Review by haller (if so inclined.) ........ r20913 | extempore | 2010-02-17 22:37:08 +0100 (Wed, 17 Feb 2010) | 2 lines ...and managed to miss the key file in getting past partest. No review. ........ r20917 | extempore | 2010-02-18 06:39:18 +0100 (Thu, 18 Feb 2010) | 4 lines Fix for recent stability issue with Apply0. Look, shuffling classpaths flushes out bugs, we should do this all the time. Review by odersky even though he authored it, because reliving one's own patches is the key to a long and healthy life. ........ r20918 | extempore | 2010-02-18 06:40:27 +0100 (Thu, 18 Feb 2010) | 10 lines Tighter pattern matching hits the street. If the scrutinee is final and does not conform to the pattern, it will no longer compile. See all the exciting things you can no longer do: "bob".reverse match { case Seq('b', 'o', 'b') => true } // denied! "bob".toArray match { case Seq('b', 'o', 'b') => true } // rejected! final class Dunk def f3(x: Dunk) = x match { case Seq('b', 'o', 'b') => true } // uh-uh! And so forth. Review by odersky. ........ r20920 | extempore | 2010-02-18 19:49:21 +0100 (Thu, 18 Feb 2010) | 2 lines The first reasonably satisfying classpath commit. We are 90% there with this one. Documentation to come. Review by community. ........ r20921 | extempore | 2010-02-18 20:00:46 +0100 (Thu, 18 Feb 2010) | 1 line Made NumericRange invariant again, plus test case. Closes #2518. ........ r20922 | milessabin | 2010-02-18 22:51:39 +0100 (Thu, 18 Feb 2010) | 1 line Patch from Mirko Stocker correcting start postions of import AST nodes for refactoring and other tools. Review by community. ........ r20928 | milessabin | 2010-02-19 16:31:36 +0100 (Fri, 19 Feb 2010) | 1 line Fixed #3043 and #3043; fixed a regression with hover/hyperlinks on import statements; don't attempt to parse out top-level types from non-Scala sources. Review by community. ........ r20929 | extempore | 2010-02-19 22:43:35 +0100 (Fri, 19 Feb 2010) | 1 line Some script fixes tied up with classpaths. No review. ........ r20932 | extempore | 2010-02-20 05:47:43 +0100 (Sat, 20 Feb 2010) | 2 lines Temporarily reverting r20928 as it is leading to ant dist crashing. Review by milessabin. ........ r20933 | extempore | 2010-02-20 06:38:34 +0100 (Sat, 20 Feb 2010) | 3 lines Some cleanups on the scalacfork ant task since I'm clearly going to have to go through everything which touches classpaths in any way shape or form. No review. ........ r20934 | extempore | 2010-02-20 07:48:29 +0100 (Sat, 20 Feb 2010) | 3 lines Altered the ant task to generate a -Dscala.home= property, which now acts as signal to scalac to ignore the java classpath and use only the scala classpath. No review. ........ r20935 | extempore | 2010-02-20 21:00:46 +0100 (Sat, 20 Feb 2010) | 2 lines Band-aid for #3081, issue should receive more comprehensive treatment. Review by imaier. ........ r20936 | milessabin | 2010-02-20 21:32:40 +0100 (Sat, 20 Feb 2010) | 1 line Another attempt at retaining ill-typed trees for the IDE, this time without breaking scaladoc. Review by extempore. ........ r20937 | extempore | 2010-02-20 22:16:49 +0100 (Sat, 20 Feb 2010) | 3 lines Having some challenges confirming the validity of the bootstrap process given starr's slightly dated classpath code, so this is a new starr based on r20934. No review. ........ r20938 | extempore | 2010-02-20 23:50:20 +0100 (Sat, 20 Feb 2010) | 4 lines Lowering the noise level in the classpath debugging output. Try ant -Dscalac.args="-Ylog-classpath" if you would like the rare joy of having a fair idea what is being used to compile what. No review. ........ r20941 | extempore | 2010-02-21 06:01:55 +0100 (Sun, 21 Feb 2010) | 1 line Some repl cleanups and debugging conveniences. No review. ........ r20942 | extempore | 2010-02-21 22:56:56 +0100 (Sun, 21 Feb 2010) | 2 lines Some more code for seeing what's going on in in scalac's mind with respect to who to load when and from where. No review. ........ r20944 | extempore | 2010-02-22 01:15:32 +0100 (Mon, 22 Feb 2010) | 2 lines More laboring on Settings, ClassPaths, Ant Tasks, Partest, and similar epicenters of thrilldom. No review. ........ r20945 | extempore | 2010-02-22 01:16:03 +0100 (Mon, 22 Feb 2010) | 1 line Some deprecation patrol and minor cleanups. No review. ........ r20949 | dragos | 2010-02-22 14:11:49 +0100 (Mon, 22 Feb 2010) | 1 line Specialized types are not substituted inside type arguments. Closes #3085, no review. ........ r20950 | phaller | 2010-02-22 18:43:40 +0100 (Mon, 22 Feb 2010) | 4 lines - Added fair mode to ForkJoinScheduler, which submits tasks to global queue with a 2% chance - Reactor uses ForkJoinScheduler by default - Moved ActorGC to scheduler package - Various clean-ups ........ r20951 | extempore | 2010-02-22 22:47:41 +0100 (Mon, 22 Feb 2010) | 3 lines A simple command line parser to consolidate a bunch of different implementations floating around trunk. And rolled it out in partest's ConsoleRunner. Review by community. ........ r20952 | milessabin | 2010-02-23 00:39:10 +0100 (Tue, 23 Feb 2010) | 1 line Yet another attempt at retaining ill-typed trees for the IDE ... this time docs.comp should be unbroken. ........ r20953 | extempore | 2010-02-23 01:27:39 +0100 (Tue, 23 Feb 2010) | 5 lines Some much needed housecleaning regarding system properties. If you can possibly resist the temptation, it'd be great if people could try to go through the properties classes to get and set them, and also to set property values somewhere fixed rather than using strings directly. Review by community. ........ r20954 | extempore | 2010-02-23 04:49:01 +0100 (Tue, 23 Feb 2010) | 2 lines More fun with ClassPaths. Could that be the home stretch I see? Review by community. ........ r20955 | extempore | 2010-02-23 05:42:53 +0100 (Tue, 23 Feb 2010) | 1 line Oops, I broke jline in r20953. Fixed. No review. ........ r20956 | extempore | 2010-02-23 07:57:53 +0100 (Tue, 23 Feb 2010) | 2 lines Abstracting out a few more platform specific elements now that we have a facility for doing so. Review by rytz. ........ r20957 | extempore | 2010-02-23 09:21:00 +0100 (Tue, 23 Feb 2010) | 1 line Introducing partest to the idea of code reuse. No review. ........ r20958 | extempore | 2010-02-23 09:32:53 +0100 (Tue, 23 Feb 2010) | 11 lines Added productElementName to Product. Now you can access all the case class field names your heart desires. Review by odersky. scala> case class Foo[T](kilroy: String, burma: List[T], shave: Seq[Int]) defined class Foo scala> Foo("was here", List('myanmar), Seq(25, 25)) res0: Foo[Symbol] = Foo(was here,List('myanmar),List(25, 25)) scala> 0 to 2 map (res0 productElementName _) res1: IndexedSeq[String] = IndexedSeq(kilroy, burma, shave) ........ r20959 | imaier | 2010-02-23 12:18:34 +0100 (Tue, 23 Feb 2010) | 1 line Added TextComponent.paste, made some accidentially public publisher methods protected. ........ r20960 | imaier | 2010-02-23 12:33:50 +0100 (Tue, 23 Feb 2010) | 1 line Fix for #3084 ........ r20961 | dubochet | 2010-02-23 15:19:20 +0100 (Tue, 23 Feb 2010) | 1 line [scaladoc] Updated jQuery to version 1.4.2. No review. ........ r20962 | phaller | 2010-02-23 18:34:50 +0100 (Tue, 23 Feb 2010) | 1 line Control-flow combinators do not require thread-local variable in Reactor. Review by plocinic. ........ r20963 | extempore | 2010-02-23 19:15:37 +0100 (Tue, 23 Feb 2010) | 3 lines After the compiler refactor, we ended up with identical copies of PickleBuffer and PickleFormat in the library and compiler. Deleted the compiler versions and updated references. No review. ........ r20964 | extempore | 2010-02-23 19:15:59 +0100 (Tue, 23 Feb 2010) | 1 line Removed now redundant function splitParams. No review. ........ r20965 | prokopec | 2010-02-23 19:57:52 +0100 (Tue, 23 Feb 2010) | 1 line Fixes #3018. Review by extempore. ........ r20966 | phaller | 2010-02-23 20:36:38 +0100 (Tue, 23 Feb 2010) | 1 line Fixed tests to unbreak build. No review. ........ r20967 | extempore | 2010-02-23 22:16:51 +0100 (Tue, 23 Feb 2010) | 4 lines The initial results of running a basic cut and paste detector over trunk and trying to undo some of it. I can live with history but if I see Cutty McPastington in new commits I will get all finger waggly. Don't make me cross that ocean. No review. ........ r20968 | milessabin | 2010-02-23 22:59:14 +0100 (Tue, 23 Feb 2010) | 1 line Improved fix for #2767. Review by community. ........ r20969 | extempore | 2010-02-23 23:15:38 +0100 (Tue, 23 Feb 2010) | 1 line Fixed a little command line partest bug I introduced. No review. ........ r20970 | milessabin | 2010-02-23 23:34:17 +0100 (Tue, 23 Feb 2010) | 1 line Removed stray debugging code. ........ r20972 | extempore | 2010-02-24 02:59:44 +0100 (Wed, 24 Feb 2010) | 1 line Another update for ShowPickled. No review. ........ r20973 | extempore | 2010-02-24 03:27:03 +0100 (Wed, 24 Feb 2010) | 6 lines Updated scalacheck jar to current trunk. Tracked down why it's not being used. Updated partest with a --scalacheck option. Added scalacheck tests to the ant build target. Still struggling with ant/partest/classpaths so it's not on by default yet, but at least ./partest --scalacheck works. We... will... use... scalacheck. And we will like it! No review. ........ r20974 | phaller | 2010-02-24 13:18:45 +0100 (Wed, 24 Feb 2010) | 1 line Fixed problem with daemon actor termination. No review. ........ r20976 | dubochet | 2010-02-24 16:51:10 +0100 (Wed, 24 Feb 2010) | 1 line [scaladoc] Preliminary support for links and lists in wiki syntax, as well as printing of lists. Fix to display of "inherits" classes. Contributed by Pedro Furlanetto, no review. Member names in signature are more contrasted and are aligned. ........ r20977 | prokopec | 2010-02-24 17:55:31 +0100 (Wed, 24 Feb 2010) | 1 line Fixes #3088. No review. ........ r20978 | extempore | 2010-02-25 00:17:30 +0100 (Thu, 25 Feb 2010) | 22 lines Bash completion! The file is automatically created as part of the build process and placed in $pack/etc. % scala -Xprint -Xprint-icode -Xprint-pos -Xprint-types -Xprint: % scala -Xprint: all flatten mixin tailcalls cleanup icode namer terminal closelim inliner packageobjects typer constructors jvm parser uncurry dce lambdalift pickler erasure lazyvals refchecks explicitouter liftcode superaccessors % scala -g: line none notailcalls source vars % scala -Ystruct-dispatch: invoke-dynamic mono-cache no-cache poly-cache Review by community. ........ r20979 | extempore | 2010-02-25 01:14:04 +0100 (Thu, 25 Feb 2010) | 4 lines The build file wasn't quite all the way on the bash completion commit. Now it should work, and also be copied into the distribution. Review by anyone who may be cruel enough to oppose including completion in the distribution. ........ r20980 | extempore | 2010-02-25 02:35:46 +0100 (Thu, 25 Feb 2010) | 8 lines Created -Yfatal-warnings, as otherwise I can't see how to make partest fail on the presence of an unchecked warning. It'll come in handy anyway. Now we have a real tough guy's command line for those who want it: % scalac -unchecked -deprecation -Yfatal-warnings `find . -name '*.scala'` Not for the timid. Review by community. ........ r20981 | extempore | 2010-02-25 03:36:06 +0100 (Thu, 25 Feb 2010) | 1 line Fix for a king-sized last-minute thinko. No review. ........ r20982 | extempore | 2010-02-25 03:53:35 +0100 (Thu, 25 Feb 2010) | 3 lines Some debugging code for partest. If --debug is given it collects timings on all the individual tests and prints it sorted by glacialness. Review by community. ........ r20983 | extempore | 2010-02-25 03:54:04 +0100 (Thu, 25 Feb 2010) | 4 lines Tweaking the sealed logic in light of #3097. Closes #3097. Reorganizes children a little so they always come back sorted the same way the pickler does. Taking advantage of -Yfatal-warnings in the test case. Review by community. ........ r20984 | extempore | 2010-02-25 04:15:34 +0100 (Thu, 25 Feb 2010) | 1 line Trying to fix svn props on scalacheck jar. No review. ........ r20985 | extempore | 2010-02-25 07:08:27 +0100 (Thu, 25 Feb 2010) | 5 lines It turns out some of the weirdness lately is because changes to classpath handling have a way of not taking effect until they're installed via starr, and presently we have a starr with different logic than trunk. No choice but to roll up one more starr based on r20984. No review. ........ r20986 | prokopec | 2010-02-25 16:16:24 +0100 (Thu, 25 Feb 2010) | 1 line Fixes #3088. No review. ........ r20987 | dragos | 2010-02-25 16:53:13 +0100 (Thu, 25 Feb 2010) | 1 line Made the squeezer worthy of its name: a block with an empty list of stats and another block as the result expression is rewritten to the inner block (recursively). This makes the output from the pattern matcher nicer, eliminating loads of empty nested blocks. Review by extempore. ........ r20988 | phaller | 2010-02-25 17:20:25 +0100 (Thu, 25 Feb 2010) | 1 line Physically moved ActorGC to scheduler directory. ........ r20989 | phaller | 2010-02-25 17:26:05 +0100 (Thu, 25 Feb 2010) | 1 line Made doc comment consistent. No review. ........ r20990 | extempore | 2010-02-25 19:24:58 +0100 (Thu, 25 Feb 2010) | 2 lines Working on making the bootstrap process transparent and consistent. And removed a bunch of what is now cruft in partest. No review. ........ r20991 | extempore | 2010-02-25 20:49:25 +0100 (Thu, 25 Feb 2010) | 3 lines Looking at iulian's patch to the squeezer sent me off looking at equalsStructure, which clearly was written in a bygone era. Rewritten with modern tools. No review. ........ r20992 | extempore | 2010-02-25 20:50:28 +0100 (Thu, 25 Feb 2010) | 2 lines More partest cleanups, and putting back a couple lines in build.xml which were left a little too commented out. No review. ........ r20993 | extempore | 2010-02-25 21:50:43 +0100 (Thu, 25 Feb 2010) | 2 lines What appears to be a workaround for #3082, which I am hitting literally 20 times a day. Will detail in ticket. Review by odersky. ........ r20994 | extempore | 2010-02-25 22:20:59 +0100 (Thu, 25 Feb 2010) | 2 lines More return type annotation to work around my other frequent guest in the world of #3082-connected pickler bugs. No review. ........ r20995 | extempore | 2010-02-25 23:09:37 +0100 (Thu, 25 Feb 2010) | 2 lines Added a --bare option to ShowPickled so I can diff signatures without all the explicit indices blowing any points of similarity. No review. ........ r20996 | moors | 2010-02-26 10:16:22 +0100 (Fri, 26 Feb 2010) | 5 lines closes #2797 -- no review (already done in ticket by Martin) 1) isHigherKindedType is now false for singletontype 2) toInstance recurses when pre is a typevar: the problem is that pre.widen.typeSymbol isNonBottomSubClass symclazz is true while pre.baseType(symclazz) is NoType ........ r20997 | moors | 2010-02-26 10:42:50 +0100 (Fri, 26 Feb 2010) | 4 lines closes #2956 the problem was that corresponds on Seq's does not check length of sequences before testing the predicate, whereas in some cases that predicate relied on this invariant (when it was doing substitution) ........ r20998 | moors | 2010-02-26 11:00:49 +0100 (Fri, 26 Feb 2010) | 1 line see #2634: updated docs to indicate zipped is strict ........ r20999 | moors | 2010-02-26 11:50:32 +0100 (Fri, 26 Feb 2010) | 2 lines closes #2421 -- now also deals with chained implicits no review ........ r21000 | moors | 2010-02-26 12:04:02 +0100 (Fri, 26 Feb 2010) | 2 lines closes #2741 closes #3079 no review worksforme ........ r21001 | rytz | 2010-02-26 13:49:02 +0100 (Fri, 26 Feb 2010) | 1 line close #3071. look at owner.info only later in type completer, not during namer. review by odersky ........ r21003 | extempore | 2010-02-26 18:03:22 +0100 (Fri, 26 Feb 2010) | 3 lines Undid my awful code which had broken the thread scheduler selection. Further unbroke it beyond that unbreaking hopefully to the point where java 1.6 on OSX is recognized as such. Review by haller. ........ r21004 | odersky | 2010-02-26 19:31:35 +0100 (Fri, 26 Feb 2010) | 1 line closes #3082, review by rytz ........ r21005 | extempore | 2010-02-26 23:24:46 +0100 (Fri, 26 Feb 2010) | 14 lines Quite a lot more work on XML equality than I can properly justify spending time on, but you know how it is once you get started on something. This commit will likely break some code out there in the world but this is impossible to avoid if we are to achieve sane equality in trunk. For anyone who was relying upon the 2.7 equality behavior for scala.xml.* classes, using "xml_==" instead of "==" for comparisons will restore the old behavior. The standard == on xml elements now attempts to behave in such a way that symmetry and hashCode contracts will be preserved. It's probably not 100% there yet, but I can tell you this: it is closer today than it was yesterday. Review by community. ........ r21006 | extempore | 2010-02-27 04:46:48 +0100 (Sat, 27 Feb 2010) | 17 lines Removed the partest restriction that individual files must be in the same set. Haven't you always wanted to do this? Now you can. Review by phaller. % ./partest `ack --type=scala -l HashSet | head -6` Testing individual files testing: [...]/files/jvm/serialization.scala [ OK ] testing: [...]/files/jvm/t1600.scala [ OK ] Testing individual files testing: [...]/files/pos/collections.scala [ OK ] testing: [...]/files/pos/t2183.scala [ OK ] Testing individual files testing: [...]/files/run/bug1074.scala [ OK ] testing: [...]/files/run/bug2512.scala [ OK ] ........ r21007 | extempore | 2010-02-27 06:47:03 +0100 (Sat, 27 Feb 2010) | 1 line Some library reorganization I discussed with martin. No review. ........ r21008 | extempore | 2010-02-27 21:10:48 +0100 (Sat, 27 Feb 2010) | 2 lines Special cased an error message for the common situation of calling AnyRef methods on Any or AnyVal. Review by odersky. ........ r21009 | extempore | 2010-02-28 00:49:51 +0100 (Sun, 28 Feb 2010) | 2 lines Expanded the check from #1392 to enclose #3123 as well so that "case Int => " doesn't crash. Closes #3123. Review by odersky. ........ r21010 | extempore | 2010-02-28 01:30:21 +0100 (Sun, 28 Feb 2010) | 13 lines While working on Any.## I ran across some interesting tests being made in TreeBuilder: val buf = new ListBuffer[(Name, Tree, Position)] [...] if (buf.iterator forall (name !=)) ... This is always true because a Name will never equal a Tuple3. Oh universal equality, will you never tire of toying with us? Given that this bug has existed since r12886 one might reasonably question the necessity of the conditionals falling prey to this, but leaving that for another day, it should at least check what it's trying to check. No review. ........ r21011 | extempore | 2010-02-28 15:35:50 +0100 (Sun, 28 Feb 2010) | 10 lines Added ## method to Any as our scala hashCode method which provides consistent answers for primitive types. And I'm sure we're all tired of new starrs, but it's hard to add a method to Any without one. This patch only brings ## into existence, but nothing calls it yet. // some true assertions scala> assert(5.5f.## == 5.5f.hashCode) scala> assert(5.0f.## != 5.0f.hashCode && 5.0f.## == 5L.##) No review. (Already reviewed by odersky.) ........ r21012 | extempore | 2010-02-28 17:52:03 +0100 (Sun, 28 Feb 2010) | 2 lines Modification to r21009 to preserve that classic invariant, (x || !x) && !(x && !x). No review. ........ r21013 | dragos | 2010-02-28 22:09:06 +0100 (Sun, 28 Feb 2010) | 2 lines Fixed specialized pattern matches. Incompatible cases are removed from specialized implementations. ........ r21014 | extempore | 2010-03-01 06:59:11 +0100 (Mon, 01 Mar 2010) | 6 lines Enabled scalacheck tests. Renamed the super confusing and what must be legacy scalatest.* properties to partest.*, boldly assuming that the fact that partest is pretty much unusable outside of scalac means there are no users outside of scalac who might be disrupted by eliminating old property names. Review by community. ........ r21015 | ilyas | 2010-03-01 11:25:59 +0100 (Mon, 01 Mar 2010) | 1 line Minor printer fix for singleton types ........ r21016 | odersky | 2010-03-01 11:59:46 +0100 (Mon, 01 Mar 2010) | 1 line Added one previously overlooked case for computing the right tparams of glbs of polytypes. This is a postscript to the fix of #3082. ........ r21017 | odersky | 2010-03-01 12:00:15 +0100 (Mon, 01 Mar 2010) | 1 line closed #3101. Review by community. ........ r21018 | odersky | 2010-03-01 12:02:12 +0100 (Mon, 01 Mar 2010) | 1 line Following a suggestion of jrudolph, made filterKeys and mapValues transform abstract maps, and duplicated functionality for immutable maps. Moved transform and filterNot from immutable to general maps. Review by phaller. ........ r21019 | odersky | 2010-03-01 12:11:25 +0100 (Mon, 01 Mar 2010) | 1 line Closes #3076. Review by community. ........ r21020 | ilyas | 2010-03-01 15:17:44 +0100 (Mon, 01 Mar 2010) | 1 line #3060 fixed ........ r21021 | odersky | 2010-03-01 15:35:58 +0100 (Mon, 01 Mar 2010) | 1 line Added missing file that broke the build. ........ r21022 | ilyas | 2010-03-01 15:51:38 +0100 (Mon, 01 Mar 2010) | 1 line #2885 fixed ........ r21023 | ilyas | 2010-03-01 15:52:00 +0100 (Mon, 01 Mar 2010) | 1 line typo in test fixed ........ r21024 | extempore | 2010-03-01 17:37:01 +0100 (Mon, 01 Mar 2010) | 3 lines Undeprecated Function.tupled based on the type inference issues documented at: http://stackoverflow.com/questions/2354277/function-tupled-and-placehold er-syntax We should revisit if anon function inference improves. Review by community. ........ r21027 | ilyas | 2010-03-01 19:37:55 +0100 (Mon, 01 Mar 2010) | 1 line scalap tests fixed ........ r21028 | ilyas | 2010-03-01 20:27:20 +0100 (Mon, 01 Mar 2010) | 1 line trailing spaces in decompiled annotations are trimmed ........ r21029 | extempore | 2010-03-01 20:47:48 +0100 (Mon, 01 Mar 2010) | 6 lines Whipped ShowPickled until it would print out private[scope] from the signature, and infrastructure created along the way. Only now at this late hour do I realize that this work would be a lot better aimed at creating a fake Universe and then adapting UnPickler.Scan so you can reuse the real logic. My advice to the next guy: do that instead. No review. ........ r21031 | ilyas | 2010-03-02 02:02:55 +0100 (Tue, 02 Mar 2010) | 1 line #3128 fixed ........ r21043 | extempore | 2010-03-02 20:44:01 +0100 (Tue, 02 Mar 2010) | 16 lines Improved equality for Manifests. Implements symmetry via canEquals, and has ClassManifests compare according to erasure but full manifests also compare type arguments. Preserving symmetry means that some things you might expect to be equal are not: val m1 = scala.reflect.ClassManifest.fromClass(classOf[List[String]]) val m2 = manifest[List[String]] (m1 == m2) // false However you can always compare the erasures. (m1.erasure == m2.erasure) // true Review by dpp. ........ r21044 | extempore | 2010-03-02 21:28:45 +0100 (Tue, 02 Mar 2010) | 2 lines Removed the symlinks between scalacheck jars to satisfy windows. Tweaked partest to accomodate. No review. ........ r21045 | extempore | 2010-03-02 23:28:45 +0100 (Tue, 02 Mar 2010) | 6 lines Added --grep command line option to partest. If you want to run every test with the string "Manifest" in the source file, you may now do: ./partest --grep Manifest No review. ........ r21053 | odersky | 2010-03-03 18:33:51 +0100 (Wed, 03 Mar 2010) | 1 line Closes #3130. No review necessary. ........ r21054 | odersky | 2010-03-03 18:36:42 +0100 (Wed, 03 Mar 2010) | 1 line Attempt to fix the typing-a-whileloop problem. ........ r21058 | extempore | 2010-03-04 06:22:57 +0100 (Thu, 04 Mar 2010) | 7 lines A few yards short of the goal posts attempt at making our usage of Throwable subclasses more consistent. This patch eliminates a lot of ad hoc Exception/Error/etc. creation and various arbitrary choices are rendered slightly less arbitrary. From now on let's try not to use the word "Exception" or "Error" in the names of Throwable subclasses unless they actually derive (and make sense to derive) from Exception or Error. Review by community. ........ r21059 | extempore | 2010-03-04 06:23:21 +0100 (Thu, 04 Mar 2010) | 2 lines Obeyed source comment to make some classes private, since the problem described seems to be gone. No review. ........ r21060 | phaller | 2010-03-04 12:40:16 +0100 (Thu, 04 Mar 2010) | 1 line Clean-ups in scheduler hierarchy. Restricted visibility of several traits. Added tests exercising cleaned-up interface. ........ r21062 | rompf | 2010-03-04 14:17:39 +0100 (Thu, 04 Mar 2010) | 1 line fixed while loop performance. label def rhs re-check only done if first typing produces a different type than the initially assumed one (which is alsways Unit, so the recheck only happens if some AnnotationChecker says the type is not Unit but Unit @something). ........ r21063 | phaller | 2010-03-04 14:28:12 +0100 (Thu, 04 Mar 2010) | 1 line Fixed actors.enableForkJoin property. Fixed build. Review by extempore. ........ r21064 | odersky | 2010-03-04 15:06:18 +0100 (Thu, 04 Mar 2010) | 1 line Closes #3118. review by extempore ........ r21065 | phaller | 2010-03-04 16:05:47 +0100 (Thu, 04 Mar 2010) | 1 line Removed obsolete SimpleExecutorScheduler, ThreadPoolScheduler, DefaultThreadPoolScheduler, and SchedulerService. Made ThreadPoolConfig private. No review necessary. ........ r21066 | extempore | 2010-03-04 19:05:39 +0100 (Thu, 04 Mar 2010) | 4 lines Added a comment to Symbols after one too many times forgetting what I was in that file for while I traced which of the linked* functions I wanted. Review by odersky (only because there's also a renaming proposal in there for which I solicit your yea or nay.) ........ r21067 | extempore | 2010-03-04 21:18:41 +0100 (Thu, 04 Mar 2010) | 2 lines Renamed the linkedFooOfBar methods in Symbol to be internally consistent and in line with modern nomenclature. No review. ........ r21068 | extempore | 2010-03-04 22:06:08 +0100 (Thu, 04 Mar 2010) | 2 lines Making sure the interpreter always uses the designated output stream rather than unwittingly falling back on predef. No review. ........ r21071 | extempore | 2010-03-05 07:01:19 +0100 (Fri, 05 Mar 2010) | 8 lines Added -Xmigration option and @migration annotation. At present it will warn about the following changes from 2.7 to 2.8: Stack iterator order reversed mutable.Set.map returns a Set and thus discards duplicates A case 'x @ Pattern' matches differently than 'Pattern' Review by odersky. ........ r21073 | extempore | 2010-03-05 15:30:44 +0100 (Fri, 05 Mar 2010) | 2 lines Removed quotes from quoted tokens in command line parser to soothe Windows. Review by community. ........ r21074 | odersky | 2010-03-05 16:31:40 +0100 (Fri, 05 Mar 2010) | 1 line Closes #3037. Review by extempore. ........ r21075 | odersky | 2010-03-05 16:32:03 +0100 (Fri, 05 Mar 2010) | 1 line Closes #3026. Review by extempore. ........ r21076 | odersky | 2010-03-05 16:32:24 +0100 (Fri, 05 Mar 2010) | 1 line Mixing test case. No review. ........ r21077 | odersky | 2010-03-05 16:58:27 +0100 (Fri, 05 Mar 2010) | 1 line Closes #3015. Review by moors (it's his patch). ........ r21078 | extempore | 2010-03-05 19:17:26 +0100 (Fri, 05 Mar 2010) | 1 line Cleaning up some redundancy martin noticed. No review. ........ r21079 | extempore | 2010-03-05 20:19:17 +0100 (Fri, 05 Mar 2010) | 2 lines ScalaRunTime method to perform sameElements as fix for #2867. Review by odersky. ........ r21080 | extempore | 2010-03-05 21:14:13 +0100 (Fri, 05 Mar 2010) | 1 line Test case for case class equality. Closes #1332. No review. ........ r21081 | extempore | 2010-03-05 22:06:58 +0100 (Fri, 05 Mar 2010) | 5 lines Fix for #3136 by reverting the line in r18184 which caused this and other regressions. The downside is that the #1697 test case no longer passes, but protracted shrug because it wasn't entirely fixed anyway. Review by moors. (Can you triangulate your way to a patch where both work simultaneously? It's today's bonus challenge!) ........ r21083 | dcaoyuan | 2010-03-06 05:54:15 +0100 (Sat, 06 Mar 2010) | 1 line escape source file path with space chars ........ r21084 | extempore | 2010-03-06 14:26:30 +0100 (Sat, 06 Mar 2010) | 3 lines Fixes for #3126. Case class unapply methods now guard against null, and thrown MatchErrors don't NPE trying to stringify null. No review. ........ r21085 | extempore | 2010-03-06 14:45:23 +0100 (Sat, 06 Mar 2010) | 2 lines Modification to the last patch to return None/false rather than throwing the MatchError. No review. ........ r21086 | extempore | 2010-03-07 06:24:00 +0100 (Sun, 07 Mar 2010) | 5 lines One minute too many trying to figure out where some partest classpath mutation was disappearing on me, and I snapped and started the process of creating an immutable Settings. This commit is for the most part infrastructure to enable its smooth and uneventful entrance. Review by community. ........ r21087 | extempore | 2010-03-07 07:02:38 +0100 (Sun, 07 Mar 2010) | 2 lines Still working my way through all the classpath manipulations in partest. No review. ........ r21088 | extempore | 2010-03-07 19:53:07 +0100 (Sun, 07 Mar 2010) | 2 lines Removed unnecessary DebugSetting, folding the small extra functionality back into ChoiceSetting. No review. ........ r21091 | rompf | 2010-03-07 21:52:45 +0100 (Sun, 07 Mar 2010) | 4 lines - new immutable HashMap implementation based on a hash trie. this is the first iteration, more optimizations will be added later. - updated test cases to reflect new ordering of elements - made Map.empty and Set.empty singletons, deprecating classes Map.EmptyMap and Set.EmptySet Review by extempore, odersky. ........ r21092 | extempore | 2010-03-08 07:06:36 +0100 (Mon, 08 Mar 2010) | 2 lines More progress toward immutable Settings, and various cleanups encountered along the way. No review. ........ r21093 | extempore | 2010-03-08 07:24:23 +0100 (Mon, 08 Mar 2010) | 6 lines Created directory for code which is most likely dead but we want to keep around a while in case someone else is using it. It's called src/attic and now it holds four files. Motivations: such files cloud my attempts to figure out what code in the compiler is really being used, they require effort to maintain across changes, and they slow down every build a fraction. Revew by community. ........ r21094 | milessabin | 2010-03-08 11:20:05 +0100 (Mon, 08 Mar 2010) | 1 line Unbreak the IDE build following [21086]. No review. ........ r21098 | dragos | 2010-03-08 14:14:59 +0100 (Mon, 08 Mar 2010) | 1 line Recursively transform 'new' arguments in specialized programs. Closes #3149, no review. ........ r21099 | odersky | 2010-03-08 14:34:57 +0100 (Mon, 08 Mar 2010) | 1 line Closes #3026. Review by extempore. ........ r21100 | odersky | 2010-03-08 14:40:32 +0100 (Mon, 08 Mar 2010) | 1 line Closes #3115. Reviw by rytz ........ r21101 | odersky | 2010-03-08 14:43:12 +0100 (Mon, 08 Mar 2010) | 1 line Closes #3006. Review by milessabin because this could be a good basis for shwoing implicits in the IDE. ........ r21102 | odersky | 2010-03-08 14:45:36 +0100 (Mon, 08 Mar 2010) | 1 line Avoids two unchecked warnings. Review by extempore. ........ r21103 | odersky | 2010-03-08 14:46:13 +0100 (Mon, 08 Mar 2010) | 1 line new tests ........ r21105 | moors | 2010-03-08 15:27:48 +0100 (Mon, 08 Mar 2010) | 4 lines closes #2994 make normalize slightly more aggressive in loading symbol info, while tolerating the righteous cycle (use sym.info.typeParameters instead of unsafeParams) this is needed to make sure higher-kinded types have their type parameters (otherwise we'd get a PolyType with NoSymbol for typeParams) ........ r21106 | phaller | 2010-03-08 16:01:53 +0100 (Mon, 08 Mar 2010) | 1 line Reactor now has type parameter. Added Reactor.getState. Made Reactor.start idempotent. Moved Actor.reactWithin to ReplyReactor. Renamed Replyable to CanReply. ........ r21107 | odersky | 2010-03-08 19:12:11 +0100 (Mon, 08 Mar 2010) | 1 line Refined fix for #2946. Review by extempore. ........ r21108 | phaller | 2010-03-08 19:17:50 +0100 (Mon, 08 Mar 2010) | 1 line Closes #3102. ........ r21109 | extempore | 2010-03-08 19:46:35 +0100 (Mon, 08 Mar 2010) | 2 lines Changed partest ant task not to use reflection, instead using the path with which scala was invoked. No review. ........ r21110 | extempore | 2010-03-08 19:57:01 +0100 (Mon, 08 Mar 2010) | 2 lines Fixed failing test t3115 via judicious application of -Yfatal-warnings. No review. ........ r21111 | extempore | 2010-03-08 20:58:10 +0100 (Mon, 08 Mar 2010) | 8 lines Added test.debug target to build.xml. This will run whatever tests you have placed in the test/debug directories - critically for those of us stuck debugging ant, this lets one run a small selection of tests by way of ant instead of the console runner. (Sorry about the empty .gitignore files, but one of git's quirks is that it won't acknowledge the existence of an empty directory.) No review. ........ r21113 | extempore | 2010-03-09 01:46:20 +0100 (Tue, 09 Mar 2010) | 2 lines Temporarily disabling failing test until I can finish my partest work. No review. ........ r21115 | phaller | 2010-03-09 11:35:13 +0100 (Tue, 09 Mar 2010) | 1 line Made actor-getstate test more robust. No review. ........ r21121 | phaller | 2010-03-09 15:03:02 +0100 (Tue, 09 Mar 2010) | 1 line New attempt at fixing the tests. No review. ........ r21123 | extempore | 2010-03-10 16:33:14 +0100 (Wed, 10 Mar 2010) | 1 line Some windows oriented fixes for build.xml. No review. ........ r21124 | extempore | 2010-03-10 16:57:10 +0100 (Wed, 10 Mar 2010) | 1 line Removed a couple infinite loops in XML. No review. ........ r21125 | extempore | 2010-03-10 17:21:56 +0100 (Wed, 10 Mar 2010) | 2 lines Some minor compiler support bits for my upcoming partest patch. No review. ........ r21126 | extempore | 2010-03-10 17:30:51 +0100 (Wed, 10 Mar 2010) | 2 lines ...and a line from partest I didn't notice the absence of which would break the build. No review. ........ r21127 | dubochet | 2010-03-10 17:32:10 +0100 (Wed, 10 Mar 2010) | 1 line FatalError needs a stack trace. No review (was discussed at Scala meeting). ........ r21128 | moors | 2010-03-10 18:43:20 +0100 (Wed, 10 Mar 2010) | 5 lines closes #3152: refactored adjustTypeArgs and methTypeArgs so that tparams are correctly split into ones that were inferred successfully, and that thus have a corresponding type argument, and those that weren't determined I didn't investigate the exact cause of the final error message in the bug report, but Jason Zaugg's observations seems correct and I never liked that uninstantiated buffer in the first place. review by odersky ........ r21129 | moors | 2010-03-10 18:50:15 +0100 (Wed, 10 Mar 2010) | 1 line slight (syntactic) cleanup of patch for see #3152 -- sorry, only realised when looking over my patch again ........ r21130 | extempore | 2010-03-10 20:18:43 +0100 (Wed, 10 Mar 2010) | 2 lines Small syntactic adjustment so that last patch from adriaan will build. (Big thumsb up to the aesthetics though.) No review. ........ r21131 | extempore | 2010-03-11 07:00:37 +0100 (Thu, 11 Mar 2010) | 1 line Some IO conveniences. No review. ........ r21135 | odersky | 2010-03-11 15:21:21 +0100 (Thu, 11 Mar 2010) | 1 line Closes #2940. Review by extempore. My original idea to replace existrentialAbstraction by existentialType in ClassfileParsers was correct after all. However this change triggered another landmine in Definitions, where ClassType queried unsafeTypeParams. I think that was only needed for the migration to Java generics in 2.7, so it can safely go away now. Because the change in classfile parsers forces less of a type, unsafeTtpeParams returned the wrong result, which caused the build to fail. The modifications in Erasure and Implicits were attempts to isolate the problem before. They seem to be unnecessary to make the build go through, but are cleaner than the previous versions they replace. ........ r21136 | odersky | 2010-03-11 15:22:29 +0100 (Thu, 11 Mar 2010) | 1 line Fixed doc comment. No review. ........ r21137 | odersky | 2010-03-11 17:34:44 +0100 (Thu, 11 Mar 2010) | 1 line Closes #3157 by overriding +: in List. Review by rompf ........ r21138 | rompf | 2010-03-11 17:44:06 +0100 (Thu, 11 Mar 2010) | 1 line implemented handling of 32-bit collisions in immutable.HashMap. review by community. ........ r21139 | odersky | 2010-03-11 17:53:54 +0100 (Thu, 11 Mar 2010) | 1 line Closes #3158. No review necessary. ........ r21140 | rompf | 2010-03-11 17:55:38 +0100 (Thu, 11 Mar 2010) | 2 lines moved the continuations plugin into trunk. it is now part of the distributions under /plugins/continuations.jar which should make scalac load it by default. actual use however must be enabled by passing -P:continuations:enable as command line arg. supporting library code is in package scala.util.continuations and is compiled into scala-library.jar. review by rytz, cunei, odersky. ........ r21141 | odersky | 2010-03-11 18:11:24 +0100 (Thu, 11 Mar 2010) | 1 line Partially reverted r21018. Closes #3153. No review. ........ r21142 | rompf | 2010-03-11 21:36:43 +0100 (Thu, 11 Mar 2010) | 1 line added missing file from last commit. no review. ........ r21148 | Joshua.Suereth | 2010-03-12 14:34:05 +0100 (Fri, 12 Mar 2010) | 1 line Added continuations to maven deployment. review by rompf ........ r21149 | plocinic | 2010-03-12 16:21:25 +0100 (Fri, 12 Mar 2010) | 1 line do not set the type of the implementation method to be the type of the original one as this is done properly in cloneSymbol. no review (already done by Martin) ........ r21150 | odersky | 2010-03-12 16:38:33 +0100 (Fri, 12 Mar 2010) | 1 line Closes #3143. Review by moors. ........ r21151 | odersky | 2010-03-12 19:39:40 +0100 (Fri, 12 Mar 2010) | 1 line Added an object to mangle byte arrays into Java classfile's version of UTF8. ........ r21156 | odersky | 2010-03-13 18:32:19 +0100 (Sat, 13 Mar 2010) | 2 lines Disabled failing test ........ r21157 | odersky | 2010-03-13 18:33:33 +0100 (Sat, 13 Mar 2010) | 2 lines Closes #3120. Review by extempore. ........ r21158 | odersky | 2010-03-13 18:34:13 +0100 (Sat, 13 Mar 2010) | 2 lines Improved version where bumping and zero-encoding are rolled into one. ........ r21159 | extempore | 2010-03-13 20:24:43 +0100 (Sat, 13 Mar 2010) | 2 lines More support code for the big partest patch I'm working on to finally finish classpaths for good. No review. ........ r21160 | odersky | 2010-03-13 21:21:13 +0100 (Sat, 13 Mar 2010) | 2 lines Closes #2918. Review by moors. ........ r21162 | extempore | 2010-03-14 07:57:36 +0100 (Sun, 14 Mar 2010) | 1 line Test case closes #751. No review. ........ r21163 | extempore | 2010-03-14 07:58:02 +0100 (Sun, 14 Mar 2010) | 1 line Test case for #2940. No review. ........ r21164 | extempore | 2010-03-14 08:25:15 +0100 (Sun, 14 Mar 2010) | 1 line Tighten update check in cleanup. Closes #3175. No review. ........ r21165 | rompf | 2010-03-14 18:39:56 +0100 (Sun, 14 Mar 2010) | 1 line improved immutable HashMap iterator. review by community. ........ r21167 | extempore | 2010-03-15 05:45:47 +0100 (Mon, 15 Mar 2010) | 20 lines Leveraged -Xmigration to burn off some warts which arose in the new collections. Warnings put in place for behavioral changes, allowing the following. 1) Buffers: create new collections on ++ and -- like all the other collections. 2) Maps: eliminated never-shipped redundant method valuesIterable and supplied these return types: def keys: Iterable[A] def keysIterator: Iterator[A] def values: Iterable[B] def valuesIterator: Iterator[B] def keySet: Set[A] I concluded that keys should return Iterable because keySet also exists on Map, and is not solely in the province of Maps even if we wanted to change it: it's defined on Sorted and also appears in some Sets. So it seems sensible to have keySet return a Set and keys return the more general type. Closes #3089, #3145. Review by odersky. ........ r21168 | extempore | 2010-03-15 06:19:53 +0100 (Mon, 15 Mar 2010) | 2 lines Reverting a couple replacements from that last patch which don't look so safe on re-examination. No review. ........ r21171 | rytz | 2010-03-15 11:25:34 +0100 (Mon, 15 Mar 2010) | 1 line Fix for msil compiler. Unlike java.lang.Class, System.Type does not take a type parameter. Related to r21135. review by odersky. ........ r21174 | prokopec | 2010-03-15 11:44:27 +0100 (Mon, 15 Mar 2010) | 1 line Fixes #3155. No review is necessary. ........ r21175 | prokopec | 2010-03-15 12:03:03 +0100 (Mon, 15 Mar 2010) | 1 line Fixes #3132. No review necessary. ........ r21176 | prokopec | 2010-03-15 13:44:32 +0100 (Mon, 15 Mar 2010) | 1 line Fixes #3086. Review by community. ........ r21177 | rompf | 2010-03-15 14:44:53 +0100 (Mon, 15 Mar 2010) | 1 line new immutable.HashSet. review by community. ........ r21178 | rytz | 2010-03-15 14:54:23 +0100 (Mon, 15 Mar 2010) | 1 line minor cleanup to build.xml. review by rompf ........ r21179 | prokopec | 2010-03-15 15:45:33 +0100 (Mon, 15 Mar 2010) | 1 line Fixes #3091. Review by community. ........ r21180 | rompf | 2010-03-15 16:48:28 +0100 (Mon, 15 Mar 2010) | 1 line fixed treatment of annotated types in isNumericSubType. re-enabled test case. review by odersky ........ r21181 | extempore | 2010-03-15 18:08:16 +0100 (Mon, 15 Mar 2010) | 3 lines Tracked down docs.lib build issue from the dentist's chair while waiting for my teeth to numb. Checking in over open wireless access point. This is dedication. No review. ........ r21184 | rompf | 2010-03-16 09:19:59 +0100 (Tue, 16 Mar 2010) | 1 line added support for continuations in try/catch blocks. review by community. ........ r21186 | prokopec | 2010-03-16 10:59:37 +0100 (Tue, 16 Mar 2010) | 1 line Changed `!=` to `ne` for #3086. No review. ........ r21187 | prokopec | 2010-03-16 14:10:45 +0100 (Tue, 16 Mar 2010) | 1 line Fixes #3091. Review by community. ........ r21188 | prokopec | 2010-03-16 15:23:13 +0100 (Tue, 16 Mar 2010) | 1 line Fixes infinite streams in #3091. No review. ........ r21189 | odersky | 2010-03-16 15:40:43 +0100 (Tue, 16 Mar 2010) | 1 line Closes #3180. No review. ........ r21190 | odersky | 2010-03-16 15:42:09 +0100 (Tue, 16 Mar 2010) | 1 line Fixes nitpicks by Adriaan in his review. No review necessary. ........ r21193 | odersky | 2010-03-16 16:26:33 +0100 (Tue, 16 Mar 2010) | 2 lines Closes #2913. Review by rytz. (The error was that too few/too many argument errors had a position different from the other errors, so no second try was done for them.) ........ r21195 | odersky | 2010-03-16 17:12:46 +0100 (Tue, 16 Mar 2010) | 1 line new tests ........ r21196 | odersky | 2010-03-16 17:22:44 +0100 (Tue, 16 Mar 2010) | 1 line Closes #2688 by disallowing call-by-name implicit parameters. No review. ........ r21199 | odersky | 2010-03-16 22:07:16 +0100 (Tue, 16 Mar 2010) | 2 lines Fixed build problem by eliminiating a redundant implicit in scalap. Review by extempore. ........ r21200 | rompf | 2010-03-16 22:53:07 +0100 (Tue, 16 Mar 2010) | 1 line added test case for #2417. no review ........ r21201 | rompf | 2010-03-17 00:06:10 +0100 (Wed, 17 Mar 2010) | 1 line closes #3112. no review. ........ r21205 | phaller | 2010-03-17 12:07:50 +0100 (Wed, 17 Mar 2010) | 1 line Closes #3185. Review by plocinic. ........ r21206 | milessabin | 2010-03-17 14:16:09 +0100 (Wed, 17 Mar 2010) | 1 line Continuations support classes are included in scala-library.jar so their sources should be in scala-library-src.jar. Also export scala.util.continuations from the scala-library bundle. ........ r21207 | plocinic | 2010-03-17 17:02:42 +0100 (Wed, 17 Mar 2010) | 1 line Closes #3133. Review by community. ........ r21210 | prokopec | 2010-03-18 11:23:26 +0100 (Thu, 18 Mar 2010) | 1 line Reverse didn't work for empty ranges. Review by extempore. ........ r21214 | plocinic | 2010-03-19 10:09:00 +0100 (Fri, 19 Mar 2010) | 1 line Fixes #3054. No review. ........ r21215 | dubochet | 2010-03-19 14:29:42 +0100 (Fri, 19 Mar 2010) | 1 line Updated SVN ignore patterns. No review. ........ r21216 | phaller | 2010-03-19 18:03:14 +0100 (Fri, 19 Mar 2010) | 1 line Closes #2827. Review by community. ........ r21217 | odersky | 2010-03-19 18:35:58 +0100 (Fri, 19 Mar 2010) | 2 lines Spring cleaning of collection libraries. Closes #3117 by forcing a view when nothing else can be done. If people think some operations can be more lazy, please provide patches/do changes. Also brought proxies and forwarders into line. ........ r21218 | odersky | 2010-03-19 18:36:46 +0100 (Fri, 19 Mar 2010) | 1 line new version of decode that does not need a length. Moved test code to tests. ........ r21219 | extempore | 2010-03-19 20:38:24 +0100 (Fri, 19 Mar 2010) | 15 lines More fun with -Xmigration. Followed through on the changes to BufferLike (++ and similar now create a new collection.) Removed MapLikeBase. Annotated all the methods in mutable.{ Map, Set } which mutated in-place in 2.7 to note that they create new collections, and implemented same. At this point the only +/- like method which mutates in place which I am aware of is BufferLike.+ (see source comment for my observations.) Also tweaked some collections return types as necessitated by these changes, such as mutable.Set.clone() now returning "This" rather than mutable.Set[A]. References #3089, closes #3179. Review by odersky. ........ r21220 | milessabin | 2010-03-19 22:34:32 +0100 (Fri, 19 Mar 2010) | 1 line Added a tryToSetFromPropertyValue implementation for MultiStringSetting. ........ r21222 | extempore | 2010-03-19 22:48:42 +0100 (Fri, 19 Mar 2010) | 5 lines Returning to the thrilling world of equality and hashCodes now that Any.## is a reality. Moved the hash functions from Predef to ScalaRunTime, and made what appears to be an optimization to equals by not losing the result of an instanceof test. Review by community. ........ r21223 | extempore | 2010-03-19 23:37:13 +0100 (Fri, 19 Mar 2010) | 3 lines Half-disabled productElementName until I have time to reimplement it more to martin's liking. ("Half" because full disabling is not possible until starr has forgotten about it.) No review. ........ r21224 | extempore | 2010-03-20 05:24:39 +0100 (Sat, 20 Mar 2010) | 3 lines Some work on the Array methods as they manifest in refinement types: tightening when Array code is generated and also what code is generated. Review by dubochet. ........ r21225 | extempore | 2010-03-21 01:21:54 +0100 (Sun, 21 Mar 2010) | 6 lines Some minor changes in scala.swing.* which I was glancing through because of #3196. I noticed the Font object was in package scala instead of scala.swing, which looks sure to be a mistake (an easy one to make, and one others have made as well, because we're not entirely used to package objects.) I didn't want to accidentally ship a scala.Font so I moved it into swing. Review by imaier. ........ r21226 | extempore | 2010-03-21 01:22:22 +0100 (Sun, 21 Mar 2010) | 5 lines During my last look at r21224 I noticed what must be a long standing bug in Array.update handling. Fixing this probably never to be noticed corner case (see bug3175.scala) seduced me into drumming out some duplication. At least we got some nice commenting out of it. Review by dubochet. ........ r21227 | extempore | 2010-03-22 00:00:14 +0100 (Mon, 22 Mar 2010) | 1 line Some support code related to partest changes. No review. ........ r21228 | rompf | 2010-03-22 17:52:10 +0100 (Mon, 22 Mar 2010) | 1 line closes #3199. review by community. ........ r21229 | extempore | 2010-03-22 23:09:58 +0100 (Mon, 22 Mar 2010) | 4 lines Consistency work on Addable and Growable. Deprecated '+' on all Seq-derived classes. Creating GrowingBuilder to complement AddingBuilder on classes with += but not +. Fixed some inconsistencies I came across in the process. No review. ........ r21230 | extempore | 2010-03-23 00:02:50 +0100 (Tue, 23 Mar 2010) | 5 lines Noticed we still have a bunch of collection classes which are rather lacking. Did some integration, added some companion objects. Not thrilled with the overall picture in there, there's still a lot which should be done. Updated a deprecation message, closes #3202. No review. ........ r21231 | extempore | 2010-03-23 05:17:59 +0100 (Tue, 23 Mar 2010) | 17 lines Went ahead and implemented classpaths as described in email to scala-internals on the theory that at this point I must know what I'm doing. ** PUBLIC SERVICE ANNOUNCEMENT ** If your code of whatever kind stopped working with this commit (most likely the error is something like "object scala not found") you can get it working again with either of: passing -usejavacp on the command line set system property "scala.usejavacp" to "true" Either of these will alert scala that you want the java application classpath to be utilized by scala as well. Review by community. ........ r21232 | extempore | 2010-03-23 07:08:55 +0100 (Tue, 23 Mar 2010) | 4 lines Fix for #3204. This is a really good example of the issues that can arise when return types of public facing methods are inferred. We eventually need some mechanism to make such issues easier to avoid. No review. ........ r21233 | extempore | 2010-03-23 07:26:08 +0100 (Tue, 23 Mar 2010) | 3 lines You try to get away with one little line of uncompiled patch... reverting last patch since I'm too tired to see why it broke the build. No review. ........ r21234 | dubochet | 2010-03-23 15:38:11 +0100 (Tue, 23 Mar 2010) | 7 lines Scala signature is generated as an annotation (that is accessible through Java reflection). - compiler generates all pickled Scala signatures as annotations to class files. - compiler can read class files with signature as annotations or old-style signatures as attributes. - Scalap has also been updated to new signatures (contributed by Ilya Sergey: thanks a lot). - FJBG updated to allow entering constant pool strings as byte arrays. - ByteCodecs decode method returns the length of the decoded array. Review by ilyas. Already mostly reviewed by odersky. ........ r21235 | phaller | 2010-03-23 16:11:05 +0100 (Tue, 23 Mar 2010) | 1 line Fixes #3186. Closes #2214. ........ r21236 | phaller | 2010-03-23 16:23:39 +0100 (Tue, 23 Mar 2010) | 1 line Added test case for #3186. Closes #3186. ........ r21237 | dragos | 2010-03-23 17:29:38 +0100 (Tue, 23 Mar 2010) | 1 line Closed #3195. Review by extempore. ........ r21238 | extempore | 2010-03-23 17:52:51 +0100 (Tue, 23 Mar 2010) | 2 lines Although it was working fine, a test case for @elidable to make sure that state of affairs continues. No review. ........ r21239 | extempore | 2010-03-23 18:26:23 +0100 (Tue, 23 Mar 2010) | 2 lines Added some documentation to the methods in Predef which utilize @elidable. No review. ........ r21240 | extempore | 2010-03-23 19:51:08 +0100 (Tue, 23 Mar 2010) | 1 line Fix and test case for #3169. ........ r21241 | extempore | 2010-03-23 20:13:43 +0100 (Tue, 23 Mar 2010) | 13 lines You know Cutty McPastington is having a good time when you can find this logic in two different files: ('A' <= c && c <= 'Z') || ('a' <= c && c <= 'a') || How could that possibly work, you might ask. After a series of ||s, the last condition subsumes most of the previous ones: Character.isUnicodeIdentifierStart(c) thereby saving us from a world where the only legal lower case identifiers are a, aa, aaa, aaaa, and a few others. No review. ........ r21242 | extempore | 2010-03-23 21:16:51 +0100 (Tue, 23 Mar 2010) | 2 lines Remedied accidental obscuring of -X, -Y, and -P in the standard help output. No review. ........ r21243 | dubochet | 2010-03-23 21:23:49 +0100 (Tue, 23 Mar 2010) | 1 line Fixed build. Partial revert of r21234. All the infrastructure to read new-style signatures is still in, but the compiler again generates old-style signatures. ........ r21244 | extempore | 2010-03-23 22:58:49 +0100 (Tue, 23 Mar 2010) | 2 lines Removed ArgumentsExpander in favor of having all arguments parsed the same way. No review. ........ r21245 | phaller | 2010-03-24 10:58:24 +0100 (Wed, 24 Mar 2010) | 1 line Fixed the serialization test. Restored the test to use the semantics of Enumeration#equals in 2.7. Made caching of Enumeration objects thread safe. See #3186. Review by extempore. ........ r21246 | odersky | 2010-03-24 15:23:40 +0100 (Wed, 24 Mar 2010) | 1 line Fixes problematic equality of En umeration values. ........ r21247 | odersky | 2010-03-24 15:29:04 +0100 (Wed, 24 Mar 2010) | 1 line Fixes problematic equality of Enumeration values. ........ r21248 | odersky | 2010-03-24 15:43:45 +0100 (Wed, 24 Mar 2010) | 1 line Closes #3187. No review. ........ r21249 | extempore | 2010-03-24 16:37:50 +0100 (Wed, 24 Mar 2010) | 3 lines Reverted a presumably unintentional reincarnation of old predef (these functions are in ScalaRunTime now.) Review by odersky just in case there was a secret plan. ........ r21250 | dubochet | 2010-03-24 16:54:21 +0100 (Wed, 24 Mar 2010) | 1 line Scala signature is generated as an annotation, second try. Review by dragos. ........ r21252 | odersky | 2010-03-24 17:20:32 +0100 (Wed, 24 Mar 2010) | 1 line new readme. no review. ........ r21253 | extempore | 2010-03-24 17:23:48 +0100 (Wed, 24 Mar 2010) | 2 lines Fixed an issue with no-parameter-list methods not being elided. No review. ........ r21254 | dubochet | 2010-03-24 17:59:22 +0100 (Wed, 24 Mar 2010) | 5 lines [scaladoc] Improved Scaladoc comment syntax, contributed by Pedro Furlanetto. - Wiki syntax supports nested, numbered and unnumbered lists; - Wiki syntax supports links (entity links currently require fully qualified names); - Stars no longer are mandatory to start comment lines. Already reviewed by dubochet; no review. ........ r21256 | extempore | 2010-03-24 18:18:03 +0100 (Wed, 24 Mar 2010) | 6 lines Renamed partialMap to collect. There was a deprecated no-argument method on Iterator called collect which I had to remove, because if the method is overloaded it puts a bullet in the type inference, an intolerable result for a function which takes a partial function as its argument. I don't think there's much chance of confusion, but I put a migration warning on collect just in case. No review. ........ r21257 | phaller | 2010-03-24 18:29:59 +0100 (Wed, 24 Mar 2010) | 1 line Addresses see #2017. Documents class scala.actors.Exit. Review by community. ........ r21258 | phaller | 2010-03-24 18:31:37 +0100 (Wed, 24 Mar 2010) | 1 line Adds tests for see #2017. ........ r21259 | extempore | 2010-03-24 18:34:54 +0100 (Wed, 24 Mar 2010) | 1 line Fixed a test case I broke with the collect rename. No review. ........ r21260 | rompf | 2010-03-24 18:55:15 +0100 (Wed, 24 Mar 2010) | 1 line continuations plugin will now report a nice error message if it is not enabled and encounters an @cps expression. review by rytz ........ r21261 | extempore | 2010-03-24 20:47:41 +0100 (Wed, 24 Mar 2010) | 1 line Apparently I can't fix a test case to save my life. No review. ........ r21262 | rompf | 2010-03-24 23:43:44 +0100 (Wed, 24 Mar 2010) | 1 line reverting changes from r21260. there is a deeper problem that causes the plugin to be loaded twice but only one instance receives the enable flag (hence, the other one complains). no review ........ r21263 | phaller | 2010-03-25 09:52:08 +0100 (Thu, 25 Mar 2010) | 1 line Makes two actor tests deterministic. No review. ........ r21264 | phaller | 2010-03-25 13:46:01 +0100 (Thu, 25 Mar 2010) | 1 line Removed obsolete version numbers. No review. ........ r21265 | phaller | 2010-03-25 14:14:28 +0100 (Thu, 25 Mar 2010) | 1 line Renamed Replyable* types to *CanReply. No review. ........ r21266 | phaller | 2010-03-25 14:18:23 +0100 (Thu, 25 Mar 2010) | 1 line Renamed Replyable* source files to the types they define. No review. ........ r21269 | dragos | 2010-03-25 15:22:30 +0100 (Thu, 25 Mar 2010) | 1 line Fixed order of fields in the generated code. No review. ........ r21271 | rompf | 2010-03-25 17:14:56 +0100 (Thu, 25 Mar 2010) | 1 line fixed double-loading of plugins. reinstated not-enabled error msg for cps plugin. review by community. ........ r21273 | extempore | 2010-03-25 17:59:14 +0100 (Thu, 25 Mar 2010) | 2 lines New scalacheck jar because recent Actor changes broke binary compatibility. No review. ........ r21274 | extempore | 2010-03-25 20:55:53 +0100 (Thu, 25 Mar 2010) | 15 lines While working on partest discovered that CompilerCommand ignores half its constructor arguments and a couple dozen places blithely pass it those arguments as if they're being used. Then there were setups like this: class OfflineCompilerCommand( arguments: List[String], settings: Settings, error: String => Unit, interactive: Boolean) extends CompilerCommand(arguments, new Settings(error), error, false) Hey offline compiler command, why throw away the perfectly good settings you were given? Ever heard 'reduce, reuse, recycle'? How did you ever work... or do you? No review. ........ r21275 | odersky | 2010-03-25 21:21:45 +0100 (Thu, 25 Mar 2010) | 2 lines I think this closes #2433. Only verified by synthetic test case t2433 which crashed before and compiles now. Review by extempore. ........ r21276 | extempore | 2010-03-25 22:53:58 +0100 (Thu, 25 Mar 2010) | 7 lines Altered classpath behavior when no default is given. Now in that case the contents of environment variable CLASSPATH will be used as the scala user classpath, and only if that is not present will "." be used. Be advised that there are still various "hand assembled" sorts of classpaths in trunk, and there's not yet any way to ensure they honor this; things which use the normal Settings object should do the right thing. No review. ........ r21278 | extempore | 2010-03-26 05:26:03 +0100 (Fri, 26 Mar 2010) | 1 line Some minor I/O changes. No review. ........ r21279 | extempore | 2010-03-26 05:59:58 +0100 (Fri, 26 Mar 2010) | 2 lines Tweaked help output a little further so -Y isn't visible except to those who consider themselves advanced. No review. ........ r21280 | extempore | 2010-03-26 13:20:18 +0100 (Fri, 26 Mar 2010) | 1 line Fix for #3204. No review. ........ r21281 | dubochet | 2010-03-26 15:34:34 +0100 (Fri, 26 Mar 2010) | 1 line Unparsed Scala signature annotations are not added to the symbol table. Review by dragos. ........ r21282 | ilyas | 2010-03-26 16:53:05 +0100 (Fri, 26 Mar 2010) | 1 line missing quotes for annotation values added ........ r21283 | ilyas | 2010-03-26 17:07:39 +0100 (Fri, 26 Mar 2010) | 1 line some output polishing ........ r21284 | rompf | 2010-03-26 18:35:31 +0100 (Fri, 26 Mar 2010) | 1 line improvements to cps exception handling. among other things, finally clauses are now illegal for cps try/catch blocks. transforming them correctly is prohibitively tricky. review by community. review by community. ........ r21285 | extempore | 2010-03-27 06:41:47 +0100 (Sat, 27 Mar 2010) | 1 line TraversableOnce. Review by odersky. ........ r21286 | imaier | 2010-03-28 13:34:48 +0200 (Sun, 28 Mar 2010) | 1 line Fixed #3090 ........ r21287 | imaier | 2010-03-28 14:28:39 +0200 (Sun, 28 Mar 2010) | 1 line Fixed #2803. Added warning for UIElement.cachedWrapper. ........ r21288 | imaier | 2010-03-28 15:01:28 +0200 (Sun, 28 Mar 2010) | 1 line Fix for #2980. No review. ........ r21289 | imaier | 2010-03-28 15:15:31 +0200 (Sun, 28 Mar 2010) | 1 line Fixed #2753. No review. ........ r21290 | imaier | 2010-03-28 15:27:42 +0200 (Sun, 28 Mar 2010) | 1 line Fixed #3219. No review. ........ r21291 | imaier | 2010-03-28 15:56:18 +0200 (Sun, 28 Mar 2010) | 1 line Fixed #2242. No review. ........ r21292 | rompf | 2010-03-29 11:55:44 +0200 (Mon, 29 Mar 2010) | 1 line closes 2864. closes 2934. closes 3223. closes 3225. review by community. ........ r21294 | dubochet | 2010-03-29 14:40:39 +0200 (Mon, 29 Mar 2010) | 1 line Fix to the way Scalap decodes ScalaSignature annotations. Contributed by ilyas. Already reviewed by dubochet, no review. ........ r21295 | odersky | 2010-03-29 14:53:07 +0200 (Mon, 29 Mar 2010) | 1 line Closes #2386 by requiring class manifests for an array element type if a class manifaest for the array type is demanded. Review by dubochet. ........ r21296 | dubochet | 2010-03-29 15:14:10 +0200 (Mon, 29 Mar 2010) | 1 line Reverted file that was unintentionally committed as part of r21294. ........ r21297 | milessabin | 2010-03-29 15:38:11 +0200 (Mon, 29 Mar 2010) | 1 line Patch from Mirko Stocker to add position information to val/var modifiers on ctor params for use by tools. Review by odersky. ........ r21299 | rompf | 2010-03-29 21:22:50 +0200 (Mon, 29 Mar 2010) | 1 line fixes the unfounded "name clash between inherited members" error. review by dragos. ........ r21303 | dubochet | 2010-03-30 20:37:25 +0200 (Tue, 30 Mar 2010) | 1 line [scaladoc] Fixed the nightly build. Wiki parser correctly handles lists with unknown bullet kind. No review. ........ r21304 | extempore | 2010-03-30 23:25:16 +0200 (Tue, 30 Mar 2010) | 3 lines Noticed that the implementation of toArray Iterator had acquired via TraversableOnce called "size" to allocate the array, leaving a nice empty iterator to actually populate it. Fixed. No review. ........ r21305 | rompf | 2010-03-31 14:20:41 +0200 (Wed, 31 Mar 2010) | 1 line closes #3203, overriding more of the TraversableLike methods. also tightened access privileges to internal fields and methods. review by community. ........ r21307 | rytz | 2010-03-31 16:00:09 +0200 (Wed, 31 Mar 2010) | 1 line close #3222. review by community ........ r21309 | rytz | 2010-03-31 18:56:40 +0200 (Wed, 31 Mar 2010) | 1 line close #3183. review by community ........ r21313 | rytz | 2010-04-01 10:39:11 +0200 (Thu, 01 Apr 2010) | 1 line close #3178. review by community ........ r21322 | rompf | 2010-04-02 15:11:23 +0200 (Fri, 02 Apr 2010) | 1 line closes #3242. review by community. ........ r21323 | extempore | 2010-04-02 23:09:34 +0200 (Fri, 02 Apr 2010) | 5 lines Mostly IO tweaks related to my upcoming partest patch, which to my chagrin is being held up by windows. Also updates the default ANT_OPTS to be the same as the ones the nightlies override it with. (If we know you can't build scala with those settings it seems kind of uncool to leave them for everyone else.) No review. ........ r21324 | rompf | 2010-04-03 18:07:58 +0200 (Sat, 03 Apr 2010) | 1 line improved cps transform of partial functions. no review. ........ r21325 | dubochet | 2010-04-03 22:13:19 +0200 (Sat, 03 Apr 2010) | 1 line [scaladoc] Considerably reduced size of documentation by not generating certain strange inner classes. Scaladoc is much much faster (more than 10x on library); not exactly clear why. Protected members are printed in documentation and displayed on demand. Review by malayeri. ........ r21326 | extempore | 2010-04-04 04:58:11 +0200 (Sun, 04 Apr 2010) | 2 lines Nipped the infinite loop which is presently launched by an attempt to run test.continuations.suite with -optimise. No review. ........ r21327 | rompf | 2010-04-04 15:14:44 +0200 (Sun, 04 Apr 2010) | 1 line workaround for #3252. review by extempore. ........ r21328 | extempore | 2010-04-04 18:59:25 +0200 (Sun, 04 Apr 2010) | 1 line Removing a class cast exception. Closes #2843, no review. ........ r21329 | extempore | 2010-04-05 08:24:22 +0200 (Mon, 05 Apr 2010) | 13 lines If I work on this patch any longer without checking in I will go stark raving mad. It is broken up into a couple pieces. This one is the changes to test/. It includes fixing a bunch of tests, removing deprecated constructs, moving jars used by tests to the most specific plausible location rather than having all jars on the classpath of all tests, and some filesystem layout change (continuations get their whole own srcpath.) This would be the world's most tedious review, so let's say no review. [Note: after this commit, I doubt things will build very smoothly until the rest of the partest changes follow. Which should only be seconds, but just in case.] ........ r21330 | extempore | 2010-04-05 08:25:16 +0200 (Mon, 05 Apr 2010) | 7 lines The code part of the partest patch. If anyone wants to review it they can be my guest (reviewbot: review by community!) More realistically: more than likely I have unwittingly altered or impaired some piece of functionality used by someone somewhere. Please alert me if this is the case and I will remedy it. I have to call it at this point as the best interests of 2.8 cannot be served by me nursing this patch along any further. ........ r21331 | odersky | 2010-04-05 15:47:27 +0200 (Mon, 05 Apr 2010) | 2 lines Rearranging IndexedSeq/LinearSeq and related work ........ r21332 | odersky | 2010-04-05 18:53:53 +0200 (Mon, 05 Apr 2010) | 2 lines Made Vector the standard impl of IndexedSeq. Review by rompf. ........ r21333 | extempore | 2010-04-05 19:40:59 +0200 (Mon, 05 Apr 2010) | 1 line Typo patrol, no review. ........ r21341 | extempore | 2010-04-06 02:40:25 +0200 (Tue, 06 Apr 2010) | 1 line A removal that didn't take. No review. ........ r21342 | extempore | 2010-04-06 02:42:50 +0200 (Tue, 06 Apr 2010) | 4 lines Fix for the partest task to fail the build when a test fails, and fixes for 2/3 of the quietly failing tests. I'm not quite sure what to do about the view ones, it doesn't look like a simple rename is going to cut it, so: review by odersky. ........ r21343 | extempore | 2010-04-06 03:26:31 +0200 (Tue, 06 Apr 2010) | 5 lines As a brief diversion from real work, implemented Damerau–Levenshtein and ran it on trunk to elicit obvious misspellings. Unfortunately they're mostly in places like compiler comments which real people never see, but I fixed them anyway. All those English Lit majors who peruse our sources are sure to be pleased. No review. ........ r21344 | extempore | 2010-04-06 04:05:20 +0200 (Tue, 06 Apr 2010) | 1 line Noticed a bug with test obj dirs not getting deleted. No review. ........ r21345 | extempore | 2010-04-06 07:18:46 +0200 (Tue, 06 Apr 2010) | 2 lines A couple more bits of partest I discovered weren't doing their jobs. Some of my classiest messages were going unheard! No review. ........ r21346 | extempore | 2010-04-06 07:19:19 +0200 (Tue, 06 Apr 2010) | 2 lines Some tweaks to classpath handling I had left over from trying to figure out the continuations plugin issue. No review. ........ r21347 | imaier | 2010-04-06 13:43:00 +0200 (Tue, 06 Apr 2010) | 1 line Fixed #3257 ........ r21348 | odersky | 2010-04-06 15:53:39 +0200 (Tue, 06 Apr 2010) | 1 line Optimized toArray for ArrayOps and WrappedArrays. Changed printing of Views. Fixed IndexedseqView problems. Review by extempore. ........ r21349 | prokopec | 2010-04-06 16:39:51 +0200 (Tue, 06 Apr 2010) | 1 line Fixes #2535. Review by community. ........ r21350 | prokopec | 2010-04-06 16:56:14 +0200 (Tue, 06 Apr 2010) | 1 line Forgot to add scalacheck test for #2535. Review by community. ........ r21351 | extempore | 2010-04-06 17:09:02 +0200 (Tue, 06 Apr 2010) | 1 line Final methods should appear in scaladoc. Closes #3067, no review. ........ r21353 | extempore | 2010-04-06 20:27:29 +0200 (Tue, 06 Apr 2010) | 1 line Removing some code duplication from scaladoc. Review by dubochet. ........ r21354 | extempore | 2010-04-07 00:46:22 +0200 (Wed, 07 Apr 2010) | 5 lines Fixed another partest feature I'd managed to break at the very last minute. When a test is too slow finishing, there will be messages identifying the test. It defaults to 90 seconds before the first warning because I know some machines are slow, but it'd be nice if that was more like 30. No review. ........ r21356 | extempore | 2010-04-07 01:57:11 +0200 (Wed, 07 Apr 2010) | 2 lines And another partest gap is filled. Now if you pass --quick to partest it really will use quick as the build dir. No review. ........
Diffstat (limited to 'test/files')
-rw-r--r--[-rwxr-xr-x]test/files/bench/equality/eqeq.eqlog (renamed from test/files/bench/equality/eqeq.log)0
-rw-r--r--test/files/buildmanager/annotated/A.scala1
-rw-r--r--test/files/buildmanager/annotated/annotated.check6
-rw-r--r--test/files/buildmanager/annotated/annotated.test2
-rw-r--r--test/files/buildmanager/freshnames/A.scala16
-rw-r--r--test/files/buildmanager/freshnames/B.scala4
-rw-r--r--test/files/buildmanager/freshnames/freshnames.check6
-rw-r--r--test/files/buildmanager/freshnames/freshnames.test2
-rw-r--r--test/files/buildmanager/infer/A.scala16
-rw-r--r--test/files/buildmanager/infer/infer.check6
-rw-r--r--test/files/buildmanager/infer/infer.test2
-rw-r--r--test/files/buildmanager/overloaded_1/A.scala11
-rw-r--r--test/files/buildmanager/overloaded_1/overloaded_1.check6
-rw-r--r--test/files/buildmanager/overloaded_1/overloaded_1.test2
-rw-r--r--test/files/buildmanager/simpletest/A.scala3
-rw-r--r--test/files/buildmanager/simpletest/B.scala3
-rw-r--r--test/files/buildmanager/simpletest/simpletest.changes/A1.scala1
-rw-r--r--test/files/buildmanager/simpletest/simpletest.check11
-rw-r--r--test/files/buildmanager/simpletest/simpletest.test3
-rw-r--r--test/files/buildmanager/t2280/A.scala1
-rw-r--r--test/files/buildmanager/t2280/B.java2
-rw-r--r--test/files/buildmanager/t2280/t2280.check6
-rw-r--r--test/files/buildmanager/t2280/t2280.test2
-rw-r--r--test/files/buildmanager/t2556_1/A.scala3
-rw-r--r--test/files/buildmanager/t2556_1/B.scala3
-rw-r--r--test/files/buildmanager/t2556_1/t2556_1.changes/A2.scala4
-rw-r--r--test/files/buildmanager/t2556_1/t2556_1.check12
-rw-r--r--test/files/buildmanager/t2556_1/t2556_1.test3
-rw-r--r--test/files/buildmanager/t2556_2/A.scala4
-rw-r--r--test/files/buildmanager/t2556_2/B.scala2
-rw-r--r--test/files/buildmanager/t2556_2/C.scala4
-rw-r--r--test/files/buildmanager/t2556_2/t2556_2.changes/A2.scala4
-rw-r--r--test/files/buildmanager/t2556_2/t2556_2.check13
-rw-r--r--test/files/buildmanager/t2556_2/t2556_2.test3
-rw-r--r--test/files/buildmanager/t2556_3/A.scala5
-rw-r--r--test/files/buildmanager/t2556_3/B.scala5
-rw-r--r--test/files/buildmanager/t2556_3/C.scala2
-rw-r--r--test/files/buildmanager/t2556_3/t2556_3.changes/A2.scala5
-rw-r--r--test/files/buildmanager/t2556_3/t2556_3.check18
-rw-r--r--test/files/buildmanager/t2556_3/t2556_3.test3
-rw-r--r--test/files/buildmanager/t2557/A.scala4
-rw-r--r--test/files/buildmanager/t2557/B.scala4
-rw-r--r--test/files/buildmanager/t2557/C.scala3
-rw-r--r--test/files/buildmanager/t2557/D.scala1
-rw-r--r--test/files/buildmanager/t2557/E.scala1
-rw-r--r--test/files/buildmanager/t2557/F.scala4
-rw-r--r--test/files/buildmanager/t2557/t2557.changes/D2.scala2
-rw-r--r--test/files/buildmanager/t2557/t2557.check10
-rw-r--r--test/files/buildmanager/t2557/t2557.test3
-rw-r--r--test/files/buildmanager/t2559/A.scala5
-rw-r--r--test/files/buildmanager/t2559/D.scala8
-rw-r--r--test/files/buildmanager/t2559/t2559.changes/A2.scala5
-rw-r--r--test/files/buildmanager/t2559/t2559.check14
-rw-r--r--test/files/buildmanager/t2559/t2559.test3
-rw-r--r--test/files/buildmanager/t2562/A.scala7
-rw-r--r--test/files/buildmanager/t2562/B.scala8
-rw-r--r--test/files/buildmanager/t2562/t2562.changes/A2.scala8
-rw-r--r--test/files/buildmanager/t2562/t2562.check12
-rw-r--r--test/files/buildmanager/t2562/t2562.test3
-rw-r--r--test/files/buildmanager/t2649/A.scala3
-rw-r--r--test/files/buildmanager/t2649/B.scala4
-rw-r--r--test/files/buildmanager/t2649/t2649.changes/A2.scala4
-rw-r--r--test/files/buildmanager/t2649/t2649.check9
-rw-r--r--test/files/buildmanager/t2649/t2649.test3
-rw-r--r--test/files/buildmanager/t2650_1/A.scala4
-rw-r--r--test/files/buildmanager/t2650_1/B.scala3
-rw-r--r--test/files/buildmanager/t2650_1/t2650_1.changes/A2.scala3
-rw-r--r--test/files/buildmanager/t2650_1/t2650_1.check11
-rw-r--r--test/files/buildmanager/t2650_1/t2650_1.test3
-rw-r--r--test/files/buildmanager/t2650_2/A.scala3
-rw-r--r--test/files/buildmanager/t2650_2/B.scala4
-rw-r--r--test/files/buildmanager/t2650_2/t2650_2.changes/A2.scala4
-rw-r--r--test/files/buildmanager/t2650_2/t2650_2.check13
-rw-r--r--test/files/buildmanager/t2650_2/t2650_2.test3
-rw-r--r--test/files/buildmanager/t2650_3/A.scala4
-rw-r--r--test/files/buildmanager/t2650_3/B.scala3
-rw-r--r--test/files/buildmanager/t2650_3/t2650_3.changes/A2.scala4
-rw-r--r--test/files/buildmanager/t2650_3/t2650_3.check13
-rw-r--r--test/files/buildmanager/t2650_3/t2650_3.test3
-rw-r--r--test/files/buildmanager/t2650_4/A.scala5
-rw-r--r--test/files/buildmanager/t2650_4/B.scala3
-rw-r--r--test/files/buildmanager/t2650_4/t2650_4.changes/A2.scala5
-rw-r--r--test/files/buildmanager/t2650_4/t2650_4.check13
-rw-r--r--test/files/buildmanager/t2650_4/t2650_4.test3
-rw-r--r--test/files/buildmanager/t2651_2/A.scala1
-rw-r--r--test/files/buildmanager/t2651_2/t2651_2.changes/A2.scala1
-rw-r--r--test/files/buildmanager/t2651_2/t2651_2.check6
-rw-r--r--test/files/buildmanager/t2651_2/t2651_2.test3
-rw-r--r--test/files/buildmanager/t2651_3/A.scala3
-rw-r--r--test/files/buildmanager/t2651_3/t2651_3.changes/A2.scala3
-rw-r--r--test/files/buildmanager/t2651_3/t2651_3.check6
-rw-r--r--test/files/buildmanager/t2651_3/t2651_3.test3
-rw-r--r--test/files/buildmanager/t2651_4/A.scala5
-rw-r--r--test/files/buildmanager/t2651_4/B.scala3
-rw-r--r--test/files/buildmanager/t2651_4/t2651_4.changes/A2.scala5
-rw-r--r--test/files/buildmanager/t2651_4/t2651_4.check13
-rw-r--r--test/files/buildmanager/t2651_4/t2651_4.test3
-rw-r--r--test/files/buildmanager/t2652/A.scala3
-rw-r--r--test/files/buildmanager/t2652/B.scala4
-rw-r--r--test/files/buildmanager/t2652/t2652.changes/A2.scala4
-rw-r--r--test/files/buildmanager/t2652/t2652.check9
-rw-r--r--test/files/buildmanager/t2652/t2652.test3
-rw-r--r--test/files/buildmanager/t2653/A.scala2
-rw-r--r--test/files/buildmanager/t2653/B.scala3
-rw-r--r--test/files/buildmanager/t2653/t2653.changes/A2.scala2
-rw-r--r--test/files/buildmanager/t2653/t2653.check13
-rw-r--r--test/files/buildmanager/t2653/t2653.test3
-rw-r--r--test/files/buildmanager/t2654/A.scala2
-rw-r--r--test/files/buildmanager/t2654/B.scala1
-rw-r--r--test/files/buildmanager/t2654/t2654.changes/A2.scala4
-rw-r--r--test/files/buildmanager/t2654/t2654.check6
-rw-r--r--test/files/buildmanager/t2654/t2654.test3
-rw-r--r--test/files/buildmanager/t2655/A.scala4
-rw-r--r--test/files/buildmanager/t2655/B.scala3
-rw-r--r--test/files/buildmanager/t2655/t2655.changes/A2.scala4
-rw-r--r--test/files/buildmanager/t2655/t2655.check13
-rw-r--r--test/files/buildmanager/t2655/t2655.test3
-rw-r--r--test/files/buildmanager/t2657/A.scala3
-rw-r--r--test/files/buildmanager/t2657/B.scala4
-rw-r--r--test/files/buildmanager/t2657/t2657.changes/A2.scala3
-rw-r--r--test/files/buildmanager/t2657/t2657.check13
-rw-r--r--test/files/buildmanager/t2657/t2657.test3
-rw-r--r--test/files/buildmanager/t2789/A.scala5
-rw-r--r--test/files/buildmanager/t2789/B.scala3
-rw-r--r--test/files/buildmanager/t2789/t2789.changes/A2.scala5
-rw-r--r--test/files/buildmanager/t2789/t2789.check11
-rw-r--r--test/files/buildmanager/t2789/t2789.test3
-rw-r--r--test/files/buildmanager/t2790/A.scala5
-rw-r--r--test/files/buildmanager/t2790/B.scala4
-rw-r--r--test/files/buildmanager/t2790/t2790.changes/A2.scala4
-rw-r--r--test/files/buildmanager/t2790/t2790.check14
-rw-r--r--test/files/buildmanager/t2790/t2790.test3
-rw-r--r--test/files/buildmanager/t3045/A.java7
-rw-r--r--test/files/buildmanager/t3045/t3045.check3
-rw-r--r--test/files/buildmanager/t3045/t3045.test1
-rw-r--r--test/files/buildmanager/t3054/bar/Bar.java7
-rw-r--r--test/files/buildmanager/t3054/foo/Foo.scala5
-rw-r--r--test/files/buildmanager/t3054/t3054.check3
-rw-r--r--test/files/buildmanager/t3054/t3054.test1
-rw-r--r--test/files/buildmanager/t3133/A.java7
-rw-r--r--test/files/buildmanager/t3133/t3133.check3
-rw-r--r--test/files/buildmanager/t3133/t3133.test1
-rw-r--r--test/files/cli/test1/Main.check.j9vm54
-rw-r--r--test/files/cli/test1/Main.check.java6
-rw-r--r--test/files/cli/test1/Main.check.java56
-rw-r--r--test/files/cli/test1/Main.check.java5_api19
-rw-r--r--test/files/cli/test1/Main.check.java5_j94
-rw-r--r--test/files/cli/test1/Main.check.javac19
-rw-r--r--test/files/cli/test1/Main.check.javac524
-rw-r--r--test/files/cli/test1/Main.check.javac629
-rw-r--r--test/files/cli/test1/Main.check.jikes3
-rw-r--r--test/files/cli/test1/Main.check.jikes53
-rw-r--r--test/files/cli/test1/Main.check.scala24
-rw-r--r--test/files/cli/test1/Main.check.scala_api33
-rw-r--r--test/files/cli/test1/Main.check.scala_j915
-rw-r--r--test/files/cli/test1/Main.check.scalac63
-rw-r--r--test/files/cli/test1/Main.check.scalaint45
-rw-r--r--test/files/cli/test1/Main.java8
-rw-r--r--test/files/cli/test1/Main.scala8
-rw-r--r--test/files/cli/test2/Main.check.j9vm54
-rw-r--r--test/files/cli/test2/Main.check.java6
-rw-r--r--test/files/cli/test2/Main.check.java56
-rw-r--r--test/files/cli/test2/Main.check.java5_api24
-rw-r--r--test/files/cli/test2/Main.check.java5_j936
-rw-r--r--test/files/cli/test2/Main.check.javac27
-rw-r--r--test/files/cli/test2/Main.check.javac528
-rw-r--r--test/files/cli/test2/Main.check.javac633
-rw-r--r--test/files/cli/test2/Main.check.jikes9
-rw-r--r--test/files/cli/test2/Main.check.jikes59
-rw-r--r--test/files/cli/test2/Main.check.scala24
-rw-r--r--test/files/cli/test2/Main.check.scala_api37
-rw-r--r--test/files/cli/test2/Main.check.scala_j915
-rw-r--r--test/files/cli/test2/Main.check.scalac63
-rw-r--r--test/files/cli/test2/Main.check.scalaint45
-rw-r--r--test/files/cli/test2/Main.java8
-rw-r--r--test/files/cli/test2/Main.scala8
-rw-r--r--test/files/cli/test3/Main.check.j9vm55
-rw-r--r--test/files/cli/test3/Main.check.java10
-rw-r--r--test/files/cli/test3/Main.check.java510
-rw-r--r--test/files/cli/test3/Main.check.java5_api29
-rw-r--r--test/files/cli/test3/Main.check.java5_j936
-rw-r--r--test/files/cli/test3/Main.check.javac33
-rw-r--r--test/files/cli/test3/Main.check.javac531
-rw-r--r--test/files/cli/test3/Main.check.javac636
-rw-r--r--test/files/cli/test3/Main.check.jikes14
-rw-r--r--test/files/cli/test3/Main.check.jikes514
-rw-r--r--test/files/cli/test3/Main.check.scala28
-rw-r--r--test/files/cli/test3/Main.check.scala_api41
-rw-r--r--test/files/cli/test3/Main.check.scala_j919
-rw-r--r--test/files/cli/test3/Main.check.scalac63
-rw-r--r--test/files/cli/test3/Main.check.scalaint48
-rw-r--r--test/files/cli/test3/Main.java10
-rw-r--r--test/files/cli/test3/Main.scala10
-rw-r--r--test/files/files.iml17
-rw-r--r--test/files/jvm/JavaInteraction.check4
-rw-r--r--test/files/jvm/JavaInteraction.scala23
-rw-r--r--test/files/jvm/NestedAnnotations.java25
-rw-r--r--test/files/jvm/OuterEnum.java5
-rw-r--r--test/files/jvm/OuterTParams.java6
-rw-r--r--test/files/jvm/SourceAnnotation.java9
-rw-r--r--test/files/jvm/actor-exceptions.check14
-rw-r--r--test/files/jvm/actor-exceptions.scala20
-rw-r--r--test/files/jvm/actor-executor.check20
-rw-r--r--test/files/jvm/actor-executor.scala65
-rw-r--r--test/files/jvm/actor-executor2.check21
-rw-r--r--test/files/jvm/actor-executor2.scala67
-rw-r--r--test/files/jvm/actor-executor3.check20
-rw-r--r--test/files/jvm/actor-executor3.scala52
-rw-r--r--test/files/jvm/actor-getstate.check2
-rw-r--r--test/files/jvm/actor-getstate.scala85
-rw-r--r--test/files/jvm/actor-link-getstate.check5
-rw-r--r--test/files/jvm/actor-link-getstate.scala47
-rw-r--r--test/files/jvm/actor-receivewithin.scala2
-rw-r--r--test/files/jvm/actor-uncaught-exception.check5
-rw-r--r--test/files/jvm/actor-uncaught-exception.scala46
-rw-r--r--test/files/jvm/deprecation.cmds3
-rw-r--r--test/files/jvm/future-alarm.check20
-rw-r--r--test/files/jvm/future-alarm.scala16
-rw-r--r--test/files/jvm/genericNest/genericNest.jar.desired.sha1 (renamed from test/files/lib/genericNest.jar.desired.sha1)0
-rw-r--r--test/files/jvm/genericNest/genericNest.scala (renamed from test/files/jvm/genericNest.scala)0
-rw-r--r--test/files/jvm/inner.scala4
-rw-r--r--test/files/jvm/interpreter.check12
-rw-r--r--test/files/jvm/lib/annotations.jar.desired.sha1 (renamed from test/files/lib/annotations.jar.desired.sha1)0
-rw-r--r--test/files/jvm/lib/nest.jar.desired.sha1 (renamed from test/files/lib/nest.jar.desired.sha1)0
-rw-r--r--test/files/jvm/methvsfield/methvsfield.jar.desired.sha1 (renamed from test/files/lib/methvsfield.jar.desired.sha1)0
-rw-r--r--test/files/jvm/methvsfield/methvsfield.java (renamed from test/files/jvm/methvsfield.java)0
-rw-r--r--test/files/jvm/methvsfield/methvsfield.scala (renamed from test/files/jvm/methvsfield.scala)0
-rwxr-xr-xtest/files/jvm/mkAnnotationsJar.sh28
-rw-r--r--test/files/jvm/nest/nest.java (renamed from test/files/jvm/nest.java)0
-rw-r--r--test/files/jvm/nest/nest.scala (renamed from test/files/jvm/nest.scala)0
-rw-r--r--test/files/jvm/outerEnum/enums.jar.desired.sha1 (renamed from test/files/lib/enums.jar.desired.sha1)0
-rw-r--r--test/files/jvm/outerEnum/outerEnum.scala (renamed from test/files/jvm/outerEnum.scala)0
-rw-r--r--test/files/jvm/reactor-exceptionOnSend.scala4
-rw-r--r--test/files/jvm/reactor-producer-consumer.scala10
-rw-r--r--test/files/jvm/reactor.scala9
-rw-r--r--test/files/jvm/replyablereactor.scala5
-rw-r--r--test/files/jvm/replyablereactor2.scala2
-rw-r--r--test/files/jvm/replyablereactor3.scala2
-rw-r--r--test/files/jvm/replyablereactor4.scala2
-rw-r--r--test/files/jvm/replyreactor.scala6
-rw-r--r--test/files/jvm/serialization.check8
-rw-r--r--test/files/jvm/t1652.check2
-rw-r--r--test/files/jvm/t2470.cmds3
-rw-r--r--test/files/jvm/t2827.check3
-rw-r--r--test/files/jvm/t2827.scala14
-rw-r--r--test/files/jvm/t3003.check1
-rw-r--r--test/files/jvm/t3003.cmds2
-rw-r--r--test/files/jvm/t3003/Annot.java4
-rw-r--r--test/files/jvm/t3003/Test_1.scala8
-rw-r--r--test/files/jvm/t3102.check2
-rw-r--r--test/files/jvm/t3102.scala26
-rw-r--r--test/files/jvm/unittest_io.scala2
-rw-r--r--test/files/jvm/xml01.scala40
-rw-r--r--test/files/jvm/xml02.scala16
-rw-r--r--test/files/jvm/xmlstuff.scala8
-rw-r--r--test/files/neg/bug1210.check7
-rw-r--r--test/files/neg/bug1279a.check6
-rw-r--r--test/files/neg/bug1878.check7
-rw-r--r--test/files/neg/bug2148.check4
-rw-r--r--test/files/neg/bug2148.scala10
-rw-r--r--test/files/neg/bug3123.check4
-rw-r--r--test/files/neg/bug3123.scala5
-rw-r--r--test/files/neg/bug414.check5
-rw-r--r--test/files/neg/bug961.check5
-rw-r--r--test/files/neg/bug961.scala6
-rw-r--r--test/files/neg/migration28.check9
-rw-r--r--test/files/neg/migration28.flags1
-rw-r--r--test/files/neg/migration28.scala12
-rw-r--r--test/files/neg/multi-array.flags1
-rw-r--r--test/files/neg/patmat-type-check.check21
-rw-r--r--test/files/neg/patmat-type-check.scala28
-rw-r--r--test/files/neg/patmatexhaust.check2
-rw-r--r--test/files/neg/t0528neg.scala2
-rw-r--r--test/files/neg/t0851.check9
-rw-r--r--test/files/neg/t0851.scala25
-rw-r--r--test/files/neg/t2179.check4
-rw-r--r--test/files/neg/t2386.check4
-rw-r--r--test/files/neg/t2386.scala3
-rw-r--r--test/files/neg/t2918.check7
-rwxr-xr-xtest/files/neg/t2918.scala3
-rw-r--r--test/files/neg/t3006.check6
-rwxr-xr-xtest/files/neg/t3006.scala10
-rw-r--r--test/files/neg/t3015.check11
-rw-r--r--test/files/neg/t3015.scala8
-rw-r--r--test/files/neg/t3115.check10
-rw-r--r--test/files/neg/t3115.flags1
-rwxr-xr-xtest/files/neg/t3115.scala9
-rw-r--r--test/files/neg/t3118.check7
-rw-r--r--test/files/neg/t3118.scala8
-rw-r--r--test/files/neg/t3222.check13
-rw-r--r--test/files/neg/t3222.scala9
-rw-r--r--test/files/neg/unit2anyref.check6
-rw-r--r--test/files/pos/annotations.scala24
-rw-r--r--test/files/pos/bug0646.scala2
-rw-r--r--test/files/pos/bug2310.scala38
-rw-r--r--test/files/pos/bug3097.flags1
-rw-r--r--test/files/pos/bug3097.scala31
-rw-r--r--test/files/pos/bug3136.scala19
-rw-r--r--test/files/pos/bug3175.scala7
-rw-r--r--test/files/pos/bug432.scala2
-rw-r--r--test/files/pos/bug715.cmds2
-rw-r--r--test/files/pos/manifest1.scala7
-rw-r--r--test/files/pos/scan.scala23
-rw-r--r--test/files/pos/spec-List.scala18
-rw-r--r--test/files/pos/spec-arrays.scala6
-rw-r--r--test/files/pos/spec-partially.flags1
-rw-r--r--test/files/pos/spec-partially.scala5
-rw-r--r--test/files/pos/super.cmds2
-rw-r--r--test/files/pos/switchUnbox.flags2
-rw-r--r--test/files/pos/t0816.scala12
-rw-r--r--test/files/pos/t0971.java4
-rw-r--r--test/files/pos/t0999.scala5
-rw-r--r--test/files/pos/t1029.cmds2
-rw-r--r--test/files/pos/t1035.scala32
-rw-r--r--test/files/pos/t1164.scala2
-rw-r--r--test/files/pos/t1380.flags1
-rw-r--r--test/files/pos/t1380/gnujaxp.jar.desired.sha11
-rw-r--r--test/files/pos/t1380/hallo.scala3
-rw-r--r--test/files/pos/t1751.cmds3
-rwxr-xr-xtest/files/pos/t1756.scala2
-rw-r--r--test/files/pos/t1782.cmds2
-rw-r--r--test/files/pos/t1836/J.java1
-rw-r--r--test/files/pos/t1836/S.scala1
-rw-r--r--test/files/pos/t1942.cmds2
-rw-r--r--test/files/pos/t1996.scala19
-rw-r--r--test/files/pos/t2421c.scala17
-rwxr-xr-xtest/files/pos/t2433/A.java4
-rwxr-xr-xtest/files/pos/t2433/B.java4
-rwxr-xr-xtest/files/pos/t2433/Test.scala3
-rw-r--r--test/files/pos/t2464.cmds3
-rw-r--r--test/files/pos/t2610.scala17
-rw-r--r--test/files/pos/t2660.scala25
-rw-r--r--test/files/pos/t2691.scala9
-rw-r--r--test/files/pos/t2726.cmds2
-rw-r--r--test/files/pos/t2741/2741-1.scala13
-rw-r--r--test/files/pos/t2741/2741-2.scala5
-rw-r--r--test/files/pos/t2795.scala1
-rw-r--r--test/files/pos/t2797.scala9
-rw-r--r--test/files/pos/t2867.scala1
-rw-r--r--test/files/pos/t2868.cmds3
-rw-r--r--test/files/pos/t2868/Jann.java5
-rw-r--r--test/files/pos/t2868/Nest.java3
-rw-r--r--test/files/pos/t2868/pick_1.scala7
-rw-r--r--test/files/pos/t2868/test_2.scala6
-rwxr-xr-xtest/files/pos/t2913.scala53
-rw-r--r--test/files/pos/t294.cmds3
-rw-r--r--test/files/pos/t2940/Cycle.java3
-rw-r--r--test/files/pos/t2940/Error.scala12
-rw-r--r--test/files/pos/t2956/BeanDefinitionVisitor.java6
-rwxr-xr-xtest/files/pos/t2956/t2956.scala7
-rw-r--r--test/files/pos/t2994a.scala27
-rw-r--r--test/files/pos/t2994b.scala7
-rw-r--r--test/files/pos/t3037.scala13
-rw-r--r--test/files/pos/t3071.scala7
-rw-r--r--test/files/pos/t3076/C2.scala4
-rw-r--r--test/files/pos/t3076/T.scala2
-rw-r--r--test/files/pos/t3079.scala17
-rw-r--r--test/files/pos/t3152.scala20
-rw-r--r--test/files/pos/t425.scala11
-rw-r--r--test/files/positions/Unsupported2.scala5
-rw-r--r--test/files/res/bug687.check5
-rw-r--r--test/files/run/Course-2002-13.scala4
-rw-r--r--test/files/run/ReplacementMatching.scala47
-rw-r--r--test/files/run/arraycopy.scala31
-rw-r--r--test/files/run/arybufgrow.scala4
-rw-r--r--test/files/run/bigDecimalCache.scala9
-rw-r--r--test/files/run/bug1074.check2
-rw-r--r--test/files/run/bug1697.scala19
-rw-r--r--test/files/run/bug3126.scala9
-rw-r--r--test/files/run/bug3175.check11
-rw-r--r--test/files/run/bug3175.scala55
-rw-r--r--test/files/run/bug594.scala2
-rw-r--r--test/files/run/bug751.scala6
-rw-r--r--test/files/run/bytecodecs.scala39
-rw-r--r--test/files/run/caseClassEquality.scala36
-rw-r--r--test/files/run/colltest1.check32
-rw-r--r--test/files/run/colltest1.scala8
-rw-r--r--test/files/run/constrained-types.check2
-rw-r--r--test/files/run/elidable.check1
-rw-r--r--test/files/run/elidable.flags1
-rw-r--r--test/files/run/elidable.scala16
-rw-r--r--test/files/run/equality.scala2
-rw-r--r--test/files/run/hashCodeBoxesRunTime.scala2
-rw-r--r--test/files/run/hashCodeDistribution.scala2
-rw-r--r--test/files/run/hashhash.scala15
-rw-r--r--test/files/run/iterators.check2
-rw-r--r--test/files/run/iterators.scala10
-rw-r--r--test/files/run/lists.scala4
-rw-r--r--test/files/run/names-defaults.check2
-rw-r--r--test/files/run/names-defaults.scala15
-rw-r--r--test/files/run/programmatic-main.check26
-rw-r--r--test/files/run/programmatic-main.scala12
-rw-r--r--test/files/run/range.scala3
-rw-r--r--test/files/run/regularpatmat.check126
-rw-r--r--test/files/run/spec-absfun.flags1
-rw-r--r--test/files/run/spec-absfun.scala43
-rw-r--r--test/files/run/spec-matrix.check1
-rw-r--r--test/files/run/spec-matrix.flags1
-rw-r--r--test/files/run/spec-matrix.scala70
-rw-r--r--test/files/run/spec-patmatch.check19
-rw-r--r--test/files/run/spec-patmatch.flags1
-rw-r--r--test/files/run/spec-patmatch.scala52
-rw-r--r--test/files/run/t0017.check2
-rw-r--r--test/files/run/t0528.scala2
-rw-r--r--test/files/run/t1500.scala6
-rw-r--r--test/files/run/t1501.scala8
-rw-r--r--test/files/run/t1773.scala2
-rw-r--r--test/files/run/t2074.scala3
-rw-r--r--test/files/run/t2074_2.check6
-rw-r--r--test/files/run/t2074_2.scala7
-rw-r--r--test/files/run/t2212.scala10
-rw-r--r--test/files/run/t2417.check12
-rw-r--r--test/files/run/t2417.scala77
-rw-r--r--test/files/run/t2526.scala5
-rw-r--r--test/files/run/t2867.scala15
-rw-r--r--test/files/run/t2886.check1
-rw-r--r--test/files/run/t2886.scala7
-rw-r--r--test/files/run/t2946/Parsers.scala4
-rw-r--r--test/files/run/t2946/ResponseCommon.scala14
-rw-r--r--test/files/run/t2946/Test.scala7
-rw-r--r--test/files/run/t3026.check2
-rwxr-xr-xtest/files/run/t3026.scala8
-rw-r--r--test/files/run/t3112.check4
-rw-r--r--test/files/run/t3112.scala11
-rw-r--r--test/files/run/t3158.check1
-rw-r--r--test/files/run/t3158.scala9
-rw-r--r--test/files/run/t3186.check1
-rw-r--r--test/files/run/t3186.scala7
-rw-r--r--test/files/run/t3242.check18
-rw-r--r--test/files/run/t3242.scala49
-rw-r--r--test/files/run/t3242b.scala17
-rw-r--r--test/files/run/treePrint.check5
-rw-r--r--test/files/run/treePrint.scala40
-rw-r--r--test/files/run/unittest_collection.scala2
-rw-r--r--test/files/run/unittest_iterator.scala13
-rw-r--r--test/files/run/vector1.scala10
-rw-r--r--test/files/run/viewtest.check12
-rwxr-xr-xtest/files/run/viewtest.scala2
-rw-r--r--test/files/run/withIndex.scala2
-rw-r--r--test/files/scalacheck/array.scala46
-rw-r--r--test/files/scalacheck/eqeq.scala37
-rw-r--r--test/files/scalacheck/list.scala4
-rw-r--r--test/files/scalacheck/range.scala205
-rw-r--r--test/files/scalacheck/scan.scala17
-rw-r--r--test/files/scalap/caseClass/result.test7
-rw-r--r--test/files/scalap/classPrivate/A.scala9
-rw-r--r--test/files/scalap/classPrivate/result.test10
-rw-r--r--test/files/scalap/classWithExistential/result.test4
-rw-r--r--test/files/scalap/covariantParam/result.test4
-rw-r--r--test/files/scalap/defaultParameter/A.scala3
-rw-r--r--test/files/scalap/defaultParameter/result.test3
-rw-r--r--test/files/scalap/typeAnnotations/A.scala9
-rw-r--r--test/files/scalap/typeAnnotations/result.test8
-rwxr-xr-x[-rw-r--r--]test/files/script/fact.scala0
-rwxr-xr-xtest/files/script/loadAndExecute/lAndE1.scala3
-rwxr-xr-xtest/files/script/loadAndExecute/lAndE2.scala1
-rw-r--r--test/files/script/loadAndExecute/loadAndExecute.check1
-rwxr-xr-xtest/files/script/loadAndExecute/loadAndExecute.scala3
-rwxr-xr-xtest/files/script/utf8.bat11
-rw-r--r--test/files/script/utf8.check2
-rwxr-xr-xtest/files/script/utf8.scala27
461 files changed, 3376 insertions, 1750 deletions
diff --git a/test/files/bench/equality/eqeq.log b/test/files/bench/equality/eqeq.eqlog
index d1e27aceed..d1e27aceed 100755..100644
--- a/test/files/bench/equality/eqeq.log
+++ b/test/files/bench/equality/eqeq.eqlog
diff --git a/test/files/buildmanager/annotated/A.scala b/test/files/buildmanager/annotated/A.scala
new file mode 100644
index 0000000000..4130cf21ec
--- /dev/null
+++ b/test/files/buildmanager/annotated/A.scala
@@ -0,0 +1 @@
+case class A[T](x: String, y: T)
diff --git a/test/files/buildmanager/annotated/annotated.check b/test/files/buildmanager/annotated/annotated.check
new file mode 100644
index 0000000000..ce92c9a294
--- /dev/null
+++ b/test/files/buildmanager/annotated/annotated.check
@@ -0,0 +1,6 @@
+builder > A.scala
+compiling Set(A.scala)
+Changes: Map()
+builder > A.scala
+compiling Set(A.scala)
+Changes: Map(class A -> List(), object A -> List())
diff --git a/test/files/buildmanager/annotated/annotated.test b/test/files/buildmanager/annotated/annotated.test
new file mode 100644
index 0000000000..392e0d365f
--- /dev/null
+++ b/test/files/buildmanager/annotated/annotated.test
@@ -0,0 +1,2 @@
+>>compile A.scala
+>>compile A.scala
diff --git a/test/files/buildmanager/freshnames/A.scala b/test/files/buildmanager/freshnames/A.scala
new file mode 100644
index 0000000000..88ea44b3c7
--- /dev/null
+++ b/test/files/buildmanager/freshnames/A.scala
@@ -0,0 +1,16 @@
+abstract class A {
+
+ var t: List[B]
+
+ def foo(n: String): Option[B] = {
+ t.reverse find (_.names contains n)
+ }
+
+ def bar(n: Int): Option[B] = {
+ t.reverse find (_.names contains n)
+ }
+}
+
+//class A
+case class B(names: List[String])
+
diff --git a/test/files/buildmanager/freshnames/B.scala b/test/files/buildmanager/freshnames/B.scala
new file mode 100644
index 0000000000..d700225c08
--- /dev/null
+++ b/test/files/buildmanager/freshnames/B.scala
@@ -0,0 +1,4 @@
+abstract class C extends A {
+ def test(n: Int) = bar(n)
+}
+
diff --git a/test/files/buildmanager/freshnames/freshnames.check b/test/files/buildmanager/freshnames/freshnames.check
new file mode 100644
index 0000000000..9f05fb8a36
--- /dev/null
+++ b/test/files/buildmanager/freshnames/freshnames.check
@@ -0,0 +1,6 @@
+builder > B.scala A.scala
+compiling Set(A.scala, B.scala)
+Changes: Map()
+builder > A.scala
+compiling Set(A.scala)
+Changes: Map(class A -> List(), class B -> List(), object B -> List())
diff --git a/test/files/buildmanager/freshnames/freshnames.test b/test/files/buildmanager/freshnames/freshnames.test
new file mode 100644
index 0000000000..20b20298f9
--- /dev/null
+++ b/test/files/buildmanager/freshnames/freshnames.test
@@ -0,0 +1,2 @@
+>>compile B.scala A.scala
+>>compile A.scala
diff --git a/test/files/buildmanager/infer/A.scala b/test/files/buildmanager/infer/A.scala
new file mode 100644
index 0000000000..5e0e268122
--- /dev/null
+++ b/test/files/buildmanager/infer/A.scala
@@ -0,0 +1,16 @@
+class Foo(flag: Boolean) {
+ val classpath =
+ if (flag)
+ new AClasspath
+ else
+ new BClasspath
+}
+
+class AClasspath extends MergedClasspath[A]
+
+class BClasspath extends MergedClasspath[B]
+
+abstract class MergedClasspath[T]
+
+class A
+class B
diff --git a/test/files/buildmanager/infer/infer.check b/test/files/buildmanager/infer/infer.check
new file mode 100644
index 0000000000..1f736977ff
--- /dev/null
+++ b/test/files/buildmanager/infer/infer.check
@@ -0,0 +1,6 @@
+builder > A.scala
+compiling Set(A.scala)
+Changes: Map()
+builder > A.scala
+compiling Set(A.scala)
+Changes: Map(class A -> List(), class AClasspath -> List(), class B -> List(), class BClasspath -> List(), class Foo -> List(), class MergedClasspath -> List())
diff --git a/test/files/buildmanager/infer/infer.test b/test/files/buildmanager/infer/infer.test
new file mode 100644
index 0000000000..392e0d365f
--- /dev/null
+++ b/test/files/buildmanager/infer/infer.test
@@ -0,0 +1,2 @@
+>>compile A.scala
+>>compile A.scala
diff --git a/test/files/buildmanager/overloaded_1/A.scala b/test/files/buildmanager/overloaded_1/A.scala
new file mode 100644
index 0000000000..c070faf978
--- /dev/null
+++ b/test/files/buildmanager/overloaded_1/A.scala
@@ -0,0 +1,11 @@
+trait As {
+ trait C extends D {
+ override def foo = this /// Shouldn't cause the change
+ override def foo(act: List[D]) = this
+ }
+
+ abstract class D{
+ def foo: D = this
+ def foo(act: List[D]) = this
+ }
+}
diff --git a/test/files/buildmanager/overloaded_1/overloaded_1.check b/test/files/buildmanager/overloaded_1/overloaded_1.check
new file mode 100644
index 0000000000..4d643ce6b4
--- /dev/null
+++ b/test/files/buildmanager/overloaded_1/overloaded_1.check
@@ -0,0 +1,6 @@
+builder > A.scala
+compiling Set(A.scala)
+Changes: Map()
+builder > A.scala
+compiling Set(A.scala)
+Changes: Map(class As$D -> List(), object As$C$class -> List(), object As$class -> List(), trait As -> List(), trait As$C -> List())
diff --git a/test/files/buildmanager/overloaded_1/overloaded_1.test b/test/files/buildmanager/overloaded_1/overloaded_1.test
new file mode 100644
index 0000000000..392e0d365f
--- /dev/null
+++ b/test/files/buildmanager/overloaded_1/overloaded_1.test
@@ -0,0 +1,2 @@
+>>compile A.scala
+>>compile A.scala
diff --git a/test/files/buildmanager/simpletest/A.scala b/test/files/buildmanager/simpletest/A.scala
new file mode 100644
index 0000000000..ef704706bb
--- /dev/null
+++ b/test/files/buildmanager/simpletest/A.scala
@@ -0,0 +1,3 @@
+class A {
+ def foo = 2
+}
diff --git a/test/files/buildmanager/simpletest/B.scala b/test/files/buildmanager/simpletest/B.scala
new file mode 100644
index 0000000000..364dc6e4cb
--- /dev/null
+++ b/test/files/buildmanager/simpletest/B.scala
@@ -0,0 +1,3 @@
+class B extends A {
+ override def foo = 2
+}
diff --git a/test/files/buildmanager/simpletest/simpletest.changes/A1.scala b/test/files/buildmanager/simpletest/simpletest.changes/A1.scala
new file mode 100644
index 0000000000..83d15dc739
--- /dev/null
+++ b/test/files/buildmanager/simpletest/simpletest.changes/A1.scala
@@ -0,0 +1 @@
+class A
diff --git a/test/files/buildmanager/simpletest/simpletest.check b/test/files/buildmanager/simpletest/simpletest.check
new file mode 100644
index 0000000000..95ea2c4c0d
--- /dev/null
+++ b/test/files/buildmanager/simpletest/simpletest.check
@@ -0,0 +1,11 @@
+builder > A.scala B.scala
+compiling Set(A.scala, B.scala)
+Changes: Map()
+builder > A.scala
+compiling Set(A.scala)
+Changes: Map(class A -> List(Removed(Definition(A.foo))))
+invalidate B.scala because inherited method removed [Removed(Definition(A.foo))]
+compiling Set(B.scala)
+B.scala:2: error: method foo overrides nothing
+ override def foo = 2
+ ^
diff --git a/test/files/buildmanager/simpletest/simpletest.test b/test/files/buildmanager/simpletest/simpletest.test
new file mode 100644
index 0000000000..2c0be1502f
--- /dev/null
+++ b/test/files/buildmanager/simpletest/simpletest.test
@@ -0,0 +1,3 @@
+>>compile A.scala B.scala
+>>update A.scala=>A1.scala
+>>compile A.scala
diff --git a/test/files/buildmanager/t2280/A.scala b/test/files/buildmanager/t2280/A.scala
new file mode 100644
index 0000000000..5febadeb06
--- /dev/null
+++ b/test/files/buildmanager/t2280/A.scala
@@ -0,0 +1 @@
+class A extends B
diff --git a/test/files/buildmanager/t2280/B.java b/test/files/buildmanager/t2280/B.java
new file mode 100644
index 0000000000..aef8e106e9
--- /dev/null
+++ b/test/files/buildmanager/t2280/B.java
@@ -0,0 +1,2 @@
+public class B {}
+
diff --git a/test/files/buildmanager/t2280/t2280.check b/test/files/buildmanager/t2280/t2280.check
new file mode 100644
index 0000000000..7ea7511c63
--- /dev/null
+++ b/test/files/buildmanager/t2280/t2280.check
@@ -0,0 +1,6 @@
+builder > A.scala B.java
+compiling Set(A.scala, B.java)
+Changes: Map()
+builder > B.java
+compiling Set(B.java)
+Changes: Map(class B -> List())
diff --git a/test/files/buildmanager/t2280/t2280.test b/test/files/buildmanager/t2280/t2280.test
new file mode 100644
index 0000000000..2eda777853
--- /dev/null
+++ b/test/files/buildmanager/t2280/t2280.test
@@ -0,0 +1,2 @@
+>>compile A.scala B.java
+>>compile B.java
diff --git a/test/files/buildmanager/t2556_1/A.scala b/test/files/buildmanager/t2556_1/A.scala
new file mode 100644
index 0000000000..c6e200b217
--- /dev/null
+++ b/test/files/buildmanager/t2556_1/A.scala
@@ -0,0 +1,3 @@
+class A {
+ def x(i: Int) = i+"3"
+}
diff --git a/test/files/buildmanager/t2556_1/B.scala b/test/files/buildmanager/t2556_1/B.scala
new file mode 100644
index 0000000000..8529587b56
--- /dev/null
+++ b/test/files/buildmanager/t2556_1/B.scala
@@ -0,0 +1,3 @@
+class B extends A {
+ def x(s: String) = s+"5"
+}
diff --git a/test/files/buildmanager/t2556_1/t2556_1.changes/A2.scala b/test/files/buildmanager/t2556_1/t2556_1.changes/A2.scala
new file mode 100644
index 0000000000..4ac1045e13
--- /dev/null
+++ b/test/files/buildmanager/t2556_1/t2556_1.changes/A2.scala
@@ -0,0 +1,4 @@
+class A {
+ def x(i: String) = i+"3"
+}
+
diff --git a/test/files/buildmanager/t2556_1/t2556_1.check b/test/files/buildmanager/t2556_1/t2556_1.check
new file mode 100644
index 0000000000..dc9437fa7e
--- /dev/null
+++ b/test/files/buildmanager/t2556_1/t2556_1.check
@@ -0,0 +1,12 @@
+builder > A.scala B.scala
+compiling Set(A.scala, B.scala)
+Changes: Map()
+builder > A.scala
+compiling Set(A.scala)
+Changes: Map(class A -> List(Changed(Definition(A.x))[method x changed from (i: Int)java.lang.String to (i: java.lang.String)java.lang.String flags: <method>]))
+invalidate B.scala because inherited method changed [Changed(Definition(A.x))[method x changed from (i: Int)java.lang.String to (i: java.lang.String)java.lang.String flags: <method>]]
+compiling Set(B.scala)
+B.scala:2: error: overriding method x in class A of type (i: String)java.lang.String;
+ method x needs `override' modifier
+ def x(s: String) = s+"5"
+ ^
diff --git a/test/files/buildmanager/t2556_1/t2556_1.test b/test/files/buildmanager/t2556_1/t2556_1.test
new file mode 100644
index 0000000000..6f3bd03361
--- /dev/null
+++ b/test/files/buildmanager/t2556_1/t2556_1.test
@@ -0,0 +1,3 @@
+>>compile A.scala B.scala
+>>update A.scala=>A2.scala
+>>compile A.scala
diff --git a/test/files/buildmanager/t2556_2/A.scala b/test/files/buildmanager/t2556_2/A.scala
new file mode 100644
index 0000000000..b8da5c8fb1
--- /dev/null
+++ b/test/files/buildmanager/t2556_2/A.scala
@@ -0,0 +1,4 @@
+class A {
+ def x(i: Int) = i+"3"
+}
+
diff --git a/test/files/buildmanager/t2556_2/B.scala b/test/files/buildmanager/t2556_2/B.scala
new file mode 100644
index 0000000000..80ff25d0ca
--- /dev/null
+++ b/test/files/buildmanager/t2556_2/B.scala
@@ -0,0 +1,2 @@
+class B extends A
+
diff --git a/test/files/buildmanager/t2556_2/C.scala b/test/files/buildmanager/t2556_2/C.scala
new file mode 100644
index 0000000000..0ab13e3757
--- /dev/null
+++ b/test/files/buildmanager/t2556_2/C.scala
@@ -0,0 +1,4 @@
+class C extends B {
+ def x(s: String) = s+"5"
+}
+
diff --git a/test/files/buildmanager/t2556_2/t2556_2.changes/A2.scala b/test/files/buildmanager/t2556_2/t2556_2.changes/A2.scala
new file mode 100644
index 0000000000..4ac1045e13
--- /dev/null
+++ b/test/files/buildmanager/t2556_2/t2556_2.changes/A2.scala
@@ -0,0 +1,4 @@
+class A {
+ def x(i: String) = i+"3"
+}
+
diff --git a/test/files/buildmanager/t2556_2/t2556_2.check b/test/files/buildmanager/t2556_2/t2556_2.check
new file mode 100644
index 0000000000..a4d6724b11
--- /dev/null
+++ b/test/files/buildmanager/t2556_2/t2556_2.check
@@ -0,0 +1,13 @@
+builder > A.scala B.scala C.scala
+compiling Set(A.scala, B.scala, C.scala)
+Changes: Map()
+builder > A.scala
+compiling Set(A.scala)
+Changes: Map(class A -> List(Changed(Definition(A.x))[method x changed from (i: Int)java.lang.String to (i: java.lang.String)java.lang.String flags: <method>]))
+invalidate B.scala because inherited method changed [Changed(Definition(A.x))[method x changed from (i: Int)java.lang.String to (i: java.lang.String)java.lang.String flags: <method>]]
+invalidate C.scala because inherited method changed [Changed(Definition(A.x))[method x changed from (i: Int)java.lang.String to (i: java.lang.String)java.lang.String flags: <method>]]
+compiling Set(B.scala, C.scala)
+C.scala:2: error: overriding method x in class A of type (i: String)java.lang.String;
+ method x needs `override' modifier
+ def x(s: String) = s+"5"
+ ^
diff --git a/test/files/buildmanager/t2556_2/t2556_2.test b/test/files/buildmanager/t2556_2/t2556_2.test
new file mode 100644
index 0000000000..9f31bb6409
--- /dev/null
+++ b/test/files/buildmanager/t2556_2/t2556_2.test
@@ -0,0 +1,3 @@
+>>compile A.scala B.scala C.scala
+>>update A.scala=>A2.scala
+>>compile A.scala
diff --git a/test/files/buildmanager/t2556_3/A.scala b/test/files/buildmanager/t2556_3/A.scala
new file mode 100644
index 0000000000..089a05f493
--- /dev/null
+++ b/test/files/buildmanager/t2556_3/A.scala
@@ -0,0 +1,5 @@
+class A {
+ def x = 3
+}
+class B extends A
+
diff --git a/test/files/buildmanager/t2556_3/B.scala b/test/files/buildmanager/t2556_3/B.scala
new file mode 100644
index 0000000000..0ec5ae4b55
--- /dev/null
+++ b/test/files/buildmanager/t2556_3/B.scala
@@ -0,0 +1,5 @@
+object E {
+ def main(args: Array[String]) =
+ println( (new C).x )
+}
+
diff --git a/test/files/buildmanager/t2556_3/C.scala b/test/files/buildmanager/t2556_3/C.scala
new file mode 100644
index 0000000000..403df8455e
--- /dev/null
+++ b/test/files/buildmanager/t2556_3/C.scala
@@ -0,0 +1,2 @@
+class C extends B
+
diff --git a/test/files/buildmanager/t2556_3/t2556_3.changes/A2.scala b/test/files/buildmanager/t2556_3/t2556_3.changes/A2.scala
new file mode 100644
index 0000000000..21cb2779f9
--- /dev/null
+++ b/test/files/buildmanager/t2556_3/t2556_3.changes/A2.scala
@@ -0,0 +1,5 @@
+class A {
+ def x = 3
+}
+class B
+
diff --git a/test/files/buildmanager/t2556_3/t2556_3.check b/test/files/buildmanager/t2556_3/t2556_3.check
new file mode 100644
index 0000000000..af0c63eebc
--- /dev/null
+++ b/test/files/buildmanager/t2556_3/t2556_3.check
@@ -0,0 +1,18 @@
+builder > A.scala B.scala C.scala
+compiling Set(A.scala, B.scala, C.scala)
+Changes: Map()
+builder > A.scala
+compiling Set(A.scala)
+Changes: Map(class A -> List(), class B -> List(Changed(Class(B))[List((A,java.lang.Object), (ScalaObject,ScalaObject))]))
+invalidate C.scala because parents have changed [Changed(Class(B))[List((A,java.lang.Object), (ScalaObject,ScalaObject))]]
+invalidate B.scala because it references invalid (no longer inherited) definition [ParentChanged(Class(C))]
+compiling Set(B.scala, C.scala)
+B.scala:3: error: type mismatch;
+ found : C
+ required: ?{val x: ?}
+Note that implicit conversions are not applicable because they are ambiguous:
+ both method any2ArrowAssoc in object Predef of type [A](x: A)ArrowAssoc[A]
+ and method any2Ensuring in object Predef of type [A](x: A)Ensuring[A]
+ are possible conversion functions from C to ?{val x: ?}
+ println( (new C).x )
+ ^
diff --git a/test/files/buildmanager/t2556_3/t2556_3.test b/test/files/buildmanager/t2556_3/t2556_3.test
new file mode 100644
index 0000000000..9f31bb6409
--- /dev/null
+++ b/test/files/buildmanager/t2556_3/t2556_3.test
@@ -0,0 +1,3 @@
+>>compile A.scala B.scala C.scala
+>>update A.scala=>A2.scala
+>>compile A.scala
diff --git a/test/files/buildmanager/t2557/A.scala b/test/files/buildmanager/t2557/A.scala
new file mode 100644
index 0000000000..3be55f19a6
--- /dev/null
+++ b/test/files/buildmanager/t2557/A.scala
@@ -0,0 +1,4 @@
+trait A {
+ def x = 3
+}
+
diff --git a/test/files/buildmanager/t2557/B.scala b/test/files/buildmanager/t2557/B.scala
new file mode 100644
index 0000000000..ea86a90079
--- /dev/null
+++ b/test/files/buildmanager/t2557/B.scala
@@ -0,0 +1,4 @@
+trait B extends A {
+ override def x = super.x * 2
+}
+
diff --git a/test/files/buildmanager/t2557/C.scala b/test/files/buildmanager/t2557/C.scala
new file mode 100644
index 0000000000..dd575ac38d
--- /dev/null
+++ b/test/files/buildmanager/t2557/C.scala
@@ -0,0 +1,3 @@
+trait C extends A {
+ override def x = super.x + 5
+}
diff --git a/test/files/buildmanager/t2557/D.scala b/test/files/buildmanager/t2557/D.scala
new file mode 100644
index 0000000000..4e662a80ce
--- /dev/null
+++ b/test/files/buildmanager/t2557/D.scala
@@ -0,0 +1 @@
+trait D extends C with B
diff --git a/test/files/buildmanager/t2557/E.scala b/test/files/buildmanager/t2557/E.scala
new file mode 100644
index 0000000000..2aee552675
--- /dev/null
+++ b/test/files/buildmanager/t2557/E.scala
@@ -0,0 +1 @@
+trait E extends D
diff --git a/test/files/buildmanager/t2557/F.scala b/test/files/buildmanager/t2557/F.scala
new file mode 100644
index 0000000000..e1996704e7
--- /dev/null
+++ b/test/files/buildmanager/t2557/F.scala
@@ -0,0 +1,4 @@
+object F extends E {
+ def main(args: Array[String]) =
+ println(x)
+}
diff --git a/test/files/buildmanager/t2557/t2557.changes/D2.scala b/test/files/buildmanager/t2557/t2557.changes/D2.scala
new file mode 100644
index 0000000000..67295f8e6d
--- /dev/null
+++ b/test/files/buildmanager/t2557/t2557.changes/D2.scala
@@ -0,0 +1,2 @@
+trait D extends B with C
+
diff --git a/test/files/buildmanager/t2557/t2557.check b/test/files/buildmanager/t2557/t2557.check
new file mode 100644
index 0000000000..f51e801017
--- /dev/null
+++ b/test/files/buildmanager/t2557/t2557.check
@@ -0,0 +1,10 @@
+builder > A.scala B.scala C.scala D.scala E.scala F.scala
+compiling Set(A.scala, B.scala, C.scala, D.scala, E.scala, F.scala)
+Changes: Map()
+builder > D.scala
+compiling Set(D.scala)
+Changes: Map(trait D -> List(Changed(Class(D))[List((java.lang.Object,java.lang.Object), (C,B), (B,C))]))
+invalidate E.scala because parents have changed [Changed(Class(D))[List((java.lang.Object,java.lang.Object), (C,B), (B,C))]]
+invalidate F.scala because parents have changed [Changed(Class(D))[List((java.lang.Object,java.lang.Object), (C,B), (B,C))]]
+compiling Set(E.scala, F.scala)
+Changes: Map(object F -> List(), trait E -> List())
diff --git a/test/files/buildmanager/t2557/t2557.test b/test/files/buildmanager/t2557/t2557.test
new file mode 100644
index 0000000000..6b0103092f
--- /dev/null
+++ b/test/files/buildmanager/t2557/t2557.test
@@ -0,0 +1,3 @@
+>>compile A.scala B.scala C.scala D.scala E.scala F.scala
+>>update D.scala=>D2.scala
+>>compile D.scala
diff --git a/test/files/buildmanager/t2559/A.scala b/test/files/buildmanager/t2559/A.scala
new file mode 100644
index 0000000000..fb4f6e3545
--- /dev/null
+++ b/test/files/buildmanager/t2559/A.scala
@@ -0,0 +1,5 @@
+sealed trait A
+class B extends A
+class C extends A
+//class E extends A
+
diff --git a/test/files/buildmanager/t2559/D.scala b/test/files/buildmanager/t2559/D.scala
new file mode 100644
index 0000000000..4b8422db04
--- /dev/null
+++ b/test/files/buildmanager/t2559/D.scala
@@ -0,0 +1,8 @@
+object D {
+ def x(a: A) =
+ a match {
+ case _: B => ()
+ case _: C => ()
+ }
+}
+
diff --git a/test/files/buildmanager/t2559/t2559.changes/A2.scala b/test/files/buildmanager/t2559/t2559.changes/A2.scala
new file mode 100644
index 0000000000..8e90594e2c
--- /dev/null
+++ b/test/files/buildmanager/t2559/t2559.changes/A2.scala
@@ -0,0 +1,5 @@
+sealed trait A
+class B extends A
+class C extends A
+class E extends A
+
diff --git a/test/files/buildmanager/t2559/t2559.check b/test/files/buildmanager/t2559/t2559.check
new file mode 100644
index 0000000000..752278fbe8
--- /dev/null
+++ b/test/files/buildmanager/t2559/t2559.check
@@ -0,0 +1,14 @@
+builder > A.scala D.scala
+compiling Set(A.scala, D.scala)
+Changes: Map()
+builder > A.scala
+compiling Set(A.scala)
+Changes: Map(class B -> List(), class C -> List(), class E -> List(Changed(Class(A))[class E extends a sealed trait A]), trait A -> List())
+invalidate D.scala because it references changed class [Changed(Class(A))[class E extends a sealed trait A]]
+compiling Set(D.scala)
+D.scala:3: warning: match is not exhaustive!
+missing combination E
+
+ a match {
+ ^
+Changes: Map(object D -> List())
diff --git a/test/files/buildmanager/t2559/t2559.test b/test/files/buildmanager/t2559/t2559.test
new file mode 100644
index 0000000000..b787c5b39f
--- /dev/null
+++ b/test/files/buildmanager/t2559/t2559.test
@@ -0,0 +1,3 @@
+>>compile A.scala D.scala
+>>update A.scala=>A2.scala
+>>compile A.scala
diff --git a/test/files/buildmanager/t2562/A.scala b/test/files/buildmanager/t2562/A.scala
new file mode 100644
index 0000000000..2208585eed
--- /dev/null
+++ b/test/files/buildmanager/t2562/A.scala
@@ -0,0 +1,7 @@
+object A
+{
+ def x0 = B.x0
+ def x1 = B.x1
+ def x2 = B.x2
+ def x3 = 3
+}
diff --git a/test/files/buildmanager/t2562/B.scala b/test/files/buildmanager/t2562/B.scala
new file mode 100644
index 0000000000..6f658954e1
--- /dev/null
+++ b/test/files/buildmanager/t2562/B.scala
@@ -0,0 +1,8 @@
+object B
+{
+ def x0 = A.x1
+ def x1 = A.x2
+ def x2 = A.x3
+}
+
+
diff --git a/test/files/buildmanager/t2562/t2562.changes/A2.scala b/test/files/buildmanager/t2562/t2562.changes/A2.scala
new file mode 100644
index 0000000000..743609eb18
--- /dev/null
+++ b/test/files/buildmanager/t2562/t2562.changes/A2.scala
@@ -0,0 +1,8 @@
+object A
+{
+ def x0 = B.x0
+ def x1 = B.x1
+ def x2 = B.x2
+ def x3 = "3"
+}
+
diff --git a/test/files/buildmanager/t2562/t2562.check b/test/files/buildmanager/t2562/t2562.check
new file mode 100644
index 0000000000..813d2735e1
--- /dev/null
+++ b/test/files/buildmanager/t2562/t2562.check
@@ -0,0 +1,12 @@
+builder > A.scala B.scala
+compiling Set(A.scala, B.scala)
+Changes: Map()
+builder > A.scala
+compiling Set(A.scala)
+Changes: Map(object A -> List(Changed(Definition(A.x3))[method x3 changed from ()Int to ()java.lang.String flags: <method>]))
+invalidate B.scala because it references changed definition [Changed(Definition(A.x3))[method x3 changed from ()Int to ()java.lang.String flags: <method>]]
+compiling Set(B.scala)
+Changes: Map(object B -> List(Changed(Definition(B.x2))[method x2 changed from ()Int to ()java.lang.String flags: <method>]))
+invalidate A.scala because it references changed definition [Changed(Definition(B.x2))[method x2 changed from ()Int to ()java.lang.String flags: <method>]]
+compiling Set(A.scala, B.scala)
+Changes: Map(object A -> List(Changed(Definition(A.x0))[method x0 changed from ()Int to ()java.lang.String flags: <method>], Changed(Definition(A.x1))[method x1 changed from ()Int to ()java.lang.String flags: <method>], Changed(Definition(A.x2))[method x2 changed from ()Int to ()java.lang.String flags: <method>]), object B -> List(Changed(Definition(B.x0))[method x0 changed from ()Int to ()java.lang.String flags: <method>], Changed(Definition(B.x1))[method x1 changed from ()Int to ()java.lang.String flags: <method>]))
diff --git a/test/files/buildmanager/t2562/t2562.test b/test/files/buildmanager/t2562/t2562.test
new file mode 100644
index 0000000000..6f3bd03361
--- /dev/null
+++ b/test/files/buildmanager/t2562/t2562.test
@@ -0,0 +1,3 @@
+>>compile A.scala B.scala
+>>update A.scala=>A2.scala
+>>compile A.scala
diff --git a/test/files/buildmanager/t2649/A.scala b/test/files/buildmanager/t2649/A.scala
new file mode 100644
index 0000000000..86cc3f2c15
--- /dev/null
+++ b/test/files/buildmanager/t2649/A.scala
@@ -0,0 +1,3 @@
+object A {
+ def x(zz: Int, yy: Int) = yy - zz
+}
diff --git a/test/files/buildmanager/t2649/B.scala b/test/files/buildmanager/t2649/B.scala
new file mode 100644
index 0000000000..26c89518cb
--- /dev/null
+++ b/test/files/buildmanager/t2649/B.scala
@@ -0,0 +1,4 @@
+object B {
+ def main(args: Array[String]): Unit =
+ println( A.x(zz = 3, yy = 4) )
+}
diff --git a/test/files/buildmanager/t2649/t2649.changes/A2.scala b/test/files/buildmanager/t2649/t2649.changes/A2.scala
new file mode 100644
index 0000000000..9a6309fca3
--- /dev/null
+++ b/test/files/buildmanager/t2649/t2649.changes/A2.scala
@@ -0,0 +1,4 @@
+object A {
+ def x(yy: Int, zz: Int) = yy - zz
+}
+
diff --git a/test/files/buildmanager/t2649/t2649.check b/test/files/buildmanager/t2649/t2649.check
new file mode 100644
index 0000000000..5b698ec03f
--- /dev/null
+++ b/test/files/buildmanager/t2649/t2649.check
@@ -0,0 +1,9 @@
+builder > A.scala B.scala
+compiling Set(A.scala, B.scala)
+Changes: Map()
+builder > A.scala
+compiling Set(A.scala)
+Changes: Map(object A -> List(Changed(Definition(A.x))[method x changed from (zz: Int,yy: Int)Int to (yy: Int,zz: Int)Int flags: <method>]))
+invalidate B.scala because it references changed definition [Changed(Definition(A.x))[method x changed from (zz: Int,yy: Int)Int to (yy: Int,zz: Int)Int flags: <method>]]
+compiling Set(B.scala)
+Changes: Map(object B -> List())
diff --git a/test/files/buildmanager/t2649/t2649.test b/test/files/buildmanager/t2649/t2649.test
new file mode 100644
index 0000000000..6f3bd03361
--- /dev/null
+++ b/test/files/buildmanager/t2649/t2649.test
@@ -0,0 +1,3 @@
+>>compile A.scala B.scala
+>>update A.scala=>A2.scala
+>>compile A.scala
diff --git a/test/files/buildmanager/t2650_1/A.scala b/test/files/buildmanager/t2650_1/A.scala
new file mode 100644
index 0000000000..74714a3c47
--- /dev/null
+++ b/test/files/buildmanager/t2650_1/A.scala
@@ -0,0 +1,4 @@
+trait A {
+ type S[_]
+}
+
diff --git a/test/files/buildmanager/t2650_1/B.scala b/test/files/buildmanager/t2650_1/B.scala
new file mode 100644
index 0000000000..80f0e30259
--- /dev/null
+++ b/test/files/buildmanager/t2650_1/B.scala
@@ -0,0 +1,3 @@
+trait B extends A {
+ type F = S[Int]
+}
diff --git a/test/files/buildmanager/t2650_1/t2650_1.changes/A2.scala b/test/files/buildmanager/t2650_1/t2650_1.changes/A2.scala
new file mode 100644
index 0000000000..2b8ead4ff1
--- /dev/null
+++ b/test/files/buildmanager/t2650_1/t2650_1.changes/A2.scala
@@ -0,0 +1,3 @@
+trait A {
+ type S
+}
diff --git a/test/files/buildmanager/t2650_1/t2650_1.check b/test/files/buildmanager/t2650_1/t2650_1.check
new file mode 100644
index 0000000000..ecddb33620
--- /dev/null
+++ b/test/files/buildmanager/t2650_1/t2650_1.check
@@ -0,0 +1,11 @@
+builder > A.scala B.scala
+compiling Set(A.scala, B.scala)
+Changes: Map()
+builder > A.scala
+compiling Set(A.scala)
+Changes: Map(trait A -> List(Changed(Definition(A.S))[type S changed from A.this.S[_] to A.this.S flags: <deferred>]))
+invalidate B.scala because inherited method changed [Changed(Definition(A.S))[type S changed from A.this.S[_] to A.this.S flags: <deferred>]]
+compiling Set(B.scala)
+B.scala:2: error: B.this.S does not take type parameters
+ type F = S[Int]
+ ^
diff --git a/test/files/buildmanager/t2650_1/t2650_1.test b/test/files/buildmanager/t2650_1/t2650_1.test
new file mode 100644
index 0000000000..6f3bd03361
--- /dev/null
+++ b/test/files/buildmanager/t2650_1/t2650_1.test
@@ -0,0 +1,3 @@
+>>compile A.scala B.scala
+>>update A.scala=>A2.scala
+>>compile A.scala
diff --git a/test/files/buildmanager/t2650_2/A.scala b/test/files/buildmanager/t2650_2/A.scala
new file mode 100644
index 0000000000..bcea634485
--- /dev/null
+++ b/test/files/buildmanager/t2650_2/A.scala
@@ -0,0 +1,3 @@
+trait A {
+ type S = Int
+}
diff --git a/test/files/buildmanager/t2650_2/B.scala b/test/files/buildmanager/t2650_2/B.scala
new file mode 100644
index 0000000000..22a3a9a48e
--- /dev/null
+++ b/test/files/buildmanager/t2650_2/B.scala
@@ -0,0 +1,4 @@
+trait B extends A {
+ def x: S
+ def y: Int = x
+}
diff --git a/test/files/buildmanager/t2650_2/t2650_2.changes/A2.scala b/test/files/buildmanager/t2650_2/t2650_2.changes/A2.scala
new file mode 100644
index 0000000000..8274c1b62d
--- /dev/null
+++ b/test/files/buildmanager/t2650_2/t2650_2.changes/A2.scala
@@ -0,0 +1,4 @@
+trait A {
+ type S = Long
+}
+
diff --git a/test/files/buildmanager/t2650_2/t2650_2.check b/test/files/buildmanager/t2650_2/t2650_2.check
new file mode 100644
index 0000000000..7ab72fb619
--- /dev/null
+++ b/test/files/buildmanager/t2650_2/t2650_2.check
@@ -0,0 +1,13 @@
+builder > A.scala B.scala
+compiling Set(A.scala, B.scala)
+Changes: Map()
+builder > A.scala
+compiling Set(A.scala)
+Changes: Map(trait A -> List(Changed(Definition(A.S))[type S changed from A.this.S to A.this.S flags: ]))
+invalidate B.scala because inherited method changed [Changed(Definition(A.S))[type S changed from A.this.S to A.this.S flags: ]]
+compiling Set(B.scala)
+B.scala:3: error: type mismatch;
+ found : B.this.S
+ required: Int
+ def y: Int = x
+ ^
diff --git a/test/files/buildmanager/t2650_2/t2650_2.test b/test/files/buildmanager/t2650_2/t2650_2.test
new file mode 100644
index 0000000000..6f3bd03361
--- /dev/null
+++ b/test/files/buildmanager/t2650_2/t2650_2.test
@@ -0,0 +1,3 @@
+>>compile A.scala B.scala
+>>update A.scala=>A2.scala
+>>compile A.scala
diff --git a/test/files/buildmanager/t2650_3/A.scala b/test/files/buildmanager/t2650_3/A.scala
new file mode 100644
index 0000000000..cd13843eb9
--- /dev/null
+++ b/test/files/buildmanager/t2650_3/A.scala
@@ -0,0 +1,4 @@
+trait A {
+ type T = Int
+ def x: T
+}
diff --git a/test/files/buildmanager/t2650_3/B.scala b/test/files/buildmanager/t2650_3/B.scala
new file mode 100644
index 0000000000..46a8cf270a
--- /dev/null
+++ b/test/files/buildmanager/t2650_3/B.scala
@@ -0,0 +1,3 @@
+object B {
+ def x(a: A): Int = a.x
+}
diff --git a/test/files/buildmanager/t2650_3/t2650_3.changes/A2.scala b/test/files/buildmanager/t2650_3/t2650_3.changes/A2.scala
new file mode 100644
index 0000000000..e5667b2539
--- /dev/null
+++ b/test/files/buildmanager/t2650_3/t2650_3.changes/A2.scala
@@ -0,0 +1,4 @@
+trait A {
+ type T = Long
+ def x: T
+}
diff --git a/test/files/buildmanager/t2650_3/t2650_3.check b/test/files/buildmanager/t2650_3/t2650_3.check
new file mode 100644
index 0000000000..27be2f5ae8
--- /dev/null
+++ b/test/files/buildmanager/t2650_3/t2650_3.check
@@ -0,0 +1,13 @@
+builder > A.scala B.scala
+compiling Set(A.scala, B.scala)
+Changes: Map()
+builder > A.scala
+compiling Set(A.scala)
+Changes: Map(trait A -> List(Changed(Definition(A.T))[type T changed from A.this.T to A.this.T flags: ]))
+invalidate B.scala because it references changed definition [Changed(Definition(A.T))[type T changed from A.this.T to A.this.T flags: ]]
+compiling Set(B.scala)
+B.scala:2: error: type mismatch;
+ found : a.T
+ required: Int
+ def x(a: A): Int = a.x
+ ^
diff --git a/test/files/buildmanager/t2650_3/t2650_3.test b/test/files/buildmanager/t2650_3/t2650_3.test
new file mode 100644
index 0000000000..6f3bd03361
--- /dev/null
+++ b/test/files/buildmanager/t2650_3/t2650_3.test
@@ -0,0 +1,3 @@
+>>compile A.scala B.scala
+>>update A.scala=>A2.scala
+>>compile A.scala
diff --git a/test/files/buildmanager/t2650_4/A.scala b/test/files/buildmanager/t2650_4/A.scala
new file mode 100644
index 0000000000..b9a519eb48
--- /dev/null
+++ b/test/files/buildmanager/t2650_4/A.scala
@@ -0,0 +1,5 @@
+trait A {
+ type T = Int
+ type T2 = T
+ def x: T2
+}
diff --git a/test/files/buildmanager/t2650_4/B.scala b/test/files/buildmanager/t2650_4/B.scala
new file mode 100644
index 0000000000..46a8cf270a
--- /dev/null
+++ b/test/files/buildmanager/t2650_4/B.scala
@@ -0,0 +1,3 @@
+object B {
+ def x(a: A): Int = a.x
+}
diff --git a/test/files/buildmanager/t2650_4/t2650_4.changes/A2.scala b/test/files/buildmanager/t2650_4/t2650_4.changes/A2.scala
new file mode 100644
index 0000000000..0220e7b7bc
--- /dev/null
+++ b/test/files/buildmanager/t2650_4/t2650_4.changes/A2.scala
@@ -0,0 +1,5 @@
+trait A {
+ type T = Long
+ type T2 = T
+ def x: T2
+}
diff --git a/test/files/buildmanager/t2650_4/t2650_4.check b/test/files/buildmanager/t2650_4/t2650_4.check
new file mode 100644
index 0000000000..ba092d013f
--- /dev/null
+++ b/test/files/buildmanager/t2650_4/t2650_4.check
@@ -0,0 +1,13 @@
+builder > A.scala B.scala
+compiling Set(A.scala, B.scala)
+Changes: Map()
+builder > A.scala
+compiling Set(A.scala)
+Changes: Map(trait A -> List(Changed(Definition(A.T))[type T changed from A.this.T to A.this.T flags: ]))
+invalidate B.scala because it references changed definition [Changed(Definition(A.T))[type T changed from A.this.T to A.this.T flags: ]]
+compiling Set(B.scala)
+B.scala:2: error: type mismatch;
+ found : a.T2
+ required: Int
+ def x(a: A): Int = a.x
+ ^
diff --git a/test/files/buildmanager/t2650_4/t2650_4.test b/test/files/buildmanager/t2650_4/t2650_4.test
new file mode 100644
index 0000000000..6f3bd03361
--- /dev/null
+++ b/test/files/buildmanager/t2650_4/t2650_4.test
@@ -0,0 +1,3 @@
+>>compile A.scala B.scala
+>>update A.scala=>A2.scala
+>>compile A.scala
diff --git a/test/files/buildmanager/t2651_2/A.scala b/test/files/buildmanager/t2651_2/A.scala
new file mode 100644
index 0000000000..d712f6febe
--- /dev/null
+++ b/test/files/buildmanager/t2651_2/A.scala
@@ -0,0 +1 @@
+trait A[T]
diff --git a/test/files/buildmanager/t2651_2/t2651_2.changes/A2.scala b/test/files/buildmanager/t2651_2/t2651_2.changes/A2.scala
new file mode 100644
index 0000000000..7fb573e077
--- /dev/null
+++ b/test/files/buildmanager/t2651_2/t2651_2.changes/A2.scala
@@ -0,0 +1 @@
+trait A[S]
diff --git a/test/files/buildmanager/t2651_2/t2651_2.check b/test/files/buildmanager/t2651_2/t2651_2.check
new file mode 100644
index 0000000000..dd789b7565
--- /dev/null
+++ b/test/files/buildmanager/t2651_2/t2651_2.check
@@ -0,0 +1,6 @@
+builder > A.scala
+compiling Set(A.scala)
+Changes: Map()
+builder > A.scala
+compiling Set(A.scala)
+Changes: Map(trait A -> List())
diff --git a/test/files/buildmanager/t2651_2/t2651_2.test b/test/files/buildmanager/t2651_2/t2651_2.test
new file mode 100644
index 0000000000..d0614473ce
--- /dev/null
+++ b/test/files/buildmanager/t2651_2/t2651_2.test
@@ -0,0 +1,3 @@
+>>compile A.scala
+>>update A.scala=>A2.scala
+>>compile A.scala
diff --git a/test/files/buildmanager/t2651_3/A.scala b/test/files/buildmanager/t2651_3/A.scala
new file mode 100644
index 0000000000..14f9e4662f
--- /dev/null
+++ b/test/files/buildmanager/t2651_3/A.scala
@@ -0,0 +1,3 @@
+trait A[T, S] {
+ def x: T
+}
diff --git a/test/files/buildmanager/t2651_3/t2651_3.changes/A2.scala b/test/files/buildmanager/t2651_3/t2651_3.changes/A2.scala
new file mode 100644
index 0000000000..51bf27d1fa
--- /dev/null
+++ b/test/files/buildmanager/t2651_3/t2651_3.changes/A2.scala
@@ -0,0 +1,3 @@
+trait A[T, S] {
+ def x: S
+}
diff --git a/test/files/buildmanager/t2651_3/t2651_3.check b/test/files/buildmanager/t2651_3/t2651_3.check
new file mode 100644
index 0000000000..d4bac196e9
--- /dev/null
+++ b/test/files/buildmanager/t2651_3/t2651_3.check
@@ -0,0 +1,6 @@
+builder > A.scala
+compiling Set(A.scala)
+Changes: Map()
+builder > A.scala
+compiling Set(A.scala)
+Changes: Map(trait A -> List(Changed(Definition(A.x))[method x changed from ()T to ()S flags: <deferred> <method>]))
diff --git a/test/files/buildmanager/t2651_3/t2651_3.test b/test/files/buildmanager/t2651_3/t2651_3.test
new file mode 100644
index 0000000000..d0614473ce
--- /dev/null
+++ b/test/files/buildmanager/t2651_3/t2651_3.test
@@ -0,0 +1,3 @@
+>>compile A.scala
+>>update A.scala=>A2.scala
+>>compile A.scala
diff --git a/test/files/buildmanager/t2651_4/A.scala b/test/files/buildmanager/t2651_4/A.scala
new file mode 100644
index 0000000000..63f2a1643e
--- /dev/null
+++ b/test/files/buildmanager/t2651_4/A.scala
@@ -0,0 +1,5 @@
+trait A[T, S] {
+ def x: T
+ def y(a: T)
+ def z[B <: T]
+}
diff --git a/test/files/buildmanager/t2651_4/B.scala b/test/files/buildmanager/t2651_4/B.scala
new file mode 100644
index 0000000000..b33dbde676
--- /dev/null
+++ b/test/files/buildmanager/t2651_4/B.scala
@@ -0,0 +1,3 @@
+trait B extends A[Int, String] {
+ def x = 3
+}
diff --git a/test/files/buildmanager/t2651_4/t2651_4.changes/A2.scala b/test/files/buildmanager/t2651_4/t2651_4.changes/A2.scala
new file mode 100644
index 0000000000..f155129d13
--- /dev/null
+++ b/test/files/buildmanager/t2651_4/t2651_4.changes/A2.scala
@@ -0,0 +1,5 @@
+trait A[S, T] {
+ def x: T
+ def y(a: T)
+ def z[B <: T]
+}
diff --git a/test/files/buildmanager/t2651_4/t2651_4.check b/test/files/buildmanager/t2651_4/t2651_4.check
new file mode 100644
index 0000000000..c4ce382b5f
--- /dev/null
+++ b/test/files/buildmanager/t2651_4/t2651_4.check
@@ -0,0 +1,13 @@
+builder > A.scala B.scala
+compiling Set(A.scala, B.scala)
+Changes: Map()
+builder > A.scala
+compiling Set(A.scala)
+Changes: Map(trait A -> List(Changed(Definition(A.x))[method x changed from ()T to ()T flags: <deferred> <method>], Changed(Definition(A.y))[method y changed from (a: T)Unit to (a: T)Unit flags: <deferred> <method>], Changed(Definition(A.z))[method z changed from [B <: T]()Unit to [B <: T]()Unit flags: <deferred> <method>]))
+invalidate B.scala because inherited method changed [Changed(Definition(A.x))[method x changed from ()T to ()T flags: <deferred> <method>]]
+compiling Set(B.scala)
+B.scala:2: error: type mismatch;
+ found : Int(3)
+ required: String
+ def x = 3
+ ^
diff --git a/test/files/buildmanager/t2651_4/t2651_4.test b/test/files/buildmanager/t2651_4/t2651_4.test
new file mode 100644
index 0000000000..6f3bd03361
--- /dev/null
+++ b/test/files/buildmanager/t2651_4/t2651_4.test
@@ -0,0 +1,3 @@
+>>compile A.scala B.scala
+>>update A.scala=>A2.scala
+>>compile A.scala
diff --git a/test/files/buildmanager/t2652/A.scala b/test/files/buildmanager/t2652/A.scala
new file mode 100644
index 0000000000..a62506e890
--- /dev/null
+++ b/test/files/buildmanager/t2652/A.scala
@@ -0,0 +1,3 @@
+class A {
+ def x[T](t: T) = t
+}
diff --git a/test/files/buildmanager/t2652/B.scala b/test/files/buildmanager/t2652/B.scala
new file mode 100644
index 0000000000..86d08f0d3d
--- /dev/null
+++ b/test/files/buildmanager/t2652/B.scala
@@ -0,0 +1,4 @@
+object B {
+ val y = (new A).x(3)
+}
+
diff --git a/test/files/buildmanager/t2652/t2652.changes/A2.scala b/test/files/buildmanager/t2652/t2652.changes/A2.scala
new file mode 100644
index 0000000000..29135c0e94
--- /dev/null
+++ b/test/files/buildmanager/t2652/t2652.changes/A2.scala
@@ -0,0 +1,4 @@
+class A {
+ def x[@specialized T](t: T) = t
+}
+
diff --git a/test/files/buildmanager/t2652/t2652.check b/test/files/buildmanager/t2652/t2652.check
new file mode 100644
index 0000000000..77a27a727f
--- /dev/null
+++ b/test/files/buildmanager/t2652/t2652.check
@@ -0,0 +1,9 @@
+builder > A.scala B.scala
+compiling Set(A.scala, B.scala)
+Changes: Map()
+builder > A.scala
+compiling Set(A.scala)
+Changes: Map(class A -> List(Changed(Definition(A.x))[method x changed from [T](t: T)T to [T](t: T)T flags: <method>]))
+invalidate B.scala because it references changed definition [Changed(Definition(A.x))[method x changed from [T](t: T)T to [T](t: T)T flags: <method>]]
+compiling Set(B.scala)
+Changes: Map(object B -> List())
diff --git a/test/files/buildmanager/t2652/t2652.test b/test/files/buildmanager/t2652/t2652.test
new file mode 100644
index 0000000000..6f3bd03361
--- /dev/null
+++ b/test/files/buildmanager/t2652/t2652.test
@@ -0,0 +1,3 @@
+>>compile A.scala B.scala
+>>update A.scala=>A2.scala
+>>compile A.scala
diff --git a/test/files/buildmanager/t2653/A.scala b/test/files/buildmanager/t2653/A.scala
new file mode 100644
index 0000000000..fb17a158c7
--- /dev/null
+++ b/test/files/buildmanager/t2653/A.scala
@@ -0,0 +1,2 @@
+class A[+T]
+
diff --git a/test/files/buildmanager/t2653/B.scala b/test/files/buildmanager/t2653/B.scala
new file mode 100644
index 0000000000..8f55a88e05
--- /dev/null
+++ b/test/files/buildmanager/t2653/B.scala
@@ -0,0 +1,3 @@
+object B {
+ val a: A[Any] = new A[Int]
+}
diff --git a/test/files/buildmanager/t2653/t2653.changes/A2.scala b/test/files/buildmanager/t2653/t2653.changes/A2.scala
new file mode 100644
index 0000000000..51d13cce6e
--- /dev/null
+++ b/test/files/buildmanager/t2653/t2653.changes/A2.scala
@@ -0,0 +1,2 @@
+class A[T]
+
diff --git a/test/files/buildmanager/t2653/t2653.check b/test/files/buildmanager/t2653/t2653.check
new file mode 100644
index 0000000000..0d40601962
--- /dev/null
+++ b/test/files/buildmanager/t2653/t2653.check
@@ -0,0 +1,13 @@
+builder > A.scala B.scala
+compiling Set(A.scala, B.scala)
+Changes: Map()
+builder > A.scala
+compiling Set(A.scala)
+Changes: Map(class A -> List(Changed(Class(A))[ tparams: List((type T,type T))], Changed(Definition(A.<init>))[constructor A changed from ()A[T] to ()A[T] flags: <method>]))
+invalidate B.scala because it references changed class [Changed(Class(A))[ tparams: List((type T,type T))]]
+compiling Set(B.scala)
+B.scala:2: error: type mismatch;
+ found : A[Int]
+ required: A[Any]
+ val a: A[Any] = new A[Int]
+ ^
diff --git a/test/files/buildmanager/t2653/t2653.test b/test/files/buildmanager/t2653/t2653.test
new file mode 100644
index 0000000000..6f3bd03361
--- /dev/null
+++ b/test/files/buildmanager/t2653/t2653.test
@@ -0,0 +1,3 @@
+>>compile A.scala B.scala
+>>update A.scala=>A2.scala
+>>compile A.scala
diff --git a/test/files/buildmanager/t2654/A.scala b/test/files/buildmanager/t2654/A.scala
new file mode 100644
index 0000000000..75f396d039
--- /dev/null
+++ b/test/files/buildmanager/t2654/A.scala
@@ -0,0 +1,2 @@
+class A
+
diff --git a/test/files/buildmanager/t2654/B.scala b/test/files/buildmanager/t2654/B.scala
new file mode 100644
index 0000000000..a18aec3dbe
--- /dev/null
+++ b/test/files/buildmanager/t2654/B.scala
@@ -0,0 +1 @@
+class B extends A
diff --git a/test/files/buildmanager/t2654/t2654.changes/A2.scala b/test/files/buildmanager/t2654/t2654.changes/A2.scala
new file mode 100644
index 0000000000..c302edbd85
--- /dev/null
+++ b/test/files/buildmanager/t2654/t2654.changes/A2.scala
@@ -0,0 +1,4 @@
+class A {
+ private def x = 5
+}
+
diff --git a/test/files/buildmanager/t2654/t2654.check b/test/files/buildmanager/t2654/t2654.check
new file mode 100644
index 0000000000..68f6e8efc0
--- /dev/null
+++ b/test/files/buildmanager/t2654/t2654.check
@@ -0,0 +1,6 @@
+builder > A.scala B.scala
+compiling Set(A.scala, B.scala)
+Changes: Map()
+builder > A.scala
+compiling Set(A.scala)
+Changes: Map(class A -> List())
diff --git a/test/files/buildmanager/t2654/t2654.test b/test/files/buildmanager/t2654/t2654.test
new file mode 100644
index 0000000000..6f3bd03361
--- /dev/null
+++ b/test/files/buildmanager/t2654/t2654.test
@@ -0,0 +1,3 @@
+>>compile A.scala B.scala
+>>update A.scala=>A2.scala
+>>compile A.scala
diff --git a/test/files/buildmanager/t2655/A.scala b/test/files/buildmanager/t2655/A.scala
new file mode 100644
index 0000000000..b2c54ac47d
--- /dev/null
+++ b/test/files/buildmanager/t2655/A.scala
@@ -0,0 +1,4 @@
+object A {
+ def x(i: => String) = ()
+}
+
diff --git a/test/files/buildmanager/t2655/B.scala b/test/files/buildmanager/t2655/B.scala
new file mode 100644
index 0000000000..6c1918c0fb
--- /dev/null
+++ b/test/files/buildmanager/t2655/B.scala
@@ -0,0 +1,3 @@
+object B {
+ val x = A.x("3")
+}
diff --git a/test/files/buildmanager/t2655/t2655.changes/A2.scala b/test/files/buildmanager/t2655/t2655.changes/A2.scala
new file mode 100644
index 0000000000..0d6a7c69bb
--- /dev/null
+++ b/test/files/buildmanager/t2655/t2655.changes/A2.scala
@@ -0,0 +1,4 @@
+object A {
+ def x(i: Function0[String]) = ()
+}
+
diff --git a/test/files/buildmanager/t2655/t2655.check b/test/files/buildmanager/t2655/t2655.check
new file mode 100644
index 0000000000..a4a071ed70
--- /dev/null
+++ b/test/files/buildmanager/t2655/t2655.check
@@ -0,0 +1,13 @@
+builder > A.scala B.scala
+compiling Set(A.scala, B.scala)
+Changes: Map()
+builder > A.scala
+compiling Set(A.scala)
+Changes: Map(object A -> List(Changed(Definition(A.x))[method x changed from (i: Function0)Unit to (i: Function0)Unit flags: <method>]))
+invalidate B.scala because it references changed definition [Changed(Definition(A.x))[method x changed from (i: Function0)Unit to (i: Function0)Unit flags: <method>]]
+compiling Set(B.scala)
+B.scala:2: error: type mismatch;
+ found : java.lang.String("3")
+ required: () => String
+ val x = A.x("3")
+ ^
diff --git a/test/files/buildmanager/t2655/t2655.test b/test/files/buildmanager/t2655/t2655.test
new file mode 100644
index 0000000000..6f3bd03361
--- /dev/null
+++ b/test/files/buildmanager/t2655/t2655.test
@@ -0,0 +1,3 @@
+>>compile A.scala B.scala
+>>update A.scala=>A2.scala
+>>compile A.scala
diff --git a/test/files/buildmanager/t2657/A.scala b/test/files/buildmanager/t2657/A.scala
new file mode 100644
index 0000000000..2a6c62d29c
--- /dev/null
+++ b/test/files/buildmanager/t2657/A.scala
@@ -0,0 +1,3 @@
+class A {
+ implicit def y(i: Int): String = i.toString
+}
diff --git a/test/files/buildmanager/t2657/B.scala b/test/files/buildmanager/t2657/B.scala
new file mode 100644
index 0000000000..77869890db
--- /dev/null
+++ b/test/files/buildmanager/t2657/B.scala
@@ -0,0 +1,4 @@
+object B extends A {
+ val x: String = 3
+}
+
diff --git a/test/files/buildmanager/t2657/t2657.changes/A2.scala b/test/files/buildmanager/t2657/t2657.changes/A2.scala
new file mode 100644
index 0000000000..7dc99d425e
--- /dev/null
+++ b/test/files/buildmanager/t2657/t2657.changes/A2.scala
@@ -0,0 +1,3 @@
+class A {
+ def y(i: Int): String = i.toString
+}
diff --git a/test/files/buildmanager/t2657/t2657.check b/test/files/buildmanager/t2657/t2657.check
new file mode 100644
index 0000000000..9713f66024
--- /dev/null
+++ b/test/files/buildmanager/t2657/t2657.check
@@ -0,0 +1,13 @@
+builder > A.scala B.scala
+compiling Set(A.scala, B.scala)
+Changes: Map()
+builder > A.scala
+compiling Set(A.scala)
+Changes: Map(class A -> List(Changed(Definition(A.y))[method y changed from (i: Int)java.lang.String to (i: Int)java.lang.String flags: implicit <method>]))
+invalidate B.scala because inherited method changed [Changed(Definition(A.y))[method y changed from (i: Int)java.lang.String to (i: Int)java.lang.String flags: implicit <method>]]
+compiling Set(B.scala)
+B.scala:2: error: type mismatch;
+ found : Int(3)
+ required: String
+ val x: String = 3
+ ^
diff --git a/test/files/buildmanager/t2657/t2657.test b/test/files/buildmanager/t2657/t2657.test
new file mode 100644
index 0000000000..6f3bd03361
--- /dev/null
+++ b/test/files/buildmanager/t2657/t2657.test
@@ -0,0 +1,3 @@
+>>compile A.scala B.scala
+>>update A.scala=>A2.scala
+>>compile A.scala
diff --git a/test/files/buildmanager/t2789/A.scala b/test/files/buildmanager/t2789/A.scala
new file mode 100644
index 0000000000..08d5bc840c
--- /dev/null
+++ b/test/files/buildmanager/t2789/A.scala
@@ -0,0 +1,5 @@
+class A {
+ implicit def e: E = new E
+ def x(i: Int)(implicit y: E): String = ""
+}
+class E
diff --git a/test/files/buildmanager/t2789/B.scala b/test/files/buildmanager/t2789/B.scala
new file mode 100644
index 0000000000..dcefbeec1b
--- /dev/null
+++ b/test/files/buildmanager/t2789/B.scala
@@ -0,0 +1,3 @@
+object B extends A {
+ val y = x(3)
+}
diff --git a/test/files/buildmanager/t2789/t2789.changes/A2.scala b/test/files/buildmanager/t2789/t2789.changes/A2.scala
new file mode 100644
index 0000000000..4ba3814e71
--- /dev/null
+++ b/test/files/buildmanager/t2789/t2789.changes/A2.scala
@@ -0,0 +1,5 @@
+class A {
+ def e: E = new E
+ def x(i: Int)(implicit y: E): String = ""
+}
+class E
diff --git a/test/files/buildmanager/t2789/t2789.check b/test/files/buildmanager/t2789/t2789.check
new file mode 100644
index 0000000000..78c5119355
--- /dev/null
+++ b/test/files/buildmanager/t2789/t2789.check
@@ -0,0 +1,11 @@
+builder > A.scala B.scala
+compiling Set(A.scala, B.scala)
+Changes: Map()
+builder > A.scala
+compiling Set(A.scala)
+Changes: Map(class A -> List(Changed(Definition(A.e))[method e changed from ()E to ()E flags: implicit <method>]), class E -> List())
+invalidate B.scala because inherited method changed [Changed(Definition(A.e))[method e changed from ()E to ()E flags: implicit <method>]]
+compiling Set(B.scala)
+B.scala:2: error: could not find implicit value for parameter y: E
+ val y = x(3)
+ ^
diff --git a/test/files/buildmanager/t2789/t2789.test b/test/files/buildmanager/t2789/t2789.test
new file mode 100644
index 0000000000..6f3bd03361
--- /dev/null
+++ b/test/files/buildmanager/t2789/t2789.test
@@ -0,0 +1,3 @@
+>>compile A.scala B.scala
+>>update A.scala=>A2.scala
+>>compile A.scala
diff --git a/test/files/buildmanager/t2790/A.scala b/test/files/buildmanager/t2790/A.scala
new file mode 100644
index 0000000000..6e9c1a90db
--- /dev/null
+++ b/test/files/buildmanager/t2790/A.scala
@@ -0,0 +1,5 @@
+object A {
+ def x(f: String, g: Int): Int = g
+ def x(f: Int, g: Int = 3): Int = g
+}
+
diff --git a/test/files/buildmanager/t2790/B.scala b/test/files/buildmanager/t2790/B.scala
new file mode 100644
index 0000000000..441055ca12
--- /dev/null
+++ b/test/files/buildmanager/t2790/B.scala
@@ -0,0 +1,4 @@
+object B {
+ val y = A.x(5)
+}
+
diff --git a/test/files/buildmanager/t2790/t2790.changes/A2.scala b/test/files/buildmanager/t2790/t2790.changes/A2.scala
new file mode 100644
index 0000000000..704ef4e96e
--- /dev/null
+++ b/test/files/buildmanager/t2790/t2790.changes/A2.scala
@@ -0,0 +1,4 @@
+object A {
+ def x(f: String, g: Int = 3): Int = g
+ def x(f: Int, g: Int): Int = g
+}
diff --git a/test/files/buildmanager/t2790/t2790.check b/test/files/buildmanager/t2790/t2790.check
new file mode 100644
index 0000000000..065956765a
--- /dev/null
+++ b/test/files/buildmanager/t2790/t2790.check
@@ -0,0 +1,14 @@
+builder > A.scala B.scala
+compiling Set(A.scala, B.scala)
+Changes: Map()
+builder > A.scala
+compiling Set(A.scala)
+Changes: Map(object A -> List(Added(Definition(A.x)), Changed(Definition(A.x))[value x changed from (f: java.lang.String,g: Int)Int to (f: java.lang.String,g: Int)Int <and> (f: Int,g: Int)Int flags: <method>]))
+invalidate B.scala because it references changed definition [Changed(Definition(A.x))[value x changed from (f: java.lang.String,g: Int)Int to (f: java.lang.String,g: Int)Int <and> (f: Int,g: Int)Int flags: <method>]]
+compiling Set(B.scala)
+B.scala:2: error: type mismatch;
+ found : Int(5)
+ required: String
+Error occured in an application involving default arguments.
+ val y = A.x(5)
+ ^
diff --git a/test/files/buildmanager/t2790/t2790.test b/test/files/buildmanager/t2790/t2790.test
new file mode 100644
index 0000000000..6f3bd03361
--- /dev/null
+++ b/test/files/buildmanager/t2790/t2790.test
@@ -0,0 +1,3 @@
+>>compile A.scala B.scala
+>>update A.scala=>A2.scala
+>>compile A.scala
diff --git a/test/files/buildmanager/t3045/A.java b/test/files/buildmanager/t3045/A.java
new file mode 100644
index 0000000000..d1acb00cd6
--- /dev/null
+++ b/test/files/buildmanager/t3045/A.java
@@ -0,0 +1,7 @@
+public interface A {
+ public class C implements A {}
+}
+
+class B {
+ static class C {}
+}
diff --git a/test/files/buildmanager/t3045/t3045.check b/test/files/buildmanager/t3045/t3045.check
new file mode 100644
index 0000000000..5e4e71e045
--- /dev/null
+++ b/test/files/buildmanager/t3045/t3045.check
@@ -0,0 +1,3 @@
+builder > A.java
+compiling Set(A.java)
+Changes: Map()
diff --git a/test/files/buildmanager/t3045/t3045.test b/test/files/buildmanager/t3045/t3045.test
new file mode 100644
index 0000000000..6cf7e35543
--- /dev/null
+++ b/test/files/buildmanager/t3045/t3045.test
@@ -0,0 +1 @@
+>>compile A.java
diff --git a/test/files/buildmanager/t3054/bar/Bar.java b/test/files/buildmanager/t3054/bar/Bar.java
new file mode 100644
index 0000000000..e1b056d4e5
--- /dev/null
+++ b/test/files/buildmanager/t3054/bar/Bar.java
@@ -0,0 +1,7 @@
+package bar;
+import foo.Foo$;
+
+
+public class Bar {
+ void bar() { Foo$.MODULE$.foo(); }
+}
diff --git a/test/files/buildmanager/t3054/foo/Foo.scala b/test/files/buildmanager/t3054/foo/Foo.scala
new file mode 100644
index 0000000000..c4838b9958
--- /dev/null
+++ b/test/files/buildmanager/t3054/foo/Foo.scala
@@ -0,0 +1,5 @@
+package foo
+
+class Foo {
+ def foo = println("foo")
+}
diff --git a/test/files/buildmanager/t3054/t3054.check b/test/files/buildmanager/t3054/t3054.check
new file mode 100644
index 0000000000..97cca8862e
--- /dev/null
+++ b/test/files/buildmanager/t3054/t3054.check
@@ -0,0 +1,3 @@
+builder > bar/Bar.java foo/Foo.scala
+compiling Set(bar/Bar.java, foo/Foo.scala)
+Changes: Map()
diff --git a/test/files/buildmanager/t3054/t3054.test b/test/files/buildmanager/t3054/t3054.test
new file mode 100644
index 0000000000..903df24b13
--- /dev/null
+++ b/test/files/buildmanager/t3054/t3054.test
@@ -0,0 +1 @@
+>>compile bar/Bar.java foo/Foo.scala
diff --git a/test/files/buildmanager/t3133/A.java b/test/files/buildmanager/t3133/A.java
new file mode 100644
index 0000000000..9cf4d96bd4
--- /dev/null
+++ b/test/files/buildmanager/t3133/A.java
@@ -0,0 +1,7 @@
+public class A {
+ class Foo {}
+
+ public A(Foo a) {}
+
+ private void bar(Foo z) {}
+}
diff --git a/test/files/buildmanager/t3133/t3133.check b/test/files/buildmanager/t3133/t3133.check
new file mode 100644
index 0000000000..5e4e71e045
--- /dev/null
+++ b/test/files/buildmanager/t3133/t3133.check
@@ -0,0 +1,3 @@
+builder > A.java
+compiling Set(A.java)
+Changes: Map()
diff --git a/test/files/buildmanager/t3133/t3133.test b/test/files/buildmanager/t3133/t3133.test
new file mode 100644
index 0000000000..6cf7e35543
--- /dev/null
+++ b/test/files/buildmanager/t3133/t3133.test
@@ -0,0 +1 @@
+>>compile A.java
diff --git a/test/files/cli/test1/Main.check.j9vm5 b/test/files/cli/test1/Main.check.j9vm5
deleted file mode 100644
index de454ef478..0000000000
--- a/test/files/cli/test1/Main.check.j9vm5
+++ /dev/null
@@ -1,4 +0,0 @@
-env: -cpp: No such file or directory
-env: test1.Main: No such file or directory
-env: -cp: No such file or directory
-1: test 3 passed
diff --git a/test/files/cli/test1/Main.check.java b/test/files/cli/test1/Main.check.java
deleted file mode 100644
index 64410de98f..0000000000
--- a/test/files/cli/test1/Main.check.java
+++ /dev/null
@@ -1,6 +0,0 @@
-Unrecognized option: -cpp
-Could not create the Java virtual machine.
-1: test 1 passed (1)
-1: test 2 passed (1)
-1: test 3 passed (1)
-1: test 4 passed (2)
diff --git a/test/files/cli/test1/Main.check.java5 b/test/files/cli/test1/Main.check.java5
deleted file mode 100644
index 64410de98f..0000000000
--- a/test/files/cli/test1/Main.check.java5
+++ /dev/null
@@ -1,6 +0,0 @@
-Unrecognized option: -cpp
-Could not create the Java virtual machine.
-1: test 1 passed (1)
-1: test 2 passed (1)
-1: test 3 passed (1)
-1: test 4 passed (2)
diff --git a/test/files/cli/test1/Main.check.java5_api b/test/files/cli/test1/Main.check.java5_api
deleted file mode 100644
index 8693a5d92f..0000000000
--- a/test/files/cli/test1/Main.check.java5_api
+++ /dev/null
@@ -1,19 +0,0 @@
-|-- allclasses-frame.html
-|-- allclasses-noframe.html
-|-- constant-values.html
-|-- deprecated-list.html
-|-- help-doc.html
-|-- index-all.html
-|-- index.html
-|-- overview-tree.html
-|-- package-list
-|-- resources
-| `-- inherit.gif
-|-- stylesheet.css
-`-- test1
- |-- Main.html
- |-- package-frame.html
- |-- package-summary.html
- `-- package-tree.html
-
-2 directories, 15 files
diff --git a/test/files/cli/test1/Main.check.java5_j9 b/test/files/cli/test1/Main.check.java5_j9
deleted file mode 100644
index de454ef478..0000000000
--- a/test/files/cli/test1/Main.check.java5_j9
+++ /dev/null
@@ -1,4 +0,0 @@
-env: -cpp: No such file or directory
-env: test1.Main: No such file or directory
-env: -cp: No such file or directory
-1: test 3 passed
diff --git a/test/files/cli/test1/Main.check.javac b/test/files/cli/test1/Main.check.javac
deleted file mode 100644
index ba25d9b6ca..0000000000
--- a/test/files/cli/test1/Main.check.javac
+++ /dev/null
@@ -1,19 +0,0 @@
-javac: invalid flag: -dd
-Usage: javac <options> <source files>
-where possible options include:
- -g Generate all debugging info
- -g:none Generate no debugging info
- -g:{lines,vars,source} Generate only some debugging info
- -nowarn Generate no warnings
- -verbose Output messages about what the compiler is doing
- -deprecation Output source locations where deprecated APIs are used
- -classpath <path> Specify where to find user class files
- -sourcepath <path> Specify where to find input source files
- -bootclasspath <path> Override location of bootstrap class files
- -extdirs <dirs> Override location of installed extensions
- -d <directory> Specify where to place generated class files
- -encoding <encoding> Specify character encoding used by source files
- -source <release> Provide source compatibility with specified release
- -target <release> Generate class files for specific VM version
- -help Print a synopsis of standard options
-
diff --git a/test/files/cli/test1/Main.check.javac5 b/test/files/cli/test1/Main.check.javac5
deleted file mode 100644
index 0cb29d31ff..0000000000
--- a/test/files/cli/test1/Main.check.javac5
+++ /dev/null
@@ -1,24 +0,0 @@
-javac: invalid flag: -dd
-Usage: javac <options> <source files>
-where possible options include:
- -g Generate all debugging info
- -g:none Generate no debugging info
- -g:{lines,vars,source} Generate only some debugging info
- -nowarn Generate no warnings
- -verbose Output messages about what the compiler is doing
- -deprecation Output source locations where deprecated APIs are used
- -classpath <path> Specify where to find user class files
- -cp <path> Specify where to find user class files
- -sourcepath <path> Specify where to find input source files
- -bootclasspath <path> Override location of bootstrap class files
- -extdirs <dirs> Override location of installed extensions
- -endorseddirs <dirs> Override location of endorsed standards path
- -d <directory> Specify where to place generated class files
- -encoding <encoding> Specify character encoding used by source files
- -source <release> Provide source compatibility with specified release
- -target <release> Generate class files for specific VM version
- -version Version information
- -help Print a synopsis of standard options
- -X Print a synopsis of nonstandard options
- -J<flag> Pass <flag> directly to the runtime system
-
diff --git a/test/files/cli/test1/Main.check.javac6 b/test/files/cli/test1/Main.check.javac6
deleted file mode 100644
index 8f37a05bcb..0000000000
--- a/test/files/cli/test1/Main.check.javac6
+++ /dev/null
@@ -1,29 +0,0 @@
-javac: invalid flag: -dd
-Usage: javac <options> <source files>
-where possible options include:
- -g Generate all debugging info
- -g:none Generate no debugging info
- -g:{lines,vars,source} Generate only some debugging info
- -nowarn Generate no warnings
- -verbose Output messages about what the compiler is doing
- -deprecation Output source locations where deprecated APIs are used
- -classpath <path> Specify where to find user class files and annotation processors
- -cp <path> Specify where to find user class files and annotation processors
- -sourcepath <path> Specify where to find input source files
- -bootclasspath <path> Override location of bootstrap class files
- -extdirs <dirs> Override location of installed extensions
- -endorseddirs <dirs> Override location of endorsed standards path
- -proc:{none, only} Control whether annotation processing and/or compilation is done.
- -processor <class> Name of the annotation processor to run; bypasses default discovery process
- -processorpath <path> Specify where to find annotation processors
- -d <directory> Specify where to place generated class files
- -s <directory> Specify where to place generated source files
- -encoding <encoding> Specify character encoding used by source files
- -source <release> Provide source compatibility with specified release
- -target <release> Generate class files for specific VM version
- -version Version information
- -help Print a synopsis of standard options
- -A[key[=value]] Options to pass to annotation processors
- -X Print a synopsis of nonstandard options
- -J<flag> Pass <flag> directly to the runtime system
-
diff --git a/test/files/cli/test1/Main.check.jikes b/test/files/cli/test1/Main.check.jikes
deleted file mode 100644
index cd891689db..0000000000
--- a/test/files/cli/test1/Main.check.jikes
+++ /dev/null
@@ -1,3 +0,0 @@
-Error: "-dd" is an invalid option.
-use: jikes [options] [@files] file.java...
-For more help, try -help or -version.
diff --git a/test/files/cli/test1/Main.check.jikes5 b/test/files/cli/test1/Main.check.jikes5
deleted file mode 100644
index cd891689db..0000000000
--- a/test/files/cli/test1/Main.check.jikes5
+++ /dev/null
@@ -1,3 +0,0 @@
-Error: "-dd" is an invalid option.
-use: jikes [options] [@files] file.java...
-For more help, try -help or -version.
diff --git a/test/files/cli/test1/Main.check.scala b/test/files/cli/test1/Main.check.scala
deleted file mode 100644
index 43b200ae02..0000000000
--- a/test/files/cli/test1/Main.check.scala
+++ /dev/null
@@ -1,24 +0,0 @@
-unknown option: '-cpp'
-scala [ <option> ]... [<torun> <arguments>]
-
-All options to scalac are allowed. See scalac -help.
-
-<torun>, if present, is an object or script file to run.
-If no <torun> is present, run an interactive interpreter.
-
-Option -howtorun allows explicitly specifying how to run <torun>:
- script: it is a script file
- object: it is an object name
- guess: (the default) try to guess
-
-Option -savecompiled requests that the compiled script be saved
-for future use.
-
-Option -nocompdaemon requests that the fsc offline compiler not be used.
-
-Option -Dproperty=value sets a Java system property.
-
-1: test 1 passed (1)
-1: test 2 passed (1)
-1: test 3 passed (1)
-1: test 4 passed (2)
diff --git a/test/files/cli/test1/Main.check.scala_api b/test/files/cli/test1/Main.check.scala_api
deleted file mode 100644
index 6fac39d3f0..0000000000
--- a/test/files/cli/test1/Main.check.scala_api
+++ /dev/null
@@ -1,33 +0,0 @@
-|-- all-classes.html
-|-- index.html
-|-- modules.html
-|-- nav-classes.html
-|-- root-content.html
-|-- scala
-| |-- Any.html
-| |-- AnyRef.html
-| |-- AnyVal.html
-| |-- Boolean.html
-| |-- Byte.html
-| |-- Char.html
-| |-- Double.html
-| |-- Float.html
-| |-- Int.html
-| |-- Long.html
-| |-- Nothing.html
-| |-- Null.html
-| |-- Short.html
-| |-- Unit.html
-| `-- runtime
-| |-- BoxedFloat.html
-| |-- BoxedInt.html
-| |-- BoxedLong.html
-| `-- BoxedNumber.html
-|-- script.js
-|-- style.css
-|-- test1
-| `-- Main$object.html
-|-- test1$content.html
-`-- test1$package.html
-
-3 directories, 28 files
diff --git a/test/files/cli/test1/Main.check.scala_j9 b/test/files/cli/test1/Main.check.scala_j9
deleted file mode 100644
index 65d5ddaac4..0000000000
--- a/test/files/cli/test1/Main.check.scala_j9
+++ /dev/null
@@ -1,15 +0,0 @@
-unknown option: '-cpp'
-scala [ <compiler-option> | -howtorun:how ]... [<torun> <arguments>]
-
-<compiler-option>'s are as for scalac; see scalac -help.
-<torun>, if present, is an object or script file to run.
-If no <torun> is present, run an interactive interpreter.
--howtorun allows explicitly specifying how to run <torun>:
- script: it is a script file
- object: it is an object name
- guess: (the default) try to guess
-
-1: test 1 passed (1)
-1: test 2 passed (1)
-1: test 3 passed (1)
-1: test 4 passed (2)
diff --git a/test/files/cli/test1/Main.check.scalac b/test/files/cli/test1/Main.check.scalac
deleted file mode 100644
index 8465810d0b..0000000000
--- a/test/files/cli/test1/Main.check.scalac
+++ /dev/null
@@ -1,63 +0,0 @@
-scalac error: bad option: '-dd'
- scalac -help gives more information
-Usage: scalac <options | source files>
-where possible options include:
- -doc Generate documentation
- -g:<g> Generate debugging info (none,source,line,vars,notc)
- -nowarn Generate no warnings
- -noassert Generate no assertions and assumptions
- -verbose Output messages about what the compiler is doing
- -classpath <path> Specify where to find user class files
- -sourcepath <path> Specify where to find input source files
- -bootclasspath <path> Override location of bootstrap class files
- -extdirs <dirs> Override location of installed extensions
- -d <directory> Specify where to place generated class files
- -encoding <encoding> Specify character encoding used by source files
- -windowtitle <windowtitle> Specify window title of generated HTML documentation
- -documenttitle <documenttitle> Specify document title of generated HTML documentation
- -target:<target> Specify which backend to use (jvm-1.5,msil)
- -migrate Assist in migrating from Scala version 1.0
- -o <file> Name of the output assembly (only relevant with -target:msil)
- -r <path> List of assemblies referenced by the program (only relevant with -target:msil)
- -debug Output debugging messages
- -deprecation enable detailed deprecation warnings
- -unchecked enable detailed unchecked warnings
- -statistics Print compiler statistics
- -explaintypes Explain type errors in more detail
- -resident Compiler stays resident, files to compile are read from standard input
- -uniqid Print identifiers with unique names (debugging option)
- -printtypes Print tree types (debugging option)
- -prompt Display a prompt after each error (debugging option)
- -noimports Compile without any implicit imports
- -nopredefs Compile without any implicit predefined values
- -skip:<phase> Skip <phase>
- -check:<phase> Check the tree at start of <phase>
- -print:<phase> Print out program after <phase>
- -printer:<printer> Printer to use (text,html)
- -printfile <file> Specify file in which to print trees
- -graph:<phase> Graph the program after <phase>
- -browse:<phase> Browse the abstract syntax tree after <phase>
- -stop:<phase> Stop after phase <phase>
- -log:<phase> Log operations in <phase>
- -logall Log all operations
- -version Print product version and exit
- -help Print a synopsis of standard options
- -nouescape disables handling of \u unicode escapes
- -Xinline Perform inlining when possible
- -XO Optimize. implies -Xinline, -Xcloselim and -Xdce
- -Xcloselim Perform closure elimination
- -Xdce Perform dead code elimination
- -Xwarndeadcode Emit warnings for dead code
- -XbytecodeRead Enable bytecode reader.
- -Xdetach Perform detaching of remote closures
- -Xshowcls <class> Show class info
- -Xshowobj <object> Show object info
- -Xlinearizer:<Xlinearizer> Linearizer to use (normal,dfs,rpo,dump)
- -Xgenerics Use generic Java types
- -Xprintpos Print tree positions (as offsets)
- -Xscript compile script file
- -Xexperimental enable experimental extensions
- -Xplugtypes parse but ignore annotations in more locations
- -Xkilloption optimizes option types
-
-one error found
diff --git a/test/files/cli/test1/Main.check.scalaint b/test/files/cli/test1/Main.check.scalaint
deleted file mode 100644
index 88345d1874..0000000000
--- a/test/files/cli/test1/Main.check.scalaint
+++ /dev/null
@@ -1,45 +0,0 @@
-unknown option: '-cpp'
-scala [ <option> ]... [<torun> <arguments>]
-
-All options to scalac are allowed. See scalac -help.
-
-<torun>, if present, is an object or script file to run.
-If no <torun> is present, run an interactive interpreter.
-
-Option -howtorun allows explicitly specifying how to run <torun>:
- script: it is a script file
- object: it is an object name
- guess: (the default) try to guess
-
-Option -savecompiled requests that the compiled script be saved
-for future use.
-
-Option -nocompdaemon requests that the fsc offline compiler not be used.
-
-Option -Dproperty=value sets a Java system property.
-
-
-This is an interpreter for Scala.
-Type in expressions to have them evaluated.
-Type :help for more information.
-
-scala> 1: test 1 passed (1)
-unnamed0: scala.Unit = ()
-
-scala>
-This is an interpreter for Scala.
-Type in expressions to have them evaluated.
-Type :help for more information.
-
-scala> 1: test 2 passed (1)
-unnamed0: scala.Unit = ()
-
-scala>
-This is an interpreter for Scala.
-Type in expressions to have them evaluated.
-Type :help for more information.
-
-scala> 1: test 3 passed (1)
-unnamed0: scala.Unit = ()
-
-scala>
diff --git a/test/files/cli/test1/Main.java b/test/files/cli/test1/Main.java
deleted file mode 100644
index 8850b87517..0000000000
--- a/test/files/cli/test1/Main.java
+++ /dev/null
@@ -1,8 +0,0 @@
-// @info no dependency
-package test1;
-public class Main {
- public static void main(String args[]) {
- String arg = (args.length > 0) ? args[0] : "?";
- System.out.println("1: test " + arg + " passed (" + args.length + ")");
- }
-}
diff --git a/test/files/cli/test1/Main.scala b/test/files/cli/test1/Main.scala
deleted file mode 100644
index f7dd8a0a36..0000000000
--- a/test/files/cli/test1/Main.scala
+++ /dev/null
@@ -1,8 +0,0 @@
-// @info no dependency
-package test1
-object Main {
- def main(args: Array[String]) = {
- val arg = if (args != null && args.length > 0) args(0) else "?"
- Console.println("1: test " + arg + " passed (" + args.length + ")")
- }
-}
diff --git a/test/files/cli/test2/Main.check.j9vm5 b/test/files/cli/test2/Main.check.j9vm5
deleted file mode 100644
index 8f4fdf8aa1..0000000000
--- a/test/files/cli/test2/Main.check.j9vm5
+++ /dev/null
@@ -1,4 +0,0 @@
-env: -cpp: No such file or directory
-env: test2.Main: No such file or directory
-env: -cp: No such file or directory
-2: 1: test 3 passed
diff --git a/test/files/cli/test2/Main.check.java b/test/files/cli/test2/Main.check.java
deleted file mode 100644
index aca383de3e..0000000000
--- a/test/files/cli/test2/Main.check.java
+++ /dev/null
@@ -1,6 +0,0 @@
-Unrecognized option: -cpp
-Could not create the Java virtual machine.
-2: 1: test 1 passed (1)
-2: 1: test 2 passed (1)
-2: 1: test 3 passed (1)
-2: 1: test 4 passed (2)
diff --git a/test/files/cli/test2/Main.check.java5 b/test/files/cli/test2/Main.check.java5
deleted file mode 100644
index aca383de3e..0000000000
--- a/test/files/cli/test2/Main.check.java5
+++ /dev/null
@@ -1,6 +0,0 @@
-Unrecognized option: -cpp
-Could not create the Java virtual machine.
-2: 1: test 1 passed (1)
-2: 1: test 2 passed (1)
-2: 1: test 3 passed (1)
-2: 1: test 4 passed (2)
diff --git a/test/files/cli/test2/Main.check.java5_api b/test/files/cli/test2/Main.check.java5_api
deleted file mode 100644
index 4ff775c3da..0000000000
--- a/test/files/cli/test2/Main.check.java5_api
+++ /dev/null
@@ -1,24 +0,0 @@
-|-- allclasses-frame.html
-|-- allclasses-noframe.html
-|-- constant-values.html
-|-- deprecated-list.html
-|-- help-doc.html
-|-- index-all.html
-|-- index.html
-|-- overview-tree.html
-|-- package-list
-|-- resources
-| `-- inherit.gif
-|-- stylesheet.css
-|-- test1
-| |-- Main.html
-| |-- package-frame.html
-| |-- package-summary.html
-| `-- package-tree.html
-`-- test2
- |-- Main.html
- |-- package-frame.html
- |-- package-summary.html
- `-- package-tree.html
-
-3 directories, 19 files
diff --git a/test/files/cli/test2/Main.check.java5_j9 b/test/files/cli/test2/Main.check.java5_j9
deleted file mode 100644
index 2dcb6e892a..0000000000
--- a/test/files/cli/test2/Main.check.java5_j9
+++ /dev/null
@@ -1,36 +0,0 @@
-JVMJ9VM007E Command-line option unrecognised: -cpp
-Could not create the Java virtual machine.
-
-Usage: java [-options] class [args...]
- (to execute a class)
- or java [-jar] [-options] jarfile [args...]
- (to execute a jar file)
-
-where options include:
- -cp -classpath <directories and zip/jar files separated by :>
- set search path for application classes and resources
- -D<name>=<value>
- set a system property
- -verbose[:class|gc|jni]
- enable verbose output
- -version print product version
- -version:<value>
- require the specified version to run
- -showversion print product version and continue
- -jre-restrict-search | -no-jre-restrict-search
- include/exclude user private JREs in the version search
- -agentlib:<libname>[=<options>]
- load native agent library <libname>, e.g. -agentlib:hprof
- see also, -agentlib:jdwp=help and -agentlib:hprof=help
- -agentpath:<pathname>[=<options>]
- load native agent library by full pathname
- -javaagent:<jarpath>[=<options>]
- load Java programming language agent, see java.lang.instrument
- -? -help print this help message
- -X print help on non-standard options
- -assert print help on assert options
-
-The java class is not found: test2.Main
-The java class is not found: test2.Main
-The java class is not found: test2.Main
-The java class is not found: test2.Main
diff --git a/test/files/cli/test2/Main.check.javac b/test/files/cli/test2/Main.check.javac
deleted file mode 100644
index c40c0a7a89..0000000000
--- a/test/files/cli/test2/Main.check.javac
+++ /dev/null
@@ -1,27 +0,0 @@
-javac: invalid flag: -dd
-Usage: javac <options> <source files>
-where possible options include:
- -g Generate all debugging info
- -g:none Generate no debugging info
- -g:{lines,vars,source} Generate only some debugging info
- -nowarn Generate no warnings
- -verbose Output messages about what the compiler is doing
- -deprecation Output source locations where deprecated APIs are used
- -classpath <path> Specify where to find user class files
- -sourcepath <path> Specify where to find input source files
- -bootclasspath <path> Override location of bootstrap class files
- -extdirs <dirs> Override location of installed extensions
- -d <directory> Specify where to place generated class files
- -encoding <encoding> Specify character encoding used by source files
- -source <release> Provide source compatibility with specified release
- -target <release> Generate class files for specific VM version
- -help Print a synopsis of standard options
-
-files/cli/test2/Main.java:6: package test1 does not exist
- test1.Main.main(args);
- ^
-1 error
-files/cli/test2/Main.java:6: package test1 does not exist
- test1.Main.main(args);
- ^
-1 error
diff --git a/test/files/cli/test2/Main.check.javac5 b/test/files/cli/test2/Main.check.javac5
deleted file mode 100644
index 0ac32b056e..0000000000
--- a/test/files/cli/test2/Main.check.javac5
+++ /dev/null
@@ -1,28 +0,0 @@
-javac: invalid flag: -dd
-Usage: javac <options> <source files>
-where possible options include:
- -g Generate all debugging info
- -g:none Generate no debugging info
- -g:{lines,vars,source} Generate only some debugging info
- -nowarn Generate no warnings
- -verbose Output messages about what the compiler is doing
- -deprecation Output source locations where deprecated APIs are used
- -classpath <path> Specify where to find user class files
- -cp <path> Specify where to find user class files
- -sourcepath <path> Specify where to find input source files
- -bootclasspath <path> Override location of bootstrap class files
- -extdirs <dirs> Override location of installed extensions
- -endorseddirs <dirs> Override location of endorsed standards path
- -d <directory> Specify where to place generated class files
- -encoding <encoding> Specify character encoding used by source files
- -source <release> Provide source compatibility with specified release
- -target <release> Generate class files for specific VM version
- -version Version information
- -help Print a synopsis of standard options
- -X Print a synopsis of nonstandard options
- -J<flag> Pass <flag> directly to the runtime system
-
-files/cli/test2/Main.java:6: package test1 does not exist
- test1.Main.main(args);
- ^
-1 error
diff --git a/test/files/cli/test2/Main.check.javac6 b/test/files/cli/test2/Main.check.javac6
deleted file mode 100644
index 350d3253bc..0000000000
--- a/test/files/cli/test2/Main.check.javac6
+++ /dev/null
@@ -1,33 +0,0 @@
-javac: invalid flag: -dd
-Usage: javac <options> <source files>
-where possible options include:
- -g Generate all debugging info
- -g:none Generate no debugging info
- -g:{lines,vars,source} Generate only some debugging info
- -nowarn Generate no warnings
- -verbose Output messages about what the compiler is doing
- -deprecation Output source locations where deprecated APIs are used
- -classpath <path> Specify where to find user class files and annotation processors
- -cp <path> Specify where to find user class files and annotation processors
- -sourcepath <path> Specify where to find input source files
- -bootclasspath <path> Override location of bootstrap class files
- -extdirs <dirs> Override location of installed extensions
- -endorseddirs <dirs> Override location of endorsed standards path
- -proc:{none, only} Control whether annotation processing and/or compilation is done.
- -processor <class> Name of the annotation processor to run; bypasses default discovery process
- -processorpath <path> Specify where to find annotation processors
- -d <directory> Specify where to place generated class files
- -s <directory> Specify where to place generated source files
- -encoding <encoding> Specify character encoding used by source files
- -source <release> Provide source compatibility with specified release
- -target <release> Generate class files for specific VM version
- -version Version information
- -help Print a synopsis of standard options
- -A[key[=value]] Options to pass to annotation processors
- -X Print a synopsis of nonstandard options
- -J<flag> Pass <flag> directly to the runtime system
-
-files/cli/test2/Main.java:5: package test1 does not exist
- test1.Main.main(args);
- ^
-1 error
diff --git a/test/files/cli/test2/Main.check.jikes b/test/files/cli/test2/Main.check.jikes
deleted file mode 100644
index 97943e8347..0000000000
--- a/test/files/cli/test2/Main.check.jikes
+++ /dev/null
@@ -1,9 +0,0 @@
-Error: "-dd" is an invalid option.
-use: jikes [options] [@files] file.java...
-For more help, try -help or -version.
-
-Found 1 semantic error compiling "files/cli/test2/Main.java":
-
- 6. test1.Main.main(args);
- ^---^
-*** Semantic Error: No accessible field named "test1" was found in type "test2.Main".
diff --git a/test/files/cli/test2/Main.check.jikes5 b/test/files/cli/test2/Main.check.jikes5
deleted file mode 100644
index 97943e8347..0000000000
--- a/test/files/cli/test2/Main.check.jikes5
+++ /dev/null
@@ -1,9 +0,0 @@
-Error: "-dd" is an invalid option.
-use: jikes [options] [@files] file.java...
-For more help, try -help or -version.
-
-Found 1 semantic error compiling "files/cli/test2/Main.java":
-
- 6. test1.Main.main(args);
- ^---^
-*** Semantic Error: No accessible field named "test1" was found in type "test2.Main".
diff --git a/test/files/cli/test2/Main.check.scala b/test/files/cli/test2/Main.check.scala
deleted file mode 100644
index 7e5f17625b..0000000000
--- a/test/files/cli/test2/Main.check.scala
+++ /dev/null
@@ -1,24 +0,0 @@
-unknown option: '-cpp'
-scala [ <option> ]... [<torun> <arguments>]
-
-All options to scalac are allowed. See scalac -help.
-
-<torun>, if present, is an object or script file to run.
-If no <torun> is present, run an interactive interpreter.
-
-Option -howtorun allows explicitly specifying how to run <torun>:
- script: it is a script file
- object: it is an object name
- guess: (the default) try to guess
-
-Option -savecompiled requests that the compiled script be saved
-for future use.
-
-Option -nocompdaemon requests that the fsc offline compiler not be used.
-
-Option -Dproperty=value sets a Java system property.
-
-2: 1: test 1 passed (1)
-2: 1: test 2 passed (1)
-2: 1: test 3 passed (1)
-2: 1: test 4 passed (2)
diff --git a/test/files/cli/test2/Main.check.scala_api b/test/files/cli/test2/Main.check.scala_api
deleted file mode 100644
index bcb0f0c7fb..0000000000
--- a/test/files/cli/test2/Main.check.scala_api
+++ /dev/null
@@ -1,37 +0,0 @@
-|-- all-classes.html
-|-- index.html
-|-- modules.html
-|-- nav-classes.html
-|-- root-content.html
-|-- scala
-| |-- Any.html
-| |-- AnyRef.html
-| |-- AnyVal.html
-| |-- Boolean.html
-| |-- Byte.html
-| |-- Char.html
-| |-- Double.html
-| |-- Float.html
-| |-- Int.html
-| |-- Long.html
-| |-- Nothing.html
-| |-- Null.html
-| |-- Short.html
-| |-- Unit.html
-| `-- runtime
-| |-- BoxedFloat.html
-| |-- BoxedInt.html
-| |-- BoxedLong.html
-| `-- BoxedNumber.html
-|-- script.js
-|-- style.css
-|-- test1
-| `-- Main$object.html
-|-- test1$content.html
-|-- test1$package.html
-|-- test2
-| `-- Main$object.html
-|-- test2$content.html
-`-- test2$package.html
-
-4 directories, 31 files
diff --git a/test/files/cli/test2/Main.check.scala_j9 b/test/files/cli/test2/Main.check.scala_j9
deleted file mode 100644
index 80cbb50fa9..0000000000
--- a/test/files/cli/test2/Main.check.scala_j9
+++ /dev/null
@@ -1,15 +0,0 @@
-unknown option: '-cpp'
-scala [ <compiler-option> | -howtorun:how ]... [<torun> <arguments>]
-
-<compiler-option>'s are as for scalac; see scalac -help.
-<torun>, if present, is an object or script file to run.
-If no <torun> is present, run an interactive interpreter.
--howtorun allows explicitly specifying how to run <torun>:
- script: it is a script file
- object: it is an object name
- guess: (the default) try to guess
-
-2: 1: test 1 passed (1)
-2: 1: test 2 passed (1)
-2: 1: test 3 passed (1)
-2: 1: test 4 passed (2)
diff --git a/test/files/cli/test2/Main.check.scalac b/test/files/cli/test2/Main.check.scalac
deleted file mode 100644
index 8465810d0b..0000000000
--- a/test/files/cli/test2/Main.check.scalac
+++ /dev/null
@@ -1,63 +0,0 @@
-scalac error: bad option: '-dd'
- scalac -help gives more information
-Usage: scalac <options | source files>
-where possible options include:
- -doc Generate documentation
- -g:<g> Generate debugging info (none,source,line,vars,notc)
- -nowarn Generate no warnings
- -noassert Generate no assertions and assumptions
- -verbose Output messages about what the compiler is doing
- -classpath <path> Specify where to find user class files
- -sourcepath <path> Specify where to find input source files
- -bootclasspath <path> Override location of bootstrap class files
- -extdirs <dirs> Override location of installed extensions
- -d <directory> Specify where to place generated class files
- -encoding <encoding> Specify character encoding used by source files
- -windowtitle <windowtitle> Specify window title of generated HTML documentation
- -documenttitle <documenttitle> Specify document title of generated HTML documentation
- -target:<target> Specify which backend to use (jvm-1.5,msil)
- -migrate Assist in migrating from Scala version 1.0
- -o <file> Name of the output assembly (only relevant with -target:msil)
- -r <path> List of assemblies referenced by the program (only relevant with -target:msil)
- -debug Output debugging messages
- -deprecation enable detailed deprecation warnings
- -unchecked enable detailed unchecked warnings
- -statistics Print compiler statistics
- -explaintypes Explain type errors in more detail
- -resident Compiler stays resident, files to compile are read from standard input
- -uniqid Print identifiers with unique names (debugging option)
- -printtypes Print tree types (debugging option)
- -prompt Display a prompt after each error (debugging option)
- -noimports Compile without any implicit imports
- -nopredefs Compile without any implicit predefined values
- -skip:<phase> Skip <phase>
- -check:<phase> Check the tree at start of <phase>
- -print:<phase> Print out program after <phase>
- -printer:<printer> Printer to use (text,html)
- -printfile <file> Specify file in which to print trees
- -graph:<phase> Graph the program after <phase>
- -browse:<phase> Browse the abstract syntax tree after <phase>
- -stop:<phase> Stop after phase <phase>
- -log:<phase> Log operations in <phase>
- -logall Log all operations
- -version Print product version and exit
- -help Print a synopsis of standard options
- -nouescape disables handling of \u unicode escapes
- -Xinline Perform inlining when possible
- -XO Optimize. implies -Xinline, -Xcloselim and -Xdce
- -Xcloselim Perform closure elimination
- -Xdce Perform dead code elimination
- -Xwarndeadcode Emit warnings for dead code
- -XbytecodeRead Enable bytecode reader.
- -Xdetach Perform detaching of remote closures
- -Xshowcls <class> Show class info
- -Xshowobj <object> Show object info
- -Xlinearizer:<Xlinearizer> Linearizer to use (normal,dfs,rpo,dump)
- -Xgenerics Use generic Java types
- -Xprintpos Print tree positions (as offsets)
- -Xscript compile script file
- -Xexperimental enable experimental extensions
- -Xplugtypes parse but ignore annotations in more locations
- -Xkilloption optimizes option types
-
-one error found
diff --git a/test/files/cli/test2/Main.check.scalaint b/test/files/cli/test2/Main.check.scalaint
deleted file mode 100644
index 89b6766bb5..0000000000
--- a/test/files/cli/test2/Main.check.scalaint
+++ /dev/null
@@ -1,45 +0,0 @@
-unknown option: '-cpp'
-scala [ <option> ]... [<torun> <arguments>]
-
-All options to scalac are allowed. See scalac -help.
-
-<torun>, if present, is an object or script file to run.
-If no <torun> is present, run an interactive interpreter.
-
-Option -howtorun allows explicitly specifying how to run <torun>:
- script: it is a script file
- object: it is an object name
- guess: (the default) try to guess
-
-Option -savecompiled requests that the compiled script be saved
-for future use.
-
-Option -nocompdaemon requests that the fsc offline compiler not be used.
-
-Option -Dproperty=value sets a Java system property.
-
-
-This is an interpreter for Scala.
-Type in expressions to have them evaluated.
-Type :help for more information.
-
-scala> 2: 1: test 1 passed (1)
-unnamed0: scala.Unit = ()
-
-scala>
-This is an interpreter for Scala.
-Type in expressions to have them evaluated.
-Type :help for more information.
-
-scala> 2: 1: test 2 passed (1)
-unnamed0: scala.Unit = ()
-
-scala>
-This is an interpreter for Scala.
-Type in expressions to have them evaluated.
-Type :help for more information.
-
-scala> 2: 1: test 3 passed (1)
-unnamed0: scala.Unit = ()
-
-scala>
diff --git a/test/files/cli/test2/Main.java b/test/files/cli/test2/Main.java
deleted file mode 100644
index f6797632bf..0000000000
--- a/test/files/cli/test2/Main.java
+++ /dev/null
@@ -1,8 +0,0 @@
-// @info 1 dependency
-package test2;
-public class Main {
- public static void main(String args[]) {
- System.out.print("2: ");
- test1.Main.main(args);
- }
-}
diff --git a/test/files/cli/test2/Main.scala b/test/files/cli/test2/Main.scala
deleted file mode 100644
index 1d43759fdf..0000000000
--- a/test/files/cli/test2/Main.scala
+++ /dev/null
@@ -1,8 +0,0 @@
-// @info 1 dependency
-package test2
-object Main {
- def main(args: Array[String]) = {
- Console.print("2: ")
- test1.Main.main(args)
- }
-}
diff --git a/test/files/cli/test3/Main.check.j9vm5 b/test/files/cli/test3/Main.check.j9vm5
deleted file mode 100644
index a094dc8daf..0000000000
--- a/test/files/cli/test3/Main.check.j9vm5
+++ /dev/null
@@ -1,5 +0,0 @@
-env: -cpp: No such file or directory
-env: test3.Main: No such file or directory
-env: -cp: No such file or directory
-3: 1: test 3 passed
-3: 2: 1: test 3 passed
diff --git a/test/files/cli/test3/Main.check.java b/test/files/cli/test3/Main.check.java
deleted file mode 100644
index de3eb7b136..0000000000
--- a/test/files/cli/test3/Main.check.java
+++ /dev/null
@@ -1,10 +0,0 @@
-Unrecognized option: -cpp
-Could not create the Java virtual machine.
-3: 1: test 1 passed (1)
-3: 2: 1: test 1 passed (1)
-3: 1: test 2 passed (1)
-3: 2: 1: test 2 passed (1)
-3: 1: test 3 passed (1)
-3: 2: 1: test 3 passed (1)
-3: 1: test 4 passed (2)
-3: 2: 1: test 4 passed (2)
diff --git a/test/files/cli/test3/Main.check.java5 b/test/files/cli/test3/Main.check.java5
deleted file mode 100644
index de3eb7b136..0000000000
--- a/test/files/cli/test3/Main.check.java5
+++ /dev/null
@@ -1,10 +0,0 @@
-Unrecognized option: -cpp
-Could not create the Java virtual machine.
-3: 1: test 1 passed (1)
-3: 2: 1: test 1 passed (1)
-3: 1: test 2 passed (1)
-3: 2: 1: test 2 passed (1)
-3: 1: test 3 passed (1)
-3: 2: 1: test 3 passed (1)
-3: 1: test 4 passed (2)
-3: 2: 1: test 4 passed (2)
diff --git a/test/files/cli/test3/Main.check.java5_api b/test/files/cli/test3/Main.check.java5_api
deleted file mode 100644
index f6112211f0..0000000000
--- a/test/files/cli/test3/Main.check.java5_api
+++ /dev/null
@@ -1,29 +0,0 @@
-|-- allclasses-frame.html
-|-- allclasses-noframe.html
-|-- constant-values.html
-|-- deprecated-list.html
-|-- help-doc.html
-|-- index-all.html
-|-- index.html
-|-- overview-tree.html
-|-- package-list
-|-- resources
-| `-- inherit.gif
-|-- stylesheet.css
-|-- test1
-| |-- Main.html
-| |-- package-frame.html
-| |-- package-summary.html
-| `-- package-tree.html
-|-- test2
-| |-- Main.html
-| |-- package-frame.html
-| |-- package-summary.html
-| `-- package-tree.html
-`-- test3
- |-- Main.html
- |-- package-frame.html
- |-- package-summary.html
- `-- package-tree.html
-
-4 directories, 23 files
diff --git a/test/files/cli/test3/Main.check.java5_j9 b/test/files/cli/test3/Main.check.java5_j9
deleted file mode 100644
index 9e228d7649..0000000000
--- a/test/files/cli/test3/Main.check.java5_j9
+++ /dev/null
@@ -1,36 +0,0 @@
-JVMJ9VM007E Command-line option unrecognised: -cpp
-Could not create the Java virtual machine.
-
-Usage: java [-options] class [args...]
- (to execute a class)
- or java [-jar] [-options] jarfile [args...]
- (to execute a jar file)
-
-where options include:
- -cp -classpath <directories and zip/jar files separated by :>
- set search path for application classes and resources
- -D<name>=<value>
- set a system property
- -verbose[:class|gc|jni]
- enable verbose output
- -version print product version
- -version:<value>
- require the specified version to run
- -showversion print product version and continue
- -jre-restrict-search | -no-jre-restrict-search
- include/exclude user private JREs in the version search
- -agentlib:<libname>[=<options>]
- load native agent library <libname>, e.g. -agentlib:hprof
- see also, -agentlib:jdwp=help and -agentlib:hprof=help
- -agentpath:<pathname>[=<options>]
- load native agent library by full pathname
- -javaagent:<jarpath>[=<options>]
- load Java programming language agent, see java.lang.instrument
- -? -help print this help message
- -X print help on non-standard options
- -assert print help on assert options
-
-The java class is not found: test3.Main
-The java class is not found: test3.Main
-The java class is not found: test3.Main
-The java class is not found: test3.Main
diff --git a/test/files/cli/test3/Main.check.javac b/test/files/cli/test3/Main.check.javac
deleted file mode 100644
index 8d235b647b..0000000000
--- a/test/files/cli/test3/Main.check.javac
+++ /dev/null
@@ -1,33 +0,0 @@
-javac: invalid flag: -dd
-Usage: javac <options> <source files>
-where possible options include:
- -g Generate all debugging info
- -g:none Generate no debugging info
- -g:{lines,vars,source} Generate only some debugging info
- -nowarn Generate no warnings
- -verbose Output messages about what the compiler is doing
- -deprecation Output source locations where deprecated APIs are used
- -classpath <path> Specify where to find user class files
- -sourcepath <path> Specify where to find input source files
- -bootclasspath <path> Override location of bootstrap class files
- -extdirs <dirs> Override location of installed extensions
- -d <directory> Specify where to place generated class files
- -encoding <encoding> Specify character encoding used by source files
- -source <release> Provide source compatibility with specified release
- -target <release> Generate class files for specific VM version
- -help Print a synopsis of standard options
-
-files/cli/test3/Main.java:6: package test1 does not exist
- test1.Main.main(args);
- ^
-files/cli/test3/Main.java:8: package test2 does not exist
- test2.Main.main(args);
- ^
-2 errors
-files/cli/test3/Main.java:6: package test1 does not exist
- test1.Main.main(args);
- ^
-files/cli/test3/Main.java:8: package test2 does not exist
- test2.Main.main(args);
- ^
-2 errors
diff --git a/test/files/cli/test3/Main.check.javac5 b/test/files/cli/test3/Main.check.javac5
deleted file mode 100644
index 3a48fa000e..0000000000
--- a/test/files/cli/test3/Main.check.javac5
+++ /dev/null
@@ -1,31 +0,0 @@
-javac: invalid flag: -dd
-Usage: javac <options> <source files>
-where possible options include:
- -g Generate all debugging info
- -g:none Generate no debugging info
- -g:{lines,vars,source} Generate only some debugging info
- -nowarn Generate no warnings
- -verbose Output messages about what the compiler is doing
- -deprecation Output source locations where deprecated APIs are used
- -classpath <path> Specify where to find user class files
- -cp <path> Specify where to find user class files
- -sourcepath <path> Specify where to find input source files
- -bootclasspath <path> Override location of bootstrap class files
- -extdirs <dirs> Override location of installed extensions
- -endorseddirs <dirs> Override location of endorsed standards path
- -d <directory> Specify where to place generated class files
- -encoding <encoding> Specify character encoding used by source files
- -source <release> Provide source compatibility with specified release
- -target <release> Generate class files for specific VM version
- -version Version information
- -help Print a synopsis of standard options
- -X Print a synopsis of nonstandard options
- -J<flag> Pass <flag> directly to the runtime system
-
-files/cli/test3/Main.java:6: package test1 does not exist
- test1.Main.main(args);
- ^
-files/cli/test3/Main.java:8: package test2 does not exist
- test2.Main.main(args);
- ^
-2 errors
diff --git a/test/files/cli/test3/Main.check.javac6 b/test/files/cli/test3/Main.check.javac6
deleted file mode 100644
index 677b950aed..0000000000
--- a/test/files/cli/test3/Main.check.javac6
+++ /dev/null
@@ -1,36 +0,0 @@
-javac: invalid flag: -dd
-Usage: javac <options> <source files>
-where possible options include:
- -g Generate all debugging info
- -g:none Generate no debugging info
- -g:{lines,vars,source} Generate only some debugging info
- -nowarn Generate no warnings
- -verbose Output messages about what the compiler is doing
- -deprecation Output source locations where deprecated APIs are used
- -classpath <path> Specify where to find user class files and annotation processors
- -cp <path> Specify where to find user class files and annotation processors
- -sourcepath <path> Specify where to find input source files
- -bootclasspath <path> Override location of bootstrap class files
- -extdirs <dirs> Override location of installed extensions
- -endorseddirs <dirs> Override location of endorsed standards path
- -proc:{none, only} Control whether annotation processing and/or compilation is done.
- -processor <class> Name of the annotation processor to run; bypasses default discovery process
- -processorpath <path> Specify where to find annotation processors
- -d <directory> Specify where to place generated class files
- -s <directory> Specify where to place generated source files
- -encoding <encoding> Specify character encoding used by source files
- -source <release> Provide source compatibility with specified release
- -target <release> Generate class files for specific VM version
- -version Version information
- -help Print a synopsis of standard options
- -A[key[=value]] Options to pass to annotation processors
- -X Print a synopsis of nonstandard options
- -J<flag> Pass <flag> directly to the runtime system
-
-files/cli/test3/Main.java:5: package test1 does not exist
- test1.Main.main(args);
- ^
-files/cli/test3/Main.java:7: package test2 does not exist
- test2.Main.main(args);
- ^
-2 errors
diff --git a/test/files/cli/test3/Main.check.jikes b/test/files/cli/test3/Main.check.jikes
deleted file mode 100644
index 604333e81a..0000000000
--- a/test/files/cli/test3/Main.check.jikes
+++ /dev/null
@@ -1,14 +0,0 @@
-Error: "-dd" is an invalid option.
-use: jikes [options] [@files] file.java...
-For more help, try -help or -version.
-
-Found 2 semantic errors compiling "files/cli/test3/Main.java":
-
- 6. test1.Main.main(args);
- ^---^
-*** Semantic Error: No accessible field named "test1" was found in type "test3.Main".
-
-
- 8. test2.Main.main(args);
- ^---^
-*** Semantic Error: No accessible field named "test2" was found in type "test3.Main".
diff --git a/test/files/cli/test3/Main.check.jikes5 b/test/files/cli/test3/Main.check.jikes5
deleted file mode 100644
index 604333e81a..0000000000
--- a/test/files/cli/test3/Main.check.jikes5
+++ /dev/null
@@ -1,14 +0,0 @@
-Error: "-dd" is an invalid option.
-use: jikes [options] [@files] file.java...
-For more help, try -help or -version.
-
-Found 2 semantic errors compiling "files/cli/test3/Main.java":
-
- 6. test1.Main.main(args);
- ^---^
-*** Semantic Error: No accessible field named "test1" was found in type "test3.Main".
-
-
- 8. test2.Main.main(args);
- ^---^
-*** Semantic Error: No accessible field named "test2" was found in type "test3.Main".
diff --git a/test/files/cli/test3/Main.check.scala b/test/files/cli/test3/Main.check.scala
deleted file mode 100644
index f78729b9a2..0000000000
--- a/test/files/cli/test3/Main.check.scala
+++ /dev/null
@@ -1,28 +0,0 @@
-unknown option: '-cpp'
-scala [ <option> ]... [<torun> <arguments>]
-
-All options to scalac are allowed. See scalac -help.
-
-<torun>, if present, is an object or script file to run.
-If no <torun> is present, run an interactive interpreter.
-
-Option -howtorun allows explicitly specifying how to run <torun>:
- script: it is a script file
- object: it is an object name
- guess: (the default) try to guess
-
-Option -savecompiled requests that the compiled script be saved
-for future use.
-
-Option -nocompdaemon requests that the fsc offline compiler not be used.
-
-Option -Dproperty=value sets a Java system property.
-
-3: 1: test 1 passed (1)
-3: 2: 1: test 1 passed (1)
-3: 1: test 2 passed (1)
-3: 2: 1: test 2 passed (1)
-3: 1: test 3 passed (1)
-3: 2: 1: test 3 passed (1)
-3: 1: test 4 passed (2)
-3: 2: 1: test 4 passed (2)
diff --git a/test/files/cli/test3/Main.check.scala_api b/test/files/cli/test3/Main.check.scala_api
deleted file mode 100644
index 4552819b5b..0000000000
--- a/test/files/cli/test3/Main.check.scala_api
+++ /dev/null
@@ -1,41 +0,0 @@
-|-- all-classes.html
-|-- index.html
-|-- modules.html
-|-- nav-classes.html
-|-- root-content.html
-|-- scala
-| |-- Any.html
-| |-- AnyRef.html
-| |-- AnyVal.html
-| |-- Boolean.html
-| |-- Byte.html
-| |-- Char.html
-| |-- Double.html
-| |-- Float.html
-| |-- Int.html
-| |-- Long.html
-| |-- Nothing.html
-| |-- Null.html
-| |-- Short.html
-| |-- Unit.html
-| `-- runtime
-| |-- BoxedFloat.html
-| |-- BoxedInt.html
-| |-- BoxedLong.html
-| `-- BoxedNumber.html
-|-- script.js
-|-- style.css
-|-- test1
-| `-- Main$object.html
-|-- test1$content.html
-|-- test1$package.html
-|-- test2
-| `-- Main$object.html
-|-- test2$content.html
-|-- test2$package.html
-|-- test3
-| `-- Main$object.html
-|-- test3$content.html
-`-- test3$package.html
-
-5 directories, 34 files
diff --git a/test/files/cli/test3/Main.check.scala_j9 b/test/files/cli/test3/Main.check.scala_j9
deleted file mode 100644
index 3804c17636..0000000000
--- a/test/files/cli/test3/Main.check.scala_j9
+++ /dev/null
@@ -1,19 +0,0 @@
-unknown option: '-cpp'
-scala [ <compiler-option> | -howtorun:how ]... [<torun> <arguments>]
-
-<compiler-option>'s are as for scalac; see scalac -help.
-<torun>, if present, is an object or script file to run.
-If no <torun> is present, run an interactive interpreter.
--howtorun allows explicitly specifying how to run <torun>:
- script: it is a script file
- object: it is an object name
- guess: (the default) try to guess
-
-3: 1: test 1 passed (1)
-3: 2: 1: test 1 passed (1)
-3: 1: test 2 passed (1)
-3: 2: 1: test 2 passed (1)
-3: 1: test 3 passed (1)
-3: 2: 1: test 3 passed (1)
-3: 1: test 4 passed (2)
-3: 2: 1: test 4 passed (2)
diff --git a/test/files/cli/test3/Main.check.scalac b/test/files/cli/test3/Main.check.scalac
deleted file mode 100644
index 8465810d0b..0000000000
--- a/test/files/cli/test3/Main.check.scalac
+++ /dev/null
@@ -1,63 +0,0 @@
-scalac error: bad option: '-dd'
- scalac -help gives more information
-Usage: scalac <options | source files>
-where possible options include:
- -doc Generate documentation
- -g:<g> Generate debugging info (none,source,line,vars,notc)
- -nowarn Generate no warnings
- -noassert Generate no assertions and assumptions
- -verbose Output messages about what the compiler is doing
- -classpath <path> Specify where to find user class files
- -sourcepath <path> Specify where to find input source files
- -bootclasspath <path> Override location of bootstrap class files
- -extdirs <dirs> Override location of installed extensions
- -d <directory> Specify where to place generated class files
- -encoding <encoding> Specify character encoding used by source files
- -windowtitle <windowtitle> Specify window title of generated HTML documentation
- -documenttitle <documenttitle> Specify document title of generated HTML documentation
- -target:<target> Specify which backend to use (jvm-1.5,msil)
- -migrate Assist in migrating from Scala version 1.0
- -o <file> Name of the output assembly (only relevant with -target:msil)
- -r <path> List of assemblies referenced by the program (only relevant with -target:msil)
- -debug Output debugging messages
- -deprecation enable detailed deprecation warnings
- -unchecked enable detailed unchecked warnings
- -statistics Print compiler statistics
- -explaintypes Explain type errors in more detail
- -resident Compiler stays resident, files to compile are read from standard input
- -uniqid Print identifiers with unique names (debugging option)
- -printtypes Print tree types (debugging option)
- -prompt Display a prompt after each error (debugging option)
- -noimports Compile without any implicit imports
- -nopredefs Compile without any implicit predefined values
- -skip:<phase> Skip <phase>
- -check:<phase> Check the tree at start of <phase>
- -print:<phase> Print out program after <phase>
- -printer:<printer> Printer to use (text,html)
- -printfile <file> Specify file in which to print trees
- -graph:<phase> Graph the program after <phase>
- -browse:<phase> Browse the abstract syntax tree after <phase>
- -stop:<phase> Stop after phase <phase>
- -log:<phase> Log operations in <phase>
- -logall Log all operations
- -version Print product version and exit
- -help Print a synopsis of standard options
- -nouescape disables handling of \u unicode escapes
- -Xinline Perform inlining when possible
- -XO Optimize. implies -Xinline, -Xcloselim and -Xdce
- -Xcloselim Perform closure elimination
- -Xdce Perform dead code elimination
- -Xwarndeadcode Emit warnings for dead code
- -XbytecodeRead Enable bytecode reader.
- -Xdetach Perform detaching of remote closures
- -Xshowcls <class> Show class info
- -Xshowobj <object> Show object info
- -Xlinearizer:<Xlinearizer> Linearizer to use (normal,dfs,rpo,dump)
- -Xgenerics Use generic Java types
- -Xprintpos Print tree positions (as offsets)
- -Xscript compile script file
- -Xexperimental enable experimental extensions
- -Xplugtypes parse but ignore annotations in more locations
- -Xkilloption optimizes option types
-
-one error found
diff --git a/test/files/cli/test3/Main.check.scalaint b/test/files/cli/test3/Main.check.scalaint
deleted file mode 100644
index cffa02c5b6..0000000000
--- a/test/files/cli/test3/Main.check.scalaint
+++ /dev/null
@@ -1,48 +0,0 @@
-unknown option: '-cpp'
-scala [ <option> ]... [<torun> <arguments>]
-
-All options to scalac are allowed. See scalac -help.
-
-<torun>, if present, is an object or script file to run.
-If no <torun> is present, run an interactive interpreter.
-
-Option -howtorun allows explicitly specifying how to run <torun>:
- script: it is a script file
- object: it is an object name
- guess: (the default) try to guess
-
-Option -savecompiled requests that the compiled script be saved
-for future use.
-
-Option -nocompdaemon requests that the fsc offline compiler not be used.
-
-Option -Dproperty=value sets a Java system property.
-
-
-This is an interpreter for Scala.
-Type in expressions to have them evaluated.
-Type :help for more information.
-
-scala> 3: 1: test 1 passed (1)
-3: 2: 1: test 1 passed (1)
-unnamed0: scala.Unit = ()
-
-scala>
-This is an interpreter for Scala.
-Type in expressions to have them evaluated.
-Type :help for more information.
-
-scala> 3: 1: test 2 passed (1)
-3: 2: 1: test 2 passed (1)
-unnamed0: scala.Unit = ()
-
-scala>
-This is an interpreter for Scala.
-Type in expressions to have them evaluated.
-Type :help for more information.
-
-scala> 3: 1: test 3 passed (1)
-3: 2: 1: test 3 passed (1)
-unnamed0: scala.Unit = ()
-
-scala>
diff --git a/test/files/cli/test3/Main.java b/test/files/cli/test3/Main.java
deleted file mode 100644
index 208863d012..0000000000
--- a/test/files/cli/test3/Main.java
+++ /dev/null
@@ -1,10 +0,0 @@
-// @info 2 dependency
-package test3;
-public class Main {
- public static void main(String args[]) {
- System.out.print("3: ");
- test1.Main.main(args);
- System.out.print("3: ");
- test2.Main.main(args);
- }
-}
diff --git a/test/files/cli/test3/Main.scala b/test/files/cli/test3/Main.scala
deleted file mode 100644
index 63fc11b771..0000000000
--- a/test/files/cli/test3/Main.scala
+++ /dev/null
@@ -1,10 +0,0 @@
-// @info 2 dependencies
-package test3
-object Main {
- def main(args: Array[String]) = {
- Console.print("3: ")
- test1.Main.main(args)
- Console.print("3: ")
- test2.Main.main(args)
- }
-}
diff --git a/test/files/files.iml b/test/files/files.iml
deleted file mode 100644
index ac78e33f39..0000000000
--- a/test/files/files.iml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<module relativePaths="true" type="JAVA_MODULE" version="4">
- <component name="FacetManager">
- <facet type="Scala" name="Scala">
- <configuration />
- </facet>
- </component>
- <component name="NewModuleRootManager" inherit-compiler-output="true">
- <exclude-output />
- <content url="file://$MODULE_DIR$" />
- <orderEntry type="library" name="lib1" level="project" />
- <orderEntry type="inheritedJdk" />
- <orderEntry type="sourceFolder" forTests="false" />
- <orderEntry type="library" name="lib" level="project" />
- </component>
-</module>
-
diff --git a/test/files/jvm/JavaInteraction.check b/test/files/jvm/JavaInteraction.check
deleted file mode 100644
index fb9d3cdd8c..0000000000
--- a/test/files/jvm/JavaInteraction.check
+++ /dev/null
@@ -1,4 +0,0 @@
-p.x = 5
-p.c = java.awt.Color[r=255,g=0,b=0]
-p.getX() = 5.0
-p.getC() = java.awt.Color[r=255,g=0,b=0]
diff --git a/test/files/jvm/JavaInteraction.scala b/test/files/jvm/JavaInteraction.scala
deleted file mode 100644
index 1316fad5d4..0000000000
--- a/test/files/jvm/JavaInteraction.scala
+++ /dev/null
@@ -1,23 +0,0 @@
-//############################################################################
-// Test Java interaction
-//############################################################################
-
-import java.awt.Color;
-import java.awt.Point;
-
-class ColoredPoint(x: Int, y: Int, c_ : Color) extends Point(x, y) {
- val c: Color = c_;
- def getC(): Color = c;
-}
-
-object Test {
- def main(args: Array[String]): Unit = {
- val p = new ColoredPoint(5, 7, Color.RED);
- Console.println("p.x = " + p.x);
- Console.println("p.c = " + p.c);
- Console.println("p.getX() = " + p.getX());
- Console.println("p.getC() = " + p.getC());
- }
-}
-
-//############################################################################
diff --git a/test/files/jvm/NestedAnnotations.java b/test/files/jvm/NestedAnnotations.java
deleted file mode 100644
index 8f2327dcce..0000000000
--- a/test/files/jvm/NestedAnnotations.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package test;
-
-import static java.lang.annotation.ElementType.FIELD;
-import static java.lang.annotation.RetentionPolicy.RUNTIME;
-
-import java.lang.annotation.Retention;
-import java.lang.annotation.Target;
-
-public class NestedAnnotations {
-
- @OuterAnno(inner=@InnerAnno(name="inner"))
- String field;
-
- @Target({FIELD})
- @Retention(RUNTIME)
- public static @interface InnerAnno {
- String name();
- }
-
- @Target({FIELD})
- @Retention(RUNTIME)
- public static @interface OuterAnno {
- InnerAnno inner();
- }
-}
diff --git a/test/files/jvm/OuterEnum.java b/test/files/jvm/OuterEnum.java
deleted file mode 100644
index 75d3f34223..0000000000
--- a/test/files/jvm/OuterEnum.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package enums;
-
-public class OuterEnum {
- public enum Foo { Bar }
-}
diff --git a/test/files/jvm/OuterTParams.java b/test/files/jvm/OuterTParams.java
deleted file mode 100644
index 1d3db49fcf..0000000000
--- a/test/files/jvm/OuterTParams.java
+++ /dev/null
@@ -1,6 +0,0 @@
-public class OuterTParams<A> {
- class InnerClass {
- // Cannot parse method signature: "()TA;"
- public A method() { return null; }
- }
-}
diff --git a/test/files/jvm/SourceAnnotation.java b/test/files/jvm/SourceAnnotation.java
deleted file mode 100644
index 047751ddfe..0000000000
--- a/test/files/jvm/SourceAnnotation.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package test;
-
-import java.lang.annotation.*;
-
-@Retention(value=RetentionPolicy.RUNTIME)
-public @interface SourceAnnotation {
- public String value();
- public String[] mails() default { "bill.gates@bloodsuckers.com" };
-}
diff --git a/test/files/jvm/actor-exceptions.check b/test/files/jvm/actor-exceptions.check
index 021ccea1f1..bd44b968cc 100644
--- a/test/files/jvm/actor-exceptions.check
+++ b/test/files/jvm/actor-exceptions.check
@@ -1,11 +1,3 @@
-problem
-received A
-problem
-received A
-problem
-received A
-problem
-received A
-problem
-received last A
-slave exited because of java.lang.Exception: unhandled
+Uncaught exception in Slave
+Message: A
+MyOtherException
diff --git a/test/files/jvm/actor-exceptions.scala b/test/files/jvm/actor-exceptions.scala
index ccec84c56c..77bf05c048 100644
--- a/test/files/jvm/actor-exceptions.scala
+++ b/test/files/jvm/actor-exceptions.scala
@@ -2,7 +2,13 @@
import scala.actors.{Actor, Exit}
import Actor._
-case class MyException(text: String) extends Exception
+case class MyException(text: String) extends Exception {
+ override def fillInStackTrace() = this
+}
+
+case class MyOtherException(text: String) extends Exception {
+ override def fillInStackTrace() = this
+}
object Master extends Actor {
trapExit = true
@@ -11,14 +17,15 @@ object Master extends Actor {
Slave.start()
for (i <- 0 until 10) Slave ! A
react {
- case Exit(from, reason) => println("slave exited because of "+reason)
+ case Exit(from, reason) =>
}
}
}
object Slave extends Actor {
+ override def toString = "Slave"
override def exceptionHandler: PartialFunction[Exception, Unit] = {
- case MyException(text) => println(text)
+ case MyException(text) =>
}
def act() {
var cnt = 0
@@ -27,11 +34,8 @@ object Slave extends Actor {
case A =>
cnt += 1
if (cnt % 2 != 0) throw MyException("problem")
- if (cnt < 10)
- println("received A")
- else {
- println("received last A")
- throw new Exception("unhandled")
+ if (cnt == 10) {
+ throw new MyOtherException("unhandled")
}
}
}
diff --git a/test/files/jvm/actor-executor.check b/test/files/jvm/actor-executor.check
new file mode 100644
index 0000000000..bdbdb5c6a2
--- /dev/null
+++ b/test/files/jvm/actor-executor.check
@@ -0,0 +1,20 @@
+Two: OK
+One: OK
+Two: OK
+One: OK
+Two: OK
+One: OK
+Two: OK
+One: OK
+Two: OK
+One: OK
+Two: OK
+One: OK
+Two: OK
+One: OK
+Two: OK
+One: OK
+Two: OK
+One: OK
+Two: OK
+One: OK
diff --git a/test/files/jvm/actor-executor.scala b/test/files/jvm/actor-executor.scala
new file mode 100644
index 0000000000..435c666fff
--- /dev/null
+++ b/test/files/jvm/actor-executor.scala
@@ -0,0 +1,65 @@
+import java.util.concurrent.Executors
+import scala.actors.{Actor, SchedulerAdapter}
+import Actor._
+
+trait AdaptedActor extends Actor {
+ override def scheduler =
+ Test.scheduler
+}
+
+object One extends AdaptedActor {
+ def act() {
+ Two.start()
+ var i = 0
+ loopWhile (i < 10000) {
+ i += 1
+ Two ! 'MsgForTwo
+ react {
+ case 'MsgForOne =>
+ if (i % 1000 == 0)
+ println("One: OK")
+ if (i == 10000)
+ Test.executor.shutdown()
+ }
+ }
+ }
+}
+
+object Two extends AdaptedActor {
+ def act() {
+ var i = 0
+ loopWhile (i < 10000) {
+ i += 1
+ react {
+ case 'MsgForTwo =>
+ if (i % 1000 == 0)
+ println("Two: OK")
+ One ! 'MsgForOne
+ }
+ }
+ }
+}
+
+object Test {
+ val executor =
+ Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors())
+
+ val scheduler =
+ new SchedulerAdapter {
+ def execute(block: => Unit) {
+ val task = new Runnable {
+ def run() { block }
+ }
+ try {
+ executor.execute(task)
+ } catch {
+ case ree: java.util.concurrent.RejectedExecutionException =>
+ task.run()
+ }
+ }
+ }
+
+ def main(args: Array[String]) {
+ One.start()
+ }
+}
diff --git a/test/files/jvm/actor-executor2.check b/test/files/jvm/actor-executor2.check
new file mode 100644
index 0000000000..da78f45836
--- /dev/null
+++ b/test/files/jvm/actor-executor2.check
@@ -0,0 +1,21 @@
+Two: OK
+One: OK
+Two: OK
+One: OK
+Two: OK
+One: OK
+Two: OK
+One: OK
+Two: OK
+One: OK
+Two: OK
+One: OK
+Two: OK
+One: OK
+Two: OK
+One: OK
+Two: OK
+One: OK
+Two: OK
+One: OK
+One exited
diff --git a/test/files/jvm/actor-executor2.scala b/test/files/jvm/actor-executor2.scala
new file mode 100644
index 0000000000..9e99e167aa
--- /dev/null
+++ b/test/files/jvm/actor-executor2.scala
@@ -0,0 +1,67 @@
+import scala.actors.{Actor, SchedulerAdapter, Exit}
+import Actor._
+import java.util.concurrent.Executors
+
+object One extends AdaptedActor {
+ def act() {
+ Two.start()
+ var i = 0
+ loopWhile (i < Test.NUM_MSG) {
+ i += 1
+ Two ! 'MsgForTwo
+ react {
+ case 'MsgForOne =>
+ if (i % (Test.NUM_MSG/10) == 0)
+ println("One: OK")
+ }
+ }
+ }
+}
+
+object Two extends AdaptedActor {
+ def act() {
+ var i = 0
+ loopWhile (i < Test.NUM_MSG) {
+ i += 1
+ react {
+ case 'MsgForTwo =>
+ if (i % (Test.NUM_MSG/10) == 0)
+ println("Two: OK")
+ One ! 'MsgForOne
+ }
+ }
+ }
+}
+
+trait AdaptedActor extends Actor {
+ override def scheduler =
+ Test.scheduler
+}
+
+object Test {
+ val NUM_MSG = 100000
+
+ val executor =
+ Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors())
+
+ val scheduler =
+ new SchedulerAdapter {
+ def execute(block: => Unit) {
+ executor.execute(new Runnable {
+ def run() { block }
+ })
+ }
+ }
+
+ def main(args: Array[String]) {
+ self.trapExit = true
+ link(One)
+ One.start()
+
+ receive {
+ case Exit(from, reason) =>
+ println("One exited")
+ Test.executor.shutdown()
+ }
+ }
+}
diff --git a/test/files/jvm/actor-executor3.check b/test/files/jvm/actor-executor3.check
new file mode 100644
index 0000000000..bdbdb5c6a2
--- /dev/null
+++ b/test/files/jvm/actor-executor3.check
@@ -0,0 +1,20 @@
+Two: OK
+One: OK
+Two: OK
+One: OK
+Two: OK
+One: OK
+Two: OK
+One: OK
+Two: OK
+One: OK
+Two: OK
+One: OK
+Two: OK
+One: OK
+Two: OK
+One: OK
+Two: OK
+One: OK
+Two: OK
+One: OK
diff --git a/test/files/jvm/actor-executor3.scala b/test/files/jvm/actor-executor3.scala
new file mode 100644
index 0000000000..bf060b8ac5
--- /dev/null
+++ b/test/files/jvm/actor-executor3.scala
@@ -0,0 +1,52 @@
+import scala.actors.Actor
+import scala.actors.scheduler.ExecutorScheduler
+import java.util.concurrent.Executors
+
+object One extends AdaptedActor {
+ def act() {
+ Two.start()
+ var i = 0
+ loopWhile (i < Test.NUM_MSG) {
+ i += 1
+ Two ! 'MsgForTwo
+ react {
+ case 'MsgForOne =>
+ if (i % (Test.NUM_MSG/10) == 0)
+ println("One: OK")
+ }
+ }
+ }
+}
+
+object Two extends AdaptedActor {
+ def act() {
+ var i = 0
+ loopWhile (i < Test.NUM_MSG) {
+ i += 1
+ react {
+ case 'MsgForTwo =>
+ if (i % (Test.NUM_MSG/10) == 0)
+ println("Two: OK")
+ One ! 'MsgForOne
+ }
+ }
+ }
+}
+
+trait AdaptedActor extends Actor {
+ override def scheduler =
+ Test.scheduler
+}
+
+object Test {
+ val NUM_MSG = 100000
+
+ val executor =
+ Executors.newFixedThreadPool(Runtime.getRuntime().availableProcessors())
+
+ val scheduler = ExecutorScheduler(executor)
+
+ def main(args: Array[String]) {
+ One.start()
+ }
+}
diff --git a/test/files/jvm/actor-getstate.check b/test/files/jvm/actor-getstate.check
new file mode 100644
index 0000000000..2c94e48371
--- /dev/null
+++ b/test/files/jvm/actor-getstate.check
@@ -0,0 +1,2 @@
+OK
+OK
diff --git a/test/files/jvm/actor-getstate.scala b/test/files/jvm/actor-getstate.scala
new file mode 100644
index 0000000000..a6e15a8721
--- /dev/null
+++ b/test/files/jvm/actor-getstate.scala
@@ -0,0 +1,85 @@
+import scala.actors.{Reactor, Actor, TIMEOUT}
+import Actor._
+
+object Test {
+
+ def assert(cond: => Boolean, hint: String) {
+ if (!cond)
+ println("FAIL ["+hint+"]")
+ }
+
+ def expectActorState(a: Reactor[T] forSome { type T }, s: Actor.State.Value) {
+ var done = false
+ var i = 0
+ while (!done) {
+ i = i + 1
+ if (i == 10) { // only wait for 2 seconds total
+ println("FAIL ["+a+": expected "+s+"]")
+ done = true
+ }
+
+ Thread.sleep(200)
+ if (a.getState == s) // success
+ done = true
+ }
+ }
+
+ def main(args: Array[String]) {
+ actor {
+ val a = new Reactor[Any] {
+ def act() {
+ assert(getState == Actor.State.Runnable, "runnable1")
+ react {
+ case 'go =>
+ println("OK")
+ }
+ }
+ }
+ expectActorState(a, Actor.State.New)
+
+ a.start()
+ expectActorState(a, Actor.State.Suspended)
+
+ a ! 'go
+ expectActorState(a, Actor.State.Terminated)
+
+ val b = new Actor {
+ def act() {
+ assert(getState == Actor.State.Runnable, "runnable2: "+getState)
+ react {
+ case 'go =>
+ reactWithin(100000) {
+ case TIMEOUT =>
+ case 'go =>
+ receive {
+ case 'go =>
+ }
+ receiveWithin(100000) {
+ case TIMEOUT =>
+ case 'go =>
+ println("OK")
+ }
+ }
+ }
+ }
+ }
+ expectActorState(b, Actor.State.New)
+
+ b.start()
+ expectActorState(b, Actor.State.Suspended)
+
+ b ! 'go
+ expectActorState(b, Actor.State.TimedSuspended)
+
+ b ! 'go
+ expectActorState(b, Actor.State.Blocked)
+
+ b ! 'go
+ expectActorState(b, Actor.State.TimedBlocked)
+
+ b ! 'go
+ expectActorState(b, Actor.State.Terminated)
+ }
+ }
+
+}
diff --git a/test/files/jvm/actor-link-getstate.check b/test/files/jvm/actor-link-getstate.check
new file mode 100644
index 0000000000..45967222e6
--- /dev/null
+++ b/test/files/jvm/actor-link-getstate.check
@@ -0,0 +1,5 @@
+Done
+Uncaught exception in Master
+Message: 'done
+MyException: Master crashed
+Terminated
diff --git a/test/files/jvm/actor-link-getstate.scala b/test/files/jvm/actor-link-getstate.scala
new file mode 100644
index 0000000000..ec01757883
--- /dev/null
+++ b/test/files/jvm/actor-link-getstate.scala
@@ -0,0 +1,47 @@
+import scala.actors.{Actor, Exit}
+import scala.actors.Actor._
+
+case class MyException(text: String) extends Exception(text) {
+ override def fillInStackTrace() = this
+}
+
+object Slave extends Actor {
+ def act() {
+ loop {
+ react {
+ case 'doWork =>
+ Console.err.println("Done")
+ reply('done)
+ }
+ }
+ }
+}
+
+object Master extends Actor {
+ override def toString = "Master"
+ def act() {
+ link(Slave)
+ Slave ! 'doWork
+ react {
+ case 'done =>
+ throw new MyException("Master crashed")
+ }
+ }
+}
+
+object Test {
+
+ def main(args: Array[String]) {
+ actor {
+ self.trapExit = true
+ link(Slave)
+ Slave.start()
+ Master.start()
+ react {
+ case Exit(from, reason) if (from == Slave) =>
+ Console.err.println(Slave.getState)
+ }
+ }
+ }
+
+}
diff --git a/test/files/jvm/actor-receivewithin.scala b/test/files/jvm/actor-receivewithin.scala
index c6818cf211..a5c87c2722 100644
--- a/test/files/jvm/actor-receivewithin.scala
+++ b/test/files/jvm/actor-receivewithin.scala
@@ -29,6 +29,7 @@ object A extends Actor {
}
}
B ! 'next
+ receive { case 'done => }
cnt = 0
while (cnt < 501) {
cnt += 1
@@ -56,6 +57,7 @@ object B extends Actor {
for (_ <- 1 to 500) {
A ! 'msg2
}
+ A ! 'done
}
}
}
diff --git a/test/files/jvm/actor-uncaught-exception.check b/test/files/jvm/actor-uncaught-exception.check
new file mode 100644
index 0000000000..3e669779df
--- /dev/null
+++ b/test/files/jvm/actor-uncaught-exception.check
@@ -0,0 +1,5 @@
+Uncaught exception in StartError
+MyException: I don't want to run!
+Uncaught exception in MessageError
+Message: 'ping
+MyException: No message for me!
diff --git a/test/files/jvm/actor-uncaught-exception.scala b/test/files/jvm/actor-uncaught-exception.scala
new file mode 100644
index 0000000000..9f64be26e1
--- /dev/null
+++ b/test/files/jvm/actor-uncaught-exception.scala
@@ -0,0 +1,46 @@
+import scala.actors.{Actor, Exit}
+
+class MyException(msg: String) extends Exception(msg) {
+ override def fillInStackTrace() = this
+}
+
+object Test {
+
+ case object StartError extends Actor {
+ def act() {
+ throw new MyException("I don't want to run!")
+ }
+ }
+
+ case object MessageError extends Actor {
+ def act() {
+ react {
+ case _ => throw new MyException("No message for me!")
+ }
+ }
+ }
+
+ case object Supervisor extends Actor {
+ def act() {
+ trapExit = true
+ link(StartError)
+ link(MessageError)
+ StartError.start()
+ MessageError.start()
+
+ Actor.loop {
+ react {
+ case Exit(actor, reason) =>
+ if (actor == StartError)
+ MessageError ! 'ping
+ else
+ exit()
+ }
+ }
+ }
+ }
+
+ def main(args: Array[String]) {
+ Supervisor.start()
+ }
+}
diff --git a/test/files/jvm/deprecation.cmds b/test/files/jvm/deprecation.cmds
new file mode 100644
index 0000000000..4c0f73c58b
--- /dev/null
+++ b/test/files/jvm/deprecation.cmds
@@ -0,0 +1,3 @@
+javac Defs.java
+scalac Test_1.scala
+javac Use_2.java
diff --git a/test/files/jvm/future-alarm.check b/test/files/jvm/future-alarm.check
new file mode 100644
index 0000000000..01a87d1c4c
--- /dev/null
+++ b/test/files/jvm/future-alarm.check
@@ -0,0 +1,20 @@
+OK
+OK
+OK
+OK
+OK
+OK
+OK
+OK
+OK
+OK
+OK
+OK
+OK
+OK
+OK
+OK
+OK
+OK
+OK
+OK
diff --git a/test/files/jvm/future-alarm.scala b/test/files/jvm/future-alarm.scala
new file mode 100644
index 0000000000..0dda492741
--- /dev/null
+++ b/test/files/jvm/future-alarm.scala
@@ -0,0 +1,16 @@
+import scala.actors.Futures
+
+object Test {
+ def main(args: Array[String]) {
+ for (i <- 1 to 100000) {
+ Futures.alarm(0)
+ if (i % 10000 == 0)
+ println("OK")
+ }
+ for (_ <- 1 to 10) {
+ val ft = Futures.alarm(100)
+ ft()
+ println("OK")
+ }
+ }
+}
diff --git a/test/files/lib/genericNest.jar.desired.sha1 b/test/files/jvm/genericNest/genericNest.jar.desired.sha1
index e9321262f2..e9321262f2 100644
--- a/test/files/lib/genericNest.jar.desired.sha1
+++ b/test/files/jvm/genericNest/genericNest.jar.desired.sha1
diff --git a/test/files/jvm/genericNest.scala b/test/files/jvm/genericNest/genericNest.scala
index c1b0210117..c1b0210117 100644
--- a/test/files/jvm/genericNest.scala
+++ b/test/files/jvm/genericNest/genericNest.scala
diff --git a/test/files/jvm/inner.scala b/test/files/jvm/inner.scala
index 51e3909ef3..d0d2226de6 100644
--- a/test/files/jvm/inner.scala
+++ b/test/files/jvm/inner.scala
@@ -53,8 +53,8 @@ class A {
}
object Scalatest {
- private val outputdir = System.getProperty("scalatest.output", "inner-jvm.obj")
- private val scalalib = System.getProperty("scalatest.lib", "")
+ private val outputdir = System.getProperty("partest.output", "inner.obj")
+ private val scalalib = System.getProperty("partest.lib", "")
private val classpath = outputdir + File.pathSeparator + scalalib
private val javabin = {
val jhome = new File(System.getProperty("java.home"))
diff --git a/test/files/jvm/interpreter.check b/test/files/jvm/interpreter.check
index 6c89318470..b74ba1be0a 100644
--- a/test/files/jvm/interpreter.check
+++ b/test/files/jvm/interpreter.check
@@ -19,7 +19,7 @@ scala> defined type alias anotherint
scala> four: anotherint = 4
-scala> <console>:5: error: type mismatch;
+scala> <console>:6: error: type mismatch;
found : java.lang.String("hello")
required: anotherint
val bogus: anotherint = "hello"
@@ -169,7 +169,7 @@ scala> res4: Array[_] = Array(2)
scala> res5: Array[java.lang.String] = Array(abc, abc)
-scala> res6: scala.collection.mutable.GenericArray[_] = GenericArray(1, 2)
+scala> res6: scala.collection.mutable.ArraySeq[_] = ArraySeq(1, 2)
scala> res7: Array[(_$1, _$1)] forSome { type _$1 } = Array((1,1), (2,2))
@@ -217,9 +217,9 @@ scala> defined class Exp
defined class Fact
defined class Term
-scala> | | <console>:15: warning: match is not exhaustive!
-missing combination Term
+scala> | | <console>:16: warning: match is not exhaustive!
missing combination Exp
+missing combination Term
def f(e: Exp) = e match { // non-exhaustive warning here
^
@@ -229,7 +229,7 @@ scala>
scala>
plusOne: (x: Int)Int
res0: Int = 6
-res0: java.lang.String = after reset
-<console>:5: error: not found: value plusOne
+res1: java.lang.String = after reset
+<console>:6: error: not found: value plusOne
plusOne(5) // should be undefined now
^
diff --git a/test/files/lib/annotations.jar.desired.sha1 b/test/files/jvm/lib/annotations.jar.desired.sha1
index 2b4292d796..2b4292d796 100644
--- a/test/files/lib/annotations.jar.desired.sha1
+++ b/test/files/jvm/lib/annotations.jar.desired.sha1
diff --git a/test/files/lib/nest.jar.desired.sha1 b/test/files/jvm/lib/nest.jar.desired.sha1
index 674ca79a5b..674ca79a5b 100644
--- a/test/files/lib/nest.jar.desired.sha1
+++ b/test/files/jvm/lib/nest.jar.desired.sha1
diff --git a/test/files/lib/methvsfield.jar.desired.sha1 b/test/files/jvm/methvsfield/methvsfield.jar.desired.sha1
index 8c01532b88..8c01532b88 100644
--- a/test/files/lib/methvsfield.jar.desired.sha1
+++ b/test/files/jvm/methvsfield/methvsfield.jar.desired.sha1
diff --git a/test/files/jvm/methvsfield.java b/test/files/jvm/methvsfield/methvsfield.java
index dadc98669a..dadc98669a 100644
--- a/test/files/jvm/methvsfield.java
+++ b/test/files/jvm/methvsfield/methvsfield.java
diff --git a/test/files/jvm/methvsfield.scala b/test/files/jvm/methvsfield/methvsfield.scala
index e9795ec6a8..e9795ec6a8 100644
--- a/test/files/jvm/methvsfield.scala
+++ b/test/files/jvm/methvsfield/methvsfield.scala
diff --git a/test/files/jvm/mkAnnotationsJar.sh b/test/files/jvm/mkAnnotationsJar.sh
deleted file mode 100755
index 3d69351165..0000000000
--- a/test/files/jvm/mkAnnotationsJar.sh
+++ /dev/null
@@ -1,28 +0,0 @@
-#!/bin/sh
-
-##############################################################################
-# Author : Nikolay Mihaylov
-##############################################################################
-
-##############################################################################
-# variables
-
-OBJDIR=./classes
-
-if [ -z "${JAVA_HOME}" ]; then
- echo "environment variable JAVA_HOME is undefined."
- exit
-fi
-
-JAVAC=${JAVA_HOME}/bin/javac
-JAVAC_OPTIONS="-source 1.5 -target 1.5"
-
-JAR=${JAVA_HOME}/bin/jar
-
-##############################################################################
-# commands
-
-mkdir -p ${OBJDIR}
-${JAVAC} ${JAVAC_OPTIONS} -d ${OBJDIR} SourceAnnotation.java NestedAnnotations.java
-${JAR} cf ../lib/annotations.jar -C ${OBJDIR} .
-rm -rf ${OBJDIR}
diff --git a/test/files/jvm/nest.java b/test/files/jvm/nest/nest.java
index 3f6f0bebbd..3f6f0bebbd 100644
--- a/test/files/jvm/nest.java
+++ b/test/files/jvm/nest/nest.java
diff --git a/test/files/jvm/nest.scala b/test/files/jvm/nest/nest.scala
index 3ab62484fa..3ab62484fa 100644
--- a/test/files/jvm/nest.scala
+++ b/test/files/jvm/nest/nest.scala
diff --git a/test/files/lib/enums.jar.desired.sha1 b/test/files/jvm/outerEnum/enums.jar.desired.sha1
index 46cd8e92cf..46cd8e92cf 100644
--- a/test/files/lib/enums.jar.desired.sha1
+++ b/test/files/jvm/outerEnum/enums.jar.desired.sha1
diff --git a/test/files/jvm/outerEnum.scala b/test/files/jvm/outerEnum/outerEnum.scala
index 18794b7dbe..18794b7dbe 100644
--- a/test/files/jvm/outerEnum.scala
+++ b/test/files/jvm/outerEnum/outerEnum.scala
diff --git a/test/files/jvm/reactor-exceptionOnSend.scala b/test/files/jvm/reactor-exceptionOnSend.scala
index 3684943b9b..c89aab334b 100644
--- a/test/files/jvm/reactor-exceptionOnSend.scala
+++ b/test/files/jvm/reactor-exceptionOnSend.scala
@@ -3,7 +3,7 @@ import scala.actors.Actor._
case class MyException(text: String) extends Exception(text)
-object A extends Reactor {
+object A extends Reactor[Any] {
override def exceptionHandler = {
case MyException(text) =>
println("receiver handles exception")
@@ -29,7 +29,7 @@ object A extends Reactor {
}
}
-object B extends Reactor {
+object B extends Reactor[Any] {
def act() {
A.start()
A ! 'hello
diff --git a/test/files/jvm/reactor-producer-consumer.scala b/test/files/jvm/reactor-producer-consumer.scala
index 946e1561ce..0d33043fc6 100644
--- a/test/files/jvm/reactor-producer-consumer.scala
+++ b/test/files/jvm/reactor-producer-consumer.scala
@@ -2,10 +2,10 @@ import scala.actors.Reactor
object Test {
case class Stop()
- case class Get(from: Reactor)
+ case class Get(from: Reactor[Any])
case class Put(x: Int)
- class UnboundedBuffer extends Reactor {
+ class UnboundedBuffer extends Reactor[Any] {
def act() {
react {
case Stop() =>
@@ -20,7 +20,7 @@ object Test {
}
}
- class Producer(buf: UnboundedBuffer, n: Int, delay: Long, parent: Reactor) extends Reactor {
+ class Producer(buf: UnboundedBuffer, n: Int, delay: Long, parent: Reactor[Any]) extends Reactor[Any] {
def act() {
var i = 0
while (i < n) {
@@ -32,7 +32,7 @@ object Test {
}
}
- class Consumer(buf: UnboundedBuffer, n: Int, delay: Long, parent: Reactor) extends Reactor {
+ class Consumer(buf: UnboundedBuffer, n: Int, delay: Long, parent: Reactor[Any]) extends Reactor[Any] {
val step = n / 10
var i = 0
def act() {
@@ -53,7 +53,7 @@ object Test {
}
def main(args: Array[String]) {
- val parent = new Reactor {
+ val parent = new Reactor[Any] {
def act() {
val buffer = new UnboundedBuffer
buffer.start()
diff --git a/test/files/jvm/reactor.scala b/test/files/jvm/reactor.scala
index 8985f90569..12d5c7c221 100644
--- a/test/files/jvm/reactor.scala
+++ b/test/files/jvm/reactor.scala
@@ -1,13 +1,12 @@
import scala.actors.Reactor
-import scala.actors.Actor._
-case class Ping(from: Reactor)
+case class Ping(from: Reactor[Any])
case object Pong
case object Stop
/**
- * Ping pong example for OutputChannelActor.
+ * Ping pong example for Reactor.
*
* @author Philipp Haller
*/
@@ -20,7 +19,7 @@ object Test {
}
}
-class PingActor(count: Int, pong: Reactor) extends Reactor {
+class PingActor(count: Int, pong: Reactor[Any]) extends Reactor[Any] {
def act() {
var pingsLeft = count - 1
pong ! Ping(this)
@@ -42,7 +41,7 @@ class PingActor(count: Int, pong: Reactor) extends Reactor {
}
}
-class PongActor extends Reactor {
+class PongActor extends Reactor[Any] {
def act() {
var pongCount = 0
loop {
diff --git a/test/files/jvm/replyablereactor.scala b/test/files/jvm/replyablereactor.scala
index 368d172e3f..896a0bf440 100644
--- a/test/files/jvm/replyablereactor.scala
+++ b/test/files/jvm/replyablereactor.scala
@@ -1,5 +1,4 @@
-import scala.actors._
-import scala.actors.Actor._
+import scala.actors.ReplyReactor
class MyActor extends ReplyReactor {
def act() {
@@ -19,7 +18,7 @@ object Test {
val a = new MyActor
a.start()
- val b = new Reactor {
+ val b = new ReplyReactor {
def act() {
react {
case r: MyActor =>
diff --git a/test/files/jvm/replyablereactor2.scala b/test/files/jvm/replyablereactor2.scala
index 22622274dd..57b7cfe201 100644
--- a/test/files/jvm/replyablereactor2.scala
+++ b/test/files/jvm/replyablereactor2.scala
@@ -19,7 +19,7 @@ object Test {
val a = new MyActor
a.start()
- val b = new Reactor {
+ val b = new Reactor[Any] {
def act() {
react {
case r: MyActor =>
diff --git a/test/files/jvm/replyablereactor3.scala b/test/files/jvm/replyablereactor3.scala
index 676ffe98e6..b33db811e2 100644
--- a/test/files/jvm/replyablereactor3.scala
+++ b/test/files/jvm/replyablereactor3.scala
@@ -19,7 +19,7 @@ object Test {
val a = new MyActor
a.start()
- val b = new Reactor {
+ val b = new Reactor[Any] {
def act() {
react {
case r: MyActor =>
diff --git a/test/files/jvm/replyablereactor4.scala b/test/files/jvm/replyablereactor4.scala
index d61fb64287..dc24f5e88d 100644
--- a/test/files/jvm/replyablereactor4.scala
+++ b/test/files/jvm/replyablereactor4.scala
@@ -19,7 +19,7 @@ object Test {
val a = new MyActor
a.start()
- val b = new Reactor {
+ val b = new Reactor[Any] {
def act() {
react {
case r: MyActor =>
diff --git a/test/files/jvm/replyreactor.scala b/test/files/jvm/replyreactor.scala
index 0f452dbc7b..fb915cf3f9 100644
--- a/test/files/jvm/replyreactor.scala
+++ b/test/files/jvm/replyreactor.scala
@@ -1,4 +1,4 @@
-import scala.actors.{Reactor, ReplyReactor}
+import scala.actors.ReplyReactor
object Test {
def main(args: Array[String]) {
@@ -12,10 +12,10 @@ object Test {
}
a.start()
- val b = new Reactor {
+ val b = new ReplyReactor {
def act() {
react {
- case r: Reactor =>
+ case r: ReplyReactor =>
r ! 'hello
react {
case any =>
diff --git a/test/files/jvm/serialization.check b/test/files/jvm/serialization.check
index 2b0ad3888b..3f095cb51e 100644
--- a/test/files/jvm/serialization.check
+++ b/test/files/jvm/serialization.check
@@ -33,9 +33,9 @@ x10 eq y10: true, y10 eq x10: true
x10 equals y10: true, y10 equals x10: true
x9 eq x10: false, x10 eq x9: false
-x9 equals x10: true, x10 equals x9: true
+x9 equals x10: false, x10 equals x9: false
x9 eq y10: false, y10 eq x9: false
-x9 equals y10: true, y10 equals x9: true
+x9 equals y10: false, y10 equals x9: false
f1 = <na>
_f1 = <na>
@@ -77,12 +77,12 @@ x = BitSet(2, 3)
y = BitSet(2, 3)
x equals y: true, y equals x: true
-x = Map(2 -> B, 1 -> A, 3 -> C)
+x = Map(1 -> A, 2 -> B, 3 -> C)
y = Map(1 -> A, 2 -> B, 3 -> C)
x equals y: true, y equals x: true
x = Set(1, 2)
-y = Set(2, 1)
+y = Set(1, 2)
x equals y: true, y equals x: true
x = List((buffers,20), (layers,2), (title,3))
diff --git a/test/files/jvm/t1652.check b/test/files/jvm/t1652.check
deleted file mode 100644
index dfa480ce6e..0000000000
--- a/test/files/jvm/t1652.check
+++ /dev/null
@@ -1,2 +0,0 @@
-OK1
-OK2
diff --git a/test/files/jvm/t2470.cmds b/test/files/jvm/t2470.cmds
new file mode 100644
index 0000000000..b4ef0f4aeb
--- /dev/null
+++ b/test/files/jvm/t2470.cmds
@@ -0,0 +1,3 @@
+javac Action.java Task.java
+scalac Test_1.scala
+scalac Read_Classfile_2.scala
diff --git a/test/files/jvm/t2827.check b/test/files/jvm/t2827.check
new file mode 100644
index 0000000000..c318e01ae5
--- /dev/null
+++ b/test/files/jvm/t2827.check
@@ -0,0 +1,3 @@
+Larry
+Curly
+Moe
diff --git a/test/files/jvm/t2827.scala b/test/files/jvm/t2827.scala
new file mode 100644
index 0000000000..d89e68516b
--- /dev/null
+++ b/test/files/jvm/t2827.scala
@@ -0,0 +1,14 @@
+object Stooges extends Enumeration {
+ type Stooge = Value
+ val Larry, Curly, Moe = Value
+ def nextStooge(v:Stooges.Stooge):Stooges.Stooge =
+ Stooges((v.id+1) % Stooges.maxId)
+}
+
+object Test {
+ def main(args: Array[String]) {
+ println(Stooges.Larry)
+ println(Stooges.Curly)
+ println(Stooges.Moe)
+ }
+}
diff --git a/test/files/jvm/t3003.check b/test/files/jvm/t3003.check
new file mode 100644
index 0000000000..c69e389d13
--- /dev/null
+++ b/test/files/jvm/t3003.check
@@ -0,0 +1 @@
+List(List(@Annot(optionType=class java.lang.String)))
diff --git a/test/files/jvm/t3003.cmds b/test/files/jvm/t3003.cmds
new file mode 100644
index 0000000000..c00396627c
--- /dev/null
+++ b/test/files/jvm/t3003.cmds
@@ -0,0 +1,2 @@
+javac Annot.java
+scalac Test_1.scala
diff --git a/test/files/jvm/t3003/Annot.java b/test/files/jvm/t3003/Annot.java
new file mode 100644
index 0000000000..1d5f206fd7
--- /dev/null
+++ b/test/files/jvm/t3003/Annot.java
@@ -0,0 +1,4 @@
+@java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME)
+public @interface Annot {
+ Class<?> optionType();
+}
diff --git a/test/files/jvm/t3003/Test_1.scala b/test/files/jvm/t3003/Test_1.scala
new file mode 100644
index 0000000000..ec7f220c94
--- /dev/null
+++ b/test/files/jvm/t3003/Test_1.scala
@@ -0,0 +1,8 @@
+class C {
+ @Annot(optionType=classOf[String]) val k = 0
+}
+object Test {
+ def main(args: Array[String]) {
+ println(classOf[C].getDeclaredFields.toList.sortBy(f => f.getName).map(f => f.getAnnotations.toList))
+ }
+}
diff --git a/test/files/jvm/t3102.check b/test/files/jvm/t3102.check
new file mode 100644
index 0000000000..d705e0b20e
--- /dev/null
+++ b/test/files/jvm/t3102.check
@@ -0,0 +1,2 @@
+42
+OK
diff --git a/test/files/jvm/t3102.scala b/test/files/jvm/t3102.scala
new file mode 100644
index 0000000000..ea3e720eca
--- /dev/null
+++ b/test/files/jvm/t3102.scala
@@ -0,0 +1,26 @@
+import scala.actors.{Actor, TIMEOUT}
+import Actor._
+
+object Test {
+ def main(args: Array[String]) {
+ val a = actor {
+ react {
+ case 'hello =>
+ reply(42)
+ }
+ }
+
+ val b = actor {
+ self.trapExit = true
+ val ft = a !! 'hello
+ println(ft())
+ // no message should be left over in mailbox
+ reactWithin(0) {
+ case TIMEOUT =>
+ println("OK")
+ case any =>
+ println(any)
+ }
+ }
+ }
+}
diff --git a/test/files/jvm/unittest_io.scala b/test/files/jvm/unittest_io.scala
index 0cf1165ec8..80d33d8433 100644
--- a/test/files/jvm/unittest_io.scala
+++ b/test/files/jvm/unittest_io.scala
@@ -16,7 +16,7 @@ it is split on several lines.
isn't it?
""")
def runTest() = assertEquals("wrong number of lines",src.getLines("\n").toList.length,5) // five new lines in there
- //for(val line <- src.getLines) {
+ //for (line <- src.getLines) {
// Console.print(line)
//}
}
diff --git a/test/files/jvm/xml01.scala b/test/files/jvm/xml01.scala
index e305f516d7..56e1c4ef96 100644
--- a/test/files/jvm/xml01.scala
+++ b/test/files/jvm/xml01.scala
@@ -25,20 +25,18 @@ object Test extends Application with Assert {
override def text = ""
}
- assertSameElements(List(3), List(3))
-
println("equality")
- assertEquals(c, parsedxml11)
- assertEquals(parsedxml1, parsedxml11)
- assertSameElements(List(parsedxml1), List(parsedxml11))
- assertSameElements(Array(parsedxml1).toList, List(parsedxml11))
+ assertEqualsXML(c, parsedxml11)
+ assertEqualsXML(parsedxml1, parsedxml11)
+ assertSameElementsXML(List(parsedxml1), List(parsedxml11))
+ assertSameElementsXML(Array(parsedxml1).toList, List(parsedxml11))
val x2 = "<book><author>Peter Buneman</author><author>Dan Suciu</author><title>Data on ze web</title></book>";
val i = new InputSource(new StringReader(x2))
val x2p = XML.load(i)
- assertEquals(x2p, Elem(null, "book" , e, sc,
+ assertEqualsXML(x2p, Elem(null, "book" , e, sc,
Elem(null, "author", e, sc,Text("Peter Buneman")),
Elem(null, "author", e, sc,Text("Dan Suciu")),
Elem(null, "title" , e, sc,Text("Data on ze web"))));
@@ -51,9 +49,9 @@ object Test extends Application with Assert {
println("xpath \\")
- assertSameElements(parsedxml1 \ "_" , List(Elem(null,"world", e, sc)))
+ assertSameElementsXML(parsedxml1 \ "_" , List(Elem(null,"world", e, sc)))
- assertSameElements(parsedxml1 \ "world", List(Elem(null,"world", e, sc)))
+ assertSameElementsXML(parsedxml1 \ "world", List(Elem(null,"world", e, sc)))
/*
Console.println( parsedxml2 \ "_" );
@@ -63,7 +61,7 @@ object Test extends Application with Assert {
};
*/
- assertSameElements(
+ assertSameElementsXML(
parsedxml2 \ "_" ,
List(
@@ -77,7 +75,7 @@ object Test extends Application with Assert {
);
assertEquals( (parsedxml2 \ "author").length, 0 );
- assertSameElements(
+ assertSameElementsXML(
parsedxml2 \ "book",
List(
@@ -91,7 +89,7 @@ object Test extends Application with Assert {
)
);
- assertSameElements(
+ assertSameElementsXML(
parsedxml2 \ "_" \ "_",
@@ -104,7 +102,7 @@ object Test extends Application with Assert {
)
);
- assertSameElements(
+ assertSameElementsXML(
parsedxml2 \ "_" \ "author",
@@ -116,11 +114,11 @@ object Test extends Application with Assert {
);
- assertSameElements( (parsedxml2 \ "_" \ "_" \ "author"), List() );
+ assertSameElementsXML( (parsedxml2 \ "_" \ "_" \ "author"), List() );
Console.println("xpath \\\\ DESCENDANTS");
- assertSameElements(
+ assertSameElementsXML(
parsedxml2 \\ "author",
@@ -133,7 +131,7 @@ object Test extends Application with Assert {
);
- assertSameElements(
+ assertSameElementsXML(
parsedxml2 \\ "title",
@@ -144,10 +142,10 @@ object Test extends Application with Assert {
println(
- (parsedxml2 \\ "book" ){ n:Node => n \ "title" == "Data on ze web" }
+ (parsedxml2 \\ "book" ){ n:Node => (n \ "title") xml_== "Data on ze web" }
);
- assertEquals(
+ assertEqualsXML(
(new NodeSeq { val theSeq = List( parsedxml2 ) }) \\ "_",
@@ -191,13 +189,13 @@ object Test extends Application with Assert {
val zz1 = <xml:group><a/><b/><c/></xml:group>
- assertTrue(zx1 == zz1)
+ assertTrue(zx1 xml_== zz1)
assertTrue(zz1.length == 3)
// unparsed
- val uup = <xml:unparsed>&<<>""^%@$!#</xml:unparsed>
- assertTrue(uup == "&<<>\"\"^%@$!#")
+ // val uup = <xml:unparsed>&<<>""^%@$!#</xml:unparsed>
+ // assertTrue(uup == "&<<>\"\"^%@$!#")
// test unicode escapes backslash u
println("attribute value normalization")
diff --git a/test/files/jvm/xml02.scala b/test/files/jvm/xml02.scala
index 0cbeb27ce2..11f77cc90f 100644
--- a/test/files/jvm/xml02.scala
+++ b/test/files/jvm/xml02.scala
@@ -18,10 +18,10 @@ object Test extends TestConsoleMain {
object XmlEx extends TestCase("attributes") with Assert {
override def runTest = {
- assertTrue("@one", ax \ "@foo" == "bar") // uses NodeSeq.view!
- assertTrue("@two", ax \ "@foo" == xml.Text("bar")) // dto.
- assertTrue("@three", bx \ "@foo" == "bar&x") // dto.
- assertTrue ("@four", (bx \ "@foo") sameElements List(xml.Text("bar&x")))
+ assertTrue("@one", (ax \ "@foo") xml_== "bar") // uses NodeSeq.view!
+ assertTrue("@two", (ax \ "@foo") xml_== xml.Text("bar")) // dto.
+ assertTrue("@three", (bx \ "@foo") xml_== "bar&x") // dto.
+ assertTrue ("@four", (bx \ "@foo") xml_sameElements List(xml.Text("bar&x")))
assertEquals("@five", "<hello foo=\"bar&amp;x\"></hello>", bx.toString)
}
}
@@ -29,8 +29,8 @@ object Test extends TestConsoleMain {
object XmlEy extends TestCase("attributes with namespace") with Assert {
override def runTest = {
val z = ax \ "@{the namespace from outer space}foo"
- assertTrue("@six", ax \ "@{the namespace from outer space}foo" == "baz")
- assertTrue("@eight", cx \ "@{the namespace from outer space}foo" == "baz")
+ assertTrue("@six", (ax \ "@{the namespace from outer space}foo") xml_== "baz")
+ assertTrue("@eight", (cx \ "@{the namespace from outer space}foo") xml_== "baz")
try {
ax \ "@"
@@ -58,8 +58,8 @@ object Test extends TestConsoleMain {
override def runTest = {
assertTrue(<hello/> match { case <hello/> => true; case _ => false; })
assertTrue(<x:ga xmlns:x="z"/> match { case <x:ga/> => true; case _ => false; });
- assertTrue(Utility.trim(cx) match { case n @ <hello>crazy text world</hello> if n \ "@foo" == "bar" => true; })
- assertTrue(Utility.trim(cx) match { case n @ <z:hello>crazy text world</z:hello> if n \ "@foo" == "bar" => true; })
+ assertTrue(Utility.trim(cx) match { case n @ <hello>crazy text world</hello> if (n \ "@foo") xml_== "bar" => true; })
+ assertTrue(Utility.trim(cx) match { case n @ <z:hello>crazy text world</z:hello> if (n \ "@foo") xml_== "bar" => true; })
}
}
diff --git a/test/files/jvm/xmlstuff.scala b/test/files/jvm/xmlstuff.scala
index 46faf283dc..6e711a0f86 100644
--- a/test/files/jvm/xmlstuff.scala
+++ b/test/files/jvm/xmlstuff.scala
@@ -64,9 +64,9 @@ passed ok
Text(x.attributes("value").toString + y.attributes("bazValue").toString+ "!")
};
val pelems_2 = new NodeSeq { val theSeq = List(Text("38!"),Text("58!")) };
- assertSameElements(pelems_1, pelems_2)
+ assertSameElementsXML(pelems_1, pelems_2)
- assertEquals(p \\ "@bazValue", Text("8"))
+ assertEqualsXML(p \\ "@bazValue", Text("8"))
val books =
<bks>
@@ -97,7 +97,7 @@ passed ok
println( new scala.xml.PrettyPrinter(80, 5).formatNodes (
for (t <- books \\ "title";
r <- reviews \\ "entry"
- if r \ "title" == t) yield
+ if (r \ "title") xml_== t) yield
<result>
{ t }
{ r \ "remarks" }
@@ -139,7 +139,7 @@ val addrBook =
println( new scala.xml.PrettyPrinter(80, 5).formatNodes (
for (t <- addrBook \\ "entry";
r <- phoneBook \\ "entry"
- if t \ "name" == r \ "name") yield
+ if (t \ "name") xml_== (r \ "name")) yield
<result>
{ t.child }
{ r \ "phone" }
diff --git a/test/files/neg/bug1210.check b/test/files/neg/bug1210.check
deleted file mode 100644
index 4db920556f..0000000000
--- a/test/files/neg/bug1210.check
+++ /dev/null
@@ -1,7 +0,0 @@
-bug1210.scala:13: error: illegal cyclic reference involving type Settings
- val v: List[selfType] = f[selfType]((x: selfType) => x.v)
- ^
-bug1210.scala:24: error: illegal cyclic reference involving type Settings
- f[selfType](_.g)
- ^
-two errors found
diff --git a/test/files/neg/bug1279a.check b/test/files/neg/bug1279a.check
deleted file mode 100644
index edfd1fe871..0000000000
--- a/test/files/neg/bug1279a.check
+++ /dev/null
@@ -1,6 +0,0 @@
-bug1279a.scala:34: error: type mismatch;
- found : first.selfType
- required: M{type T <: this.T}
- def all4Impl[U](first: M {type T <: U}): Stream[M {type T <: U}] = Stream.cons(first, all4Impl(first.next))
- ^
-one error found
diff --git a/test/files/neg/bug1878.check b/test/files/neg/bug1878.check
index 5484d675af..f760781fa0 100644
--- a/test/files/neg/bug1878.check
+++ b/test/files/neg/bug1878.check
@@ -1,10 +1,15 @@
bug1878.scala:3: error: _* may only come last
val err1 = "" match { case Seq(f @ _*, ',') => f }
^
+bug1878.scala:3: error: scrutinee is incompatible with pattern type;
+ found : Seq[A]
+ required: java.lang.String
+ val err1 = "" match { case Seq(f @ _*, ',') => f }
+ ^
bug1878.scala:9: error: _* may only come last
val List(List(_*, arg2), _) = List(List(1,2,3), List(4,5,6))
^
bug1878.scala:13: error: _* may only come last
case <p> { _* } </p> =>
^
-three errors found
+four errors found
diff --git a/test/files/neg/bug2148.check b/test/files/neg/bug2148.check
new file mode 100644
index 0000000000..22be424c39
--- /dev/null
+++ b/test/files/neg/bug2148.check
@@ -0,0 +1,4 @@
+bug2148.scala:9: error: type A is not a stable prefix
+ val b = new A with A#A1
+ ^
+one error found
diff --git a/test/files/neg/bug2148.scala b/test/files/neg/bug2148.scala
new file mode 100644
index 0000000000..25788be84a
--- /dev/null
+++ b/test/files/neg/bug2148.scala
@@ -0,0 +1,10 @@
+class A {
+ var i = 0
+ trait A1 extends A {
+ i += 1
+ }
+}
+
+object Bob {
+ val b = new A with A#A1
+} \ No newline at end of file
diff --git a/test/files/neg/bug3123.check b/test/files/neg/bug3123.check
new file mode 100644
index 0000000000..8f5319c9a3
--- /dev/null
+++ b/test/files/neg/bug3123.check
@@ -0,0 +1,4 @@
+bug3123.scala:3: error: object Int is not a value
+ t match { case Int => true }
+ ^
+one error found
diff --git a/test/files/neg/bug3123.scala b/test/files/neg/bug3123.scala
new file mode 100644
index 0000000000..667a1da918
--- /dev/null
+++ b/test/files/neg/bug3123.scala
@@ -0,0 +1,5 @@
+object NotAValue {
+ def test[T](t : T) {
+ t match { case Int => true }
+ }
+}
diff --git a/test/files/neg/bug414.check b/test/files/neg/bug414.check
index c0f039ad26..ec23e26337 100644
--- a/test/files/neg/bug414.check
+++ b/test/files/neg/bug414.check
@@ -1,7 +1,3 @@
-bug414.scala:1: warning: case classes without a parameter list have been deprecated;
-use either case objects or case classes with `()' as parameter list.
-case class Empty[a] extends IntMap[a];
- ^
bug414.scala:5: error: pattern type is incompatible with expected type;
found : object Empty
required: IntMap[a]
@@ -12,5 +8,4 @@ bug414.scala:7: error: type mismatch;
required: a
case _ =>
^
-one warning found
two errors found
diff --git a/test/files/neg/bug961.check b/test/files/neg/bug961.check
index 8b407d1d0c..439ed98675 100644
--- a/test/files/neg/bug961.check
+++ b/test/files/neg/bug961.check
@@ -1,9 +1,4 @@
-bug961.scala:4: warning: case classes without a parameter list have been deprecated;
-use either case objects or case classes with `()' as parameter list.
- private case class B_inner extends A
- ^
bug961.scala:11: error: Temp.this.B of type object Temp.B does not take parameters
B() match {
^
-one warning found
one error found
diff --git a/test/files/neg/bug961.scala b/test/files/neg/bug961.scala
index 15309b96b4..088bddd7ee 100644
--- a/test/files/neg/bug961.scala
+++ b/test/files/neg/bug961.scala
@@ -1,7 +1,7 @@
-object Temp{
+object Temp {
abstract class A
- object B{
- private case class B_inner extends A
+ object B {
+ private case class B_inner() extends A
def apply: A = B_inner()
def unapply(a: A) = a match {
case B_inner() => true
diff --git a/test/files/neg/migration28.check b/test/files/neg/migration28.check
new file mode 100644
index 0000000000..9e042a0f0b
--- /dev/null
+++ b/test/files/neg/migration28.check
@@ -0,0 +1,9 @@
+migration28.scala:5: error: method ++= in class Stack has changed semantics:
+Stack ++= now pushes arguments on the stack from left to right.
+ s ++= List(1,2,3)
+ ^
+migration28.scala:7: error: method foreach in class Stack has changed semantics:
+Stack iterator and foreach now traverse in FIFO order.
+ s foreach (_ => ())
+ ^
+two errors found
diff --git a/test/files/neg/migration28.flags b/test/files/neg/migration28.flags
new file mode 100644
index 0000000000..f7025d0226
--- /dev/null
+++ b/test/files/neg/migration28.flags
@@ -0,0 +1 @@
+-Yfatal-warnings -Xmigration
diff --git a/test/files/neg/migration28.scala b/test/files/neg/migration28.scala
new file mode 100644
index 0000000000..090b32d690
--- /dev/null
+++ b/test/files/neg/migration28.scala
@@ -0,0 +1,12 @@
+object Test {
+ import scala.collection.mutable._
+
+ val s = new Stack[Int]
+ s ++= List(1,2,3)
+ s map (_ + 1)
+ s foreach (_ => ())
+
+ def main(args: Array[String]): Unit = {
+
+ }
+}
diff --git a/test/files/neg/multi-array.flags b/test/files/neg/multi-array.flags
new file mode 100644
index 0000000000..c36e713ab8
--- /dev/null
+++ b/test/files/neg/multi-array.flags
@@ -0,0 +1 @@
+-deprecation \ No newline at end of file
diff --git a/test/files/neg/patmat-type-check.check b/test/files/neg/patmat-type-check.check
new file mode 100644
index 0000000000..ab638b616d
--- /dev/null
+++ b/test/files/neg/patmat-type-check.check
@@ -0,0 +1,21 @@
+patmat-type-check.scala:18: error: scrutinee is incompatible with pattern type;
+ found : Seq[A]
+ required: java.lang.String
+ def f1 = "bob".reverse match { case Seq('b', 'o', 'b') => true } // fail
+ ^
+patmat-type-check.scala:19: error: scrutinee is incompatible with pattern type;
+ found : Seq[A]
+ required: Array[Char]
+ def f2 = "bob".toArray match { case Seq('b', 'o', 'b') => true } // fail
+ ^
+patmat-type-check.scala:23: error: scrutinee is incompatible with pattern type;
+ found : Seq[A]
+ required: Test.Bop2
+ def f3(x: Bop2) = x match { case Seq('b', 'o', 'b') => true } // fail
+ ^
+patmat-type-check.scala:27: error: scrutinee is incompatible with pattern type;
+ found : Seq[A]
+ required: Test.Bop3[T]
+ def f4[T](x: Bop3[T]) = x match { case Seq('b', 'o', 'b') => true } // fail
+ ^
+four errors found
diff --git a/test/files/neg/patmat-type-check.scala b/test/files/neg/patmat-type-check.scala
new file mode 100644
index 0000000000..c6c689b256
--- /dev/null
+++ b/test/files/neg/patmat-type-check.scala
@@ -0,0 +1,28 @@
+object Test
+{
+ def s1 = "bob".toList match { case Seq('b', 'o', 'b') => true } // list ok
+
+ // not final, allowed
+ class Bop
+ def s2(x: Bop) = x match { case Seq('b', 'o', 'b') => true }
+
+ // covariance, allowed
+ final class Bop4[+T]
+ def s3[T](x: Bop4[T]) = x match { case Seq('b', 'o', 'b') => true }
+
+ // contravariance, allowed
+ final class Bop5[T, U, -V]
+ def s4[T1, T2](x: Bop5[_, T1, T2]) = x match { case Seq('b', 'o', 'b') => true }
+
+ // String and Array are final/invariant, disallowed
+ def f1 = "bob".reverse match { case Seq('b', 'o', 'b') => true } // fail
+ def f2 = "bob".toArray match { case Seq('b', 'o', 'b') => true } // fail
+
+ // final, no type parameters, should be disallowed
+ final class Bop2
+ def f3(x: Bop2) = x match { case Seq('b', 'o', 'b') => true } // fail
+
+ // final, invariant type parameter, should be disallowed
+ final class Bop3[T]
+ def f4[T](x: Bop3[T]) = x match { case Seq('b', 'o', 'b') => true } // fail
+}
diff --git a/test/files/neg/patmatexhaust.check b/test/files/neg/patmatexhaust.check
index 1c46b6c9e5..ca769300c0 100644
--- a/test/files/neg/patmatexhaust.check
+++ b/test/files/neg/patmatexhaust.check
@@ -15,8 +15,8 @@ missing combination Qult Qult
def ma3(x:Mult) = (x,x) match { // not exhaustive
^
patmatexhaust.scala:49: warning: match is not exhaustive!
-missing combination Gu
missing combination Gp
+missing combination Gu
def ma4(x:Deep) = x match { // missing cases: Gu, Gp
^
diff --git a/test/files/neg/t0528neg.scala b/test/files/neg/t0528neg.scala
index 911745b763..30d20c95b1 100644
--- a/test/files/neg/t0528neg.scala
+++ b/test/files/neg/t0528neg.scala
@@ -3,7 +3,7 @@ trait Sequ[+A] {
}
class RichStr extends Sequ[Char] {
- // override to a primitve array
+ // override to a primitive array
def toArray: Array[Char] = new Array[Char](10)
}
diff --git a/test/files/neg/t0851.check b/test/files/neg/t0851.check
deleted file mode 100644
index 61d2a98632..0000000000
--- a/test/files/neg/t0851.check
+++ /dev/null
@@ -1,9 +0,0 @@
-t0851.scala:14: error: not enough arguments for method apply: (v1: Int,v2: String)java.lang.String in trait Function2.
-Unspecified value parameter v2.
- println(f(1))
- ^
-t0851.scala:22: error: not enough arguments for method apply: (v1: Int,v2: String)java.lang.String in trait Function2.
-Unspecified value parameter v2.
- println(fn(1))
- ^
-two errors found
diff --git a/test/files/neg/t0851.scala b/test/files/neg/t0851.scala
deleted file mode 100644
index b28be2c697..0000000000
--- a/test/files/neg/t0851.scala
+++ /dev/null
@@ -1,25 +0,0 @@
-package test
-
-// This gives now type errors about missing parameters, which seems OK to me.
-// The tests just make sure it does not crash
-
-object test1 {
- case class Foo[T,T2](f : (T,T2) => String) extends (((T,T2)) => String){
- def apply(t : T) = (s:T2) => f(t,s)
- def apply(p : (T,T2)) = f(p._1,p._2)
- }
- implicit def g[T](f : (T,String) => String) = Foo(f)
- def main(args : Array[String]) : Unit = {
- val f = (x:Int,s:String) => s + x
- println(f(1))
- ()
- }
-}
-object Main {
- def main(args : Array[String]) {
- val fn = (a : Int, str : String) => "a: " + a + ", str: " + str
- implicit def fx[T](f : (T,String) => String) = (x:T) => f(x,null)
- println(fn(1))
- ()
- }
-}
diff --git a/test/files/neg/t2179.check b/test/files/neg/t2179.check
index e454e117b5..aa94fabe1f 100644
--- a/test/files/neg/t2179.check
+++ b/test/files/neg/t2179.check
@@ -1,9 +1,9 @@
-t2179.scala:2: error: inferred type arguments [scala.collection.immutable.Seq[Double]{def companion: scala.collection.generic.GenericCompanion[scala.collection.immutable.Seq[Any]{def sameElements[B >: Any](that: Iterable[B]): Boolean}]; def reverse: scala.collection.immutable.Seq[Double]{def companion: scala.collection.generic.GenericCompanion[scala.collection.immutable.Seq[Any]]}; protected def thisCollection: Seq[Double]{def companion: scala.collection.generic.GenericCompanion[Seq[Any]]}; def dropRight(n: Int): scala.collection.immutable.Seq[Double]{def companion: scala.collection.generic.GenericCompanion[scala.collection.immutable.Seq[Any]]}; def takeRight(n: Int): scala.collection.immutable.Seq[Double]{def companion: scala.collection.generic.GenericCompanion[scala.collection.immutable.Seq[Any]]}; def slice(start: Int,end: Int): scala.collection.immutable.Seq[Double]{def companion: scala.collection.generic.GenericCompanion[scala.collection.immutable.Seq[Any]]}; def take(n: Int): scala.collection.immutable.Seq[Double]{def companion: scala.collection.generic.GenericCompanion[scala.collection.immutable.Seq[Any]]}; def drop(n: Int): scala.collection.immutable.Seq[Double]{def companion: scala.collection.generic.GenericCompanion[scala.collection.immutable.Seq[Any]]}}] do not conform to method reduceLeft's type parameter bounds [B >: List[Double]]
+t2179.scala:2: error: inferred type arguments [scala.collection.immutable.Seq[Double]{def companion: scala.collection.generic.GenericCompanion[scala.collection.immutable.Seq[Any]]; protected def thisCollection: Seq[Double]{def companion: scala.collection.generic.GenericCompanion[Seq[Any]]}}] do not conform to method reduceLeft's type parameter bounds [B >: List[Double]]
(Nil:List[List[Double]]).reduceLeft((_: Any, _: Any) => Nil.indices.map(_ => 0d))
^
t2179.scala:2: error: type mismatch;
found : (Any, Any) => scala.collection.immutable.IndexedSeq[Double]
- required: (scala.collection.immutable.Seq[Double]{def companion: scala.collection.generic.GenericCompanion[scala.collection.immutable.Seq[Any]{def sameElements[B >: Any](that: Iterable[B]): Boolean}]; def reverse: scala.collection.immutable.Seq[Double]{def companion: scala.collection.generic.GenericCompanion[scala.collection.immutable.Seq[Any]]}; protected def thisCollection: Seq[Double]{def companion: scala.collection.generic.GenericCompanion[Seq[Any]]}; def dropRight(n: Int): scala.collection.immutable.Seq[Double]{def companion: scala.collection.generic.GenericCompanion[scala.collection.immutable.Seq[Any]]}; def takeRight(n: Int): scala.collection.immutable.Seq[Double]{def companion: scala.collection.generic.GenericCompanion[scala.collection.immutable.Seq[Any]]}; def slice(start: Int,end: Int): scala.collection.immutable.Seq[Double]{def companion: scala.collection.generic.GenericCompanion[scala.collection.immutable.Seq[Any]]}; def take(n: Int): scala.collection.immutable.Seq[Double]{def companion: scala.collection.generic.GenericCompanion[scala.collection.immutable.Seq[Any]]}; def drop(n: Int): scala.collection.immutable.Seq[Double]{def companion: scala.collection.generic.GenericCompanion[scala.collection.immutable.Seq[Any]]}}, List[Double]) => scala.collection.immutable.Seq[Double]{def companion: scala.collection.generic.GenericCompanion[scala.collection.immutable.Seq[Any]{def sameElements[B >: Any](that: Iterable[B]): Boolean}]; def reverse: scala.collection.immutable.Seq[Double]{def companion: scala.collection.generic.GenericCompanion[scala.collection.immutable.Seq[Any]]}; protected def thisCollection: Seq[Double]{def companion: scala.collection.generic.GenericCompanion[Seq[Any]]}; def dropRight(n: Int): scala.collection.immutable.Seq[Double]{def companion: scala.collection.generic.GenericCompanion[scala.collection.immutable.Seq[Any]]}; def takeRight(n: Int): scala.collection.immutable.Seq[Double]{def companion: scala.collection.generic.GenericCompanion[scala.collection.immutable.Seq[Any]]}; def slice(start: Int,end: Int): scala.collection.immutable.Seq[Double]{def companion: scala.collection.generic.GenericCompanion[scala.collection.immutable.Seq[Any]]}; def take(n: Int): scala.collection.immutable.Seq[Double]{def companion: scala.collection.generic.GenericCompanion[scala.collection.immutable.Seq[Any]]}; def drop(n: Int): scala.collection.immutable.Seq[Double]{def companion: scala.collection.generic.GenericCompanion[scala.collection.immutable.Seq[Any]]}}
+ required: (scala.collection.immutable.Seq[Double]{def companion: scala.collection.generic.GenericCompanion[scala.collection.immutable.Seq[Any]]; protected def thisCollection: Seq[Double]{def companion: scala.collection.generic.GenericCompanion[Seq[Any]]}}, List[Double]) => scala.collection.immutable.Seq[Double]{def companion: scala.collection.generic.GenericCompanion[scala.collection.immutable.Seq[Any]]; protected def thisCollection: Seq[Double]{def companion: scala.collection.generic.GenericCompanion[Seq[Any]]}}
(Nil:List[List[Double]]).reduceLeft((_: Any, _: Any) => Nil.indices.map(_ => 0d))
^
two errors found
diff --git a/test/files/neg/t2386.check b/test/files/neg/t2386.check
new file mode 100644
index 0000000000..2caa46c731
--- /dev/null
+++ b/test/files/neg/t2386.check
@@ -0,0 +1,4 @@
+t2386.scala:2: error: could not find implicit value for evidence parameter of type scala.reflect.ClassManifest[Array[_ >: java.lang.String with Int]]
+ val a = Array(Array(1, 2), Array("a","b"))
+ ^
+one error found
diff --git a/test/files/neg/t2386.scala b/test/files/neg/t2386.scala
new file mode 100644
index 0000000000..56146cc5c3
--- /dev/null
+++ b/test/files/neg/t2386.scala
@@ -0,0 +1,3 @@
+object Test {
+ val a = Array(Array(1, 2), Array("a","b"))
+}
diff --git a/test/files/neg/t2918.check b/test/files/neg/t2918.check
new file mode 100644
index 0000000000..e67f24ec57
--- /dev/null
+++ b/test/files/neg/t2918.check
@@ -0,0 +1,7 @@
+t2918.scala:2: error: cyclic aliasing or subtyping involving type A
+ def g[X, A[X] <: A[X]](x: A[X]) = x
+ ^
+t2918.scala:2: error: A does not take type parameters
+ def g[X, A[X] <: A[X]](x: A[X]) = x
+ ^
+two errors found
diff --git a/test/files/neg/t2918.scala b/test/files/neg/t2918.scala
new file mode 100755
index 0000000000..ff2be39ae0
--- /dev/null
+++ b/test/files/neg/t2918.scala
@@ -0,0 +1,3 @@
+object Test {
+ def g[X, A[X] <: A[X]](x: A[X]) = x
+}
diff --git a/test/files/neg/t3006.check b/test/files/neg/t3006.check
new file mode 100644
index 0000000000..9a90d32b28
--- /dev/null
+++ b/test/files/neg/t3006.check
@@ -0,0 +1,6 @@
+t3006.scala:8: error: type mismatch;
+ found : java.lang.String("H")
+ required: Int
+ println(A(3) + "H")
+ ^
+one error found
diff --git a/test/files/neg/t3006.scala b/test/files/neg/t3006.scala
new file mode 100755
index 0000000000..f476c1717d
--- /dev/null
+++ b/test/files/neg/t3006.scala
@@ -0,0 +1,10 @@
+object Test extends Application {
+ case class A(x: Int);
+
+ class Foo(a: A) { println("Foo created!"); def +(x: Int) = new A(this.a.x + x); }
+
+ implicit def aToFoo(x: A) = new Foo(x);
+
+ println(A(3) + "H")
+
+}
diff --git a/test/files/neg/t3015.check b/test/files/neg/t3015.check
new file mode 100644
index 0000000000..32809b0669
--- /dev/null
+++ b/test/files/neg/t3015.check
@@ -0,0 +1,11 @@
+t3015.scala:7: error: scrutinee is incompatible with pattern type;
+ found : _$1 where type _$1
+ required: java.lang.String
+ val b(foo) = "foo"
+ ^
+t3015.scala:7: error: type mismatch;
+ found : _$1(in value foo) where type _$1(in value foo) <: java.lang.String
+ required: (some other)_$1(in value foo) where type (some other)_$1(in value foo)
+ val b(foo) = "foo"
+ ^
+two errors found
diff --git a/test/files/neg/t3015.scala b/test/files/neg/t3015.scala
new file mode 100644
index 0000000000..0bd53e7a03
--- /dev/null
+++ b/test/files/neg/t3015.scala
@@ -0,0 +1,8 @@
+class UnApp[P] {
+ def unapply(a: P): Option[P] = Some(a)
+}
+
+object Test extends Application {
+ val b: UnApp[_] = new UnApp[String]
+ val b(foo) = "foo"
+}
diff --git a/test/files/neg/t3115.check b/test/files/neg/t3115.check
new file mode 100644
index 0000000000..04f64eec3f
--- /dev/null
+++ b/test/files/neg/t3115.check
@@ -0,0 +1,10 @@
+t3115.scala:6: error: object Math in object sc is deprecated:
+ println(sc.Math)
+ ^
+t3115.scala:7: error: object Math in package scala is deprecated: use scala.math package instead
+ println(scala.Math)
+ ^
+t3115.scala:8: error: object Math in package scala is deprecated: use scala.math package instead
+ scala.Math.Pi
+ ^
+three errors found
diff --git a/test/files/neg/t3115.flags b/test/files/neg/t3115.flags
new file mode 100644
index 0000000000..bf8f88334b
--- /dev/null
+++ b/test/files/neg/t3115.flags
@@ -0,0 +1 @@
+-deprecation -Yfatal-warnings \ No newline at end of file
diff --git a/test/files/neg/t3115.scala b/test/files/neg/t3115.scala
new file mode 100755
index 0000000000..4aeeb4063e
--- /dev/null
+++ b/test/files/neg/t3115.scala
@@ -0,0 +1,9 @@
+object sc {
+ @deprecated("") object Math
+}
+
+object Test {
+ println(sc.Math)
+ println(scala.Math)
+ scala.Math.Pi
+}
diff --git a/test/files/neg/t3118.check b/test/files/neg/t3118.check
new file mode 100644
index 0000000000..da00f1c330
--- /dev/null
+++ b/test/files/neg/t3118.check
@@ -0,0 +1,7 @@
+t3118.scala:6: error: value C is not a member of O1
+ println(x.C()) // should not be accessible
+ ^
+t3118.scala:7: error: type C is not a member of O1
+ println(new x.C) // is correctly not accessible
+ ^
+two errors found
diff --git a/test/files/neg/t3118.scala b/test/files/neg/t3118.scala
new file mode 100644
index 0000000000..9be24c1ed4
--- /dev/null
+++ b/test/files/neg/t3118.scala
@@ -0,0 +1,8 @@
+class O1 {
+ private[this] case class C()
+
+ val x = new O1
+
+ println(x.C()) // should not be accessible
+ println(new x.C) // is correctly not accessible
+}
diff --git a/test/files/neg/t3222.check b/test/files/neg/t3222.check
new file mode 100644
index 0000000000..6170827cc9
--- /dev/null
+++ b/test/files/neg/t3222.check
@@ -0,0 +1,13 @@
+t3222.scala:1: error: not found: type B
+@throws(classOf[B])
+ ^
+t3222.scala:4: error: not found: type D
+ def foo(@throws(classOf[D]) x: Int) {}
+ ^
+t3222.scala:3: error: not found: type C
+ @throws(classOf[C])
+ ^
+t3222.scala:6: error: not found: type E
+ @throws(classOf[E])
+ ^
+four errors found
diff --git a/test/files/neg/t3222.scala b/test/files/neg/t3222.scala
new file mode 100644
index 0000000000..448292e8a7
--- /dev/null
+++ b/test/files/neg/t3222.scala
@@ -0,0 +1,9 @@
+@throws(classOf[B])
+class ExceptionTest {
+ @throws(classOf[C])
+ def foo(@throws(classOf[D]) x: Int) {}
+
+ @throws(classOf[E])
+ type t = String
+}
+
diff --git a/test/files/neg/unit2anyref.check b/test/files/neg/unit2anyref.check
index 7af4564ffb..2616fd35f9 100644
--- a/test/files/neg/unit2anyref.check
+++ b/test/files/neg/unit2anyref.check
@@ -1,10 +1,8 @@
unit2anyref.scala:2: error: type mismatch;
found : Unit
required: AnyRef
-Note that implicit conversions are not applicable because they are ambiguous:
- both method any2stringadd in object Predef of type (x: Any)scala.runtime.StringAdd
- and method any2ArrowAssoc in object Predef of type [A](x: A)ArrowAssoc[A]
- are possible conversion functions from Unit to AnyRef
+Note: primitive types are not implicitly converted to AnyRef.
+You can safely force boxing by casting x.asInstanceOf[AnyRef].
val x: AnyRef = () // this should not succeed.
^
one error found
diff --git a/test/files/pos/annotations.scala b/test/files/pos/annotations.scala
index d1bd6ba264..0819379d86 100644
--- a/test/files/pos/annotations.scala
+++ b/test/files/pos/annotations.scala
@@ -1,4 +1,5 @@
class ann(i: Int) extends Annotation
+class cfann(x: String) extends ClassfileAnnotation
// annotations on abstract types
abstract class C1[@serializable @cloneable +T, U, V[_]]
@@ -35,6 +36,10 @@ object Test {
// annotation on annotation constructor
@(ann @ann(100))(200) def foo() = 300
+
+ // #2984
+ private final val NAMESPACE = "/info"
+ @cfann(x = NAMESPACE + "/index") def index = "success"
}
// test forward references to getters / setters
@@ -84,3 +89,22 @@ trait BeanF {
def isG(): Boolean
def setG(nb: Boolean): Unit
}
+
+
+class Ann3(arr: Array[String]) extends ClassfileAnnotation
+class Ann4(i: Int) extends ClassfileAnnotation
+class Ann5(value: Class[_]) extends ClassfileAnnotation
+
+object Test3 {
+ final val i = 1083
+ final val cls = classOf[String]
+}
+
+class Test4 {
+ @Ann3(arr = Array("dlkfj", "DSF"))
+ @Ann4(i = 2908)
+ @Ann4(i = Test3.i)
+ @Ann5(value = classOf[Int])
+ @Ann5(Test3.cls)
+ def foo {}
+}
diff --git a/test/files/pos/bug0646.scala b/test/files/pos/bug0646.scala
index 64214f65b1..a56e857223 100644
--- a/test/files/pos/bug0646.scala
+++ b/test/files/pos/bug0646.scala
@@ -10,7 +10,7 @@ object xfor {
</bks>;
new NodeSeq { val theSeq = books.child } match {
- case t @ <title>Blabla</title> => t
+ case t @ Seq(<title>Blabla</title>) => t
}
//val n: NodeSeq = new NodeSeq { val theSeq = books.child }
diff --git a/test/files/pos/bug2310.scala b/test/files/pos/bug2310.scala
new file mode 100644
index 0000000000..68912b4961
--- /dev/null
+++ b/test/files/pos/bug2310.scala
@@ -0,0 +1,38 @@
+import scala.Stream._
+
+object consistencyError {
+ /* this gives an error:
+ Consistency problem compiling (virtual file)!
+ Trying to call method body%1(List(scala.collection.immutable.Stream[A])) with arguments (List(tp2, temp6, temp5))
+ case (l #:: ls, rs) => None
+ ^
+ scala.tools.nsc.symtab.Types$TypeError: too many arguments for method body%1: (val rs: scala.collection.immutable.Stream[A])None.type
+
+ two errors found
+ vss(0) =
+ args = List(tp2, temp6, temp5)
+ vss(1) = value rs, value ls, value l
+ args = List(tp2, temp6, temp5)
+ targets(0) = FinalState(,scala.None)
+ targets(1) = FinalState(,scala.None)
+ labels(1) = method body%1
+ labels(0) = method body%0
+ bx = 1
+ label.tpe = (val rs: scala.collection.immutable.Stream[A])None.type
+ */
+ def crash[A](lefts: Stream[A], rights: Stream[A]) = (lefts, rights) match {
+ case (Stream.Empty, Stream.Empty) => None
+ case (l #:: ls, rs) => None
+ }
+
+ // These work
+ // def works1[A](lefts: Stream[A]) = lefts match {
+ // case Stream.Empty => None
+ // case l #:: ls => None
+ // }
+ //
+ // def works2[A](lefts: Stream[A], rights: Stream[A]) = (lefts, rights) match {
+ // case (Stream.Empty, Stream.Empty) => None
+ // case (ls, rs) => None
+ // }
+}
diff --git a/test/files/pos/bug3097.flags b/test/files/pos/bug3097.flags
new file mode 100644
index 0000000000..570b15929d
--- /dev/null
+++ b/test/files/pos/bug3097.flags
@@ -0,0 +1 @@
+-unchecked -Yfatal-warnings
diff --git a/test/files/pos/bug3097.scala b/test/files/pos/bug3097.scala
new file mode 100644
index 0000000000..a034b960f7
--- /dev/null
+++ b/test/files/pos/bug3097.scala
@@ -0,0 +1,31 @@
+package seal
+
+sealed trait ISimpleValue
+
+sealed trait IListValue extends ISimpleValue {
+ def items: List[IAtomicValue[_]]
+}
+sealed trait IAtomicValue[O] extends ISimpleValue {
+ def data: O
+}
+
+sealed trait IAbstractDoubleValue[O] extends IAtomicValue[O] { }
+sealed trait IDoubleValue extends IAbstractDoubleValue[Double]
+
+case class ListValue(val items: List[IAtomicValue[_]]) extends IListValue
+class DoubleValue(val data: Double) extends IDoubleValue {
+ def asDouble = data
+}
+
+object Test {
+ /**
+ * @param args the command line arguments
+ */
+ def main(args: Array[String]): Unit = {
+ val v: ISimpleValue = new DoubleValue(1)
+ v match {
+ case m: IListValue => println("list")
+ case a: IAtomicValue[_] => println("atomic")
+ }
+ }
+}
diff --git a/test/files/pos/bug3136.scala b/test/files/pos/bug3136.scala
new file mode 100644
index 0000000000..33d42c2f3c
--- /dev/null
+++ b/test/files/pos/bug3136.scala
@@ -0,0 +1,19 @@
+class Type
+class Symbol
+case class PolyType(tps: List[Symbol], res: Type) extends Type
+class OtherType extends Type
+
+// case class NullaryMethodType(tp: Type) extends Type
+
+object NullaryMethodType {
+ def apply(resTpe: Type): Type = PolyType(List(), resTpe)
+ def unapply(tp: Type): Option[(Type)] = None
+}
+
+object Test {
+ def TEST(tp: Type): String =
+ tp match {
+ case PolyType(ps1, PolyType(ps2, res @ PolyType(a, b))) => "1"+tp // couldn't find a simpler version that still crashes
+ case NullaryMethodType(meh) => "2"+meh
+ }
+}
diff --git a/test/files/pos/bug3175.scala b/test/files/pos/bug3175.scala
new file mode 100644
index 0000000000..89bbf8b5fc
--- /dev/null
+++ b/test/files/pos/bug3175.scala
@@ -0,0 +1,7 @@
+object Test {
+ def f(g:{val update:Unit}) = g.update
+
+ def main(args: Array[String]): Unit = {
+
+ }
+}
diff --git a/test/files/pos/bug432.scala b/test/files/pos/bug432.scala
index 8e3097ac9d..087fd70aba 100644
--- a/test/files/pos/bug432.scala
+++ b/test/files/pos/bug432.scala
@@ -1,2 +1,2 @@
-case class Tata
+case class Tata()
object Tata
diff --git a/test/files/pos/bug715.cmds b/test/files/pos/bug715.cmds
new file mode 100644
index 0000000000..2836967fca
--- /dev/null
+++ b/test/files/pos/bug715.cmds
@@ -0,0 +1,2 @@
+scalac meredith_1.scala
+scalac runner_2.scala
diff --git a/test/files/pos/manifest1.scala b/test/files/pos/manifest1.scala
index 4d3b3bfa48..8901aa7437 100644
--- a/test/files/pos/manifest1.scala
+++ b/test/files/pos/manifest1.scala
@@ -13,8 +13,9 @@ object Test {
abstract class C { type T = String; val x: T }
val c = new C { val x = "abc" }
foo(c.x)
- abstract class D { type T; val x: T }
- val d: D = new D { type T = String; val x = "x" }
+ abstract class D { type T; implicit val m: Manifest[T]; val x: T }
+ val stringm = implicitly[Manifest[String]]
+ val d: D = new D { type T = String; val m = stringm; val x = "x" }
+ import d.m
foo(d.x)
-
}
diff --git a/test/files/pos/scan.scala b/test/files/pos/scan.scala
new file mode 100644
index 0000000000..47e0a7d976
--- /dev/null
+++ b/test/files/pos/scan.scala
@@ -0,0 +1,23 @@
+
+
+
+
+object Test {
+
+ def main(args: Array[String]) {
+ val lst = List(1, 2, 3, 4, 5)
+
+ assert(lst.scanLeft(0)(_ + _) == List(0, 1, 3, 6, 10, 15))
+ assert(lst.scanRight(0)(_ + _) == List(15, 14, 12, 9, 5, 0))
+
+ val emp = List[Int]()
+ assert(emp.scanLeft(0)(_ + _) == List(0))
+ assert(emp.scanRight(0)(_ + _) == List(0))
+
+ val stream = Stream(1, 2, 3, 4, 5)
+ assert(stream.scanLeft(0)(_ + _) == Stream(0, 1, 3, 6, 10, 15))
+
+ assert(Stream.from(1).scanLeft(0)(_ + _).take(5) == Stream(0, 1, 3, 6, 10))
+ }
+
+} \ No newline at end of file
diff --git a/test/files/pos/spec-List.scala b/test/files/pos/spec-List.scala
index ad864abd7c..c5bc3aa5fd 100644
--- a/test/files/pos/spec-List.scala
+++ b/test/files/pos/spec-List.scala
@@ -23,10 +23,10 @@ import annotation.tailrec
* @author Martin Odersky and others
* @version 2.8
*/
-sealed abstract class List[@specialized +A] extends LinearSeq[A]
+sealed trait List[@specialized +A] extends LinearSeq[A]
with Product
with GenericTraversableTemplate[A, List]
- with LinearSeqLike[A, List[A]] {
+ with LinearSeqOptimized[A, List[A]] {
override def companion: GenericCompanion[List] = List
import scala.collection.{Iterable, Traversable, Seq}
@@ -144,18 +144,12 @@ sealed abstract class List[@specialized +A] extends LinearSeq[A]
/** Create a new list which contains all elements of this list
* followed by all elements of Traversable `that'
*/
- override def ++[B >: A, That](that: Traversable[B])(implicit bf: CanBuildFrom[List[A], B, That]): That = {
+ override def ++[B >: A, That](xs: TraversableOnce[B])(implicit bf: CanBuildFrom[List[A], B, That]): That = {
val b = bf(this)
- if (b.isInstanceOf[ListBuffer[_]]) (this ::: that.toList).asInstanceOf[That]
- else super.++(that)
+ if (b.isInstanceOf[ListBuffer[_]]) (this ::: xs.toList).asInstanceOf[That]
+ else super.++(xs)
}
- /** Create a new list which contains all elements of this list
- * followed by all elements of Iterator `that'
- */
- override def ++[B >: A, That](that: Iterator[B])(implicit bf: CanBuildFrom[List[A], B, That]): That =
- this ++ that.toList
-
/** Overrides the method in Iterable for efficiency.
*
* @return the list itself
@@ -654,7 +648,7 @@ object List extends SeqFactory[List] {
*
* @param arr the array to convert
* @param start the first index to consider
- * @param len the lenght of the range to convert
+ * @param len the length of the range to convert
* @return a list that contains the same elements than <code>arr</code>
* in the same order
*/
diff --git a/test/files/pos/spec-arrays.scala b/test/files/pos/spec-arrays.scala
index c1f253a39d..96c75dd8de 100644
--- a/test/files/pos/spec-arrays.scala
+++ b/test/files/pos/spec-arrays.scala
@@ -30,7 +30,7 @@ final class IntArray(arr: Array[Int]) extends AbsArray[Int] {
def length: Int = arr.length
}
-final class GenericArray[T](arr: Array[T]) extends AbsArray[T] {
+final class ArraySeq[T](arr: Array[T]) extends AbsArray[T] {
def apply(idx: Int): T = arr(idx)
def update(idx: Int, elem: T) = arr(idx) = elem
def length: Int = arr.length
@@ -96,7 +96,7 @@ class ScalaSpec2Test extends Test {
}
class ScalaWrapTest extends Test {
- val arr: AbsArray[Int] = new GenericArray(new Array[Int](1000))
+ val arr: AbsArray[Int] = new ArraySeq(new Array[Int](1000))
def sum(): Int = {
var acc = 0
@@ -116,7 +116,7 @@ class ScalaWrapTest extends Test {
}
class ScalaGenTest extends Test {
- val arr: AbsArray[Integer] = new GenericArray(new Array[Integer](1000))
+ val arr: AbsArray[Integer] = new ArraySeq(new Array[Integer](1000))
for (i <- 0 until arr.length) arr(i) = new Integer(0)
def sum(): Int = {
diff --git a/test/files/pos/spec-partially.flags b/test/files/pos/spec-partially.flags
new file mode 100644
index 0000000000..973517e1c9
--- /dev/null
+++ b/test/files/pos/spec-partially.flags
@@ -0,0 +1 @@
+-Yspecialize
diff --git a/test/files/pos/spec-partially.scala b/test/files/pos/spec-partially.scala
new file mode 100644
index 0000000000..90778e42a8
--- /dev/null
+++ b/test/files/pos/spec-partially.scala
@@ -0,0 +1,5 @@
+/** Test case for partially specialized classes. see #2880. */
+
+class Arc[State, @specialized T](label: T, to: State)
+
+
diff --git a/test/files/pos/super.cmds b/test/files/pos/super.cmds
new file mode 100644
index 0000000000..8f3f8a4172
--- /dev/null
+++ b/test/files/pos/super.cmds
@@ -0,0 +1,2 @@
+javac Super_1.java
+scalac Super_2.scala
diff --git a/test/files/pos/switchUnbox.flags b/test/files/pos/switchUnbox.flags
index ec1ad20e3a..cdf5f84ede 100644
--- a/test/files/pos/switchUnbox.flags
+++ b/test/files/pos/switchUnbox.flags
@@ -1 +1 @@
--Xsqueeze:on
+-Ysqueeze:on
diff --git a/test/files/pos/t0816.scala b/test/files/pos/t0816.scala
new file mode 100644
index 0000000000..0128a0ad72
--- /dev/null
+++ b/test/files/pos/t0816.scala
@@ -0,0 +1,12 @@
+abstract class Atest(val data: String)
+
+case class Btest(override val data: String, val b: Boolean) extends Atest(data)
+
+case class Ctest(override val data: String) extends Btest(data, true)
+
+class testCaseClass {
+ def test(x: Atest) = x match {
+ case Ctest(data) => Console.println("C")
+ case Btest(data, b) => Console.println("B")
+ }
+}
diff --git a/test/files/pos/t0971.java b/test/files/pos/t0971.java
deleted file mode 100644
index 160dc2c5af..0000000000
--- a/test/files/pos/t0971.java
+++ /dev/null
@@ -1,4 +0,0 @@
-class A {
- int y = 1, z;
- static Object x = new java.util.HashMap<Object , Object > () ;
-}
diff --git a/test/files/pos/t0999.scala b/test/files/pos/t0999.scala
deleted file mode 100644
index c384820af1..0000000000
--- a/test/files/pos/t0999.scala
+++ /dev/null
@@ -1,5 +0,0 @@
-object A {
- val d: Double = Math.sqrt(5 match {
- case x: Double => x
- })
-}
diff --git a/test/files/pos/t1029.cmds b/test/files/pos/t1029.cmds
new file mode 100644
index 0000000000..06b863dc03
--- /dev/null
+++ b/test/files/pos/t1029.cmds
@@ -0,0 +1,2 @@
+scalac Test_1.scala
+scalac Test_2.scala
diff --git a/test/files/pos/t1035.scala b/test/files/pos/t1035.scala
new file mode 100644
index 0000000000..a280a415d2
--- /dev/null
+++ b/test/files/pos/t1035.scala
@@ -0,0 +1,32 @@
+//A fatal error or Scala compiler
+// Scala compiler version 2.7.1-final -- (c) 2002-2010 LAMP/EPFL
+// Carlos Loria cloria@artinsoft.com
+// 7/10/2008
+
+class A {
+ var name:String = _
+ def getName() = name
+ def this(name:String, age:Int){this();this.name=name}
+
+}
+
+class B(name:String) extends A(name,0){
+}
+
+class D {
+
+ object A {
+ def unapply(p:A) = Some(p.getName)
+ }
+
+ object B {
+ def unapply(p:B) = Some(p.getName)
+ }
+ def foo(p:Any) = p match {
+ case B(n) => println("B")
+ case A(n) => println("A")
+
+
+ }
+
+}
diff --git a/test/files/pos/t1164.scala b/test/files/pos/t1164.scala
index b238bf54d9..ca780c9a26 100644
--- a/test/files/pos/t1164.scala
+++ b/test/files/pos/t1164.scala
@@ -12,7 +12,7 @@ object test {
def matchAndGetArgFromFoo[a]( e:Foo[a]):a = {e match { case Foo(x) => x }}
- // Try the same thing as above but use function as arguemnt to Bar
+ // Try the same thing as above but use function as argument to Bar
// constructor
type FunIntToA [a] = (Int) => a
diff --git a/test/files/pos/t1380.flags b/test/files/pos/t1380.flags
deleted file mode 100644
index f0b0ef7f51..0000000000
--- a/test/files/pos/t1380.flags
+++ /dev/null
@@ -1 +0,0 @@
--cp pending/pos/t1380/gnujaxp.jar
diff --git a/test/files/pos/t1380/gnujaxp.jar.desired.sha1 b/test/files/pos/t1380/gnujaxp.jar.desired.sha1
deleted file mode 100644
index c155c2aaa2..0000000000
--- a/test/files/pos/t1380/gnujaxp.jar.desired.sha1
+++ /dev/null
@@ -1 +0,0 @@
-ee000286d00c5209d5644462c1cfea87fc8b1342 ?gnujaxp.jar
diff --git a/test/files/pos/t1380/hallo.scala b/test/files/pos/t1380/hallo.scala
deleted file mode 100644
index 27ecd9fb8b..0000000000
--- a/test/files/pos/t1380/hallo.scala
+++ /dev/null
@@ -1,3 +0,0 @@
-object hallo {
- def main(args:Array[String]) = println("hallo")
-}
diff --git a/test/files/pos/t1751.cmds b/test/files/pos/t1751.cmds
new file mode 100644
index 0000000000..d4a4898ffd
--- /dev/null
+++ b/test/files/pos/t1751.cmds
@@ -0,0 +1,3 @@
+javac SuiteClasses.java
+scalac A2_1.scala
+scalac A1_2.scala
diff --git a/test/files/pos/t1756.scala b/test/files/pos/t1756.scala
index 4f7202114c..d5d3ddc624 100755
--- a/test/files/pos/t1756.scala
+++ b/test/files/pos/t1756.scala
@@ -15,7 +15,7 @@ expected type from x+, because the lhs x is still typed as a Poly[A].
This means that the argument of the implicit conversion is typechecked
with expected type A with Poly[A]. And no solution is found.
-To solve this, I added a fallback scheme similar to implicit arguents:
+To solve this, I added a fallback scheme similar to implicit arguments:
When an implicit view that adds a method matching given arguments and result
type fails, try again without the result type.
*/
diff --git a/test/files/pos/t1782.cmds b/test/files/pos/t1782.cmds
new file mode 100644
index 0000000000..61f3d3788e
--- /dev/null
+++ b/test/files/pos/t1782.cmds
@@ -0,0 +1,2 @@
+javac Ann.java Days.java ImplementedBy.java
+scalac Test_1.scala
diff --git a/test/files/pos/t1836/J.java b/test/files/pos/t1836/J.java
new file mode 100644
index 0000000000..a009a59e21
--- /dev/null
+++ b/test/files/pos/t1836/J.java
@@ -0,0 +1 @@
+public abstract class J<T> { protected J(T id) { } }
diff --git a/test/files/pos/t1836/S.scala b/test/files/pos/t1836/S.scala
new file mode 100644
index 0000000000..88ce1063e9
--- /dev/null
+++ b/test/files/pos/t1836/S.scala
@@ -0,0 +1 @@
+class S extends J("")
diff --git a/test/files/pos/t1942.cmds b/test/files/pos/t1942.cmds
new file mode 100644
index 0000000000..c14311042a
--- /dev/null
+++ b/test/files/pos/t1942.cmds
@@ -0,0 +1,2 @@
+scalac A_1.scala
+scalac Test_2.scala
diff --git a/test/files/pos/t1996.scala b/test/files/pos/t1996.scala
new file mode 100644
index 0000000000..2730128196
--- /dev/null
+++ b/test/files/pos/t1996.scala
@@ -0,0 +1,19 @@
+object forbug {
+ val l1 = List(List(ValDef(new A)), List(ValDef(new A)))
+ for ((e1s, e2s) <- l1.zip(l1);
+ (e1, e2) <- e1s.zip(e2s)) {
+ e1.a.doSome(20)
+// ()
+ }
+}
+
+
+class A {
+ def doSome(a: Int): this.type = {
+ println(a)
+ this
+ }
+}
+
+case class ValDef(a: A)
+
diff --git a/test/files/pos/t2421c.scala b/test/files/pos/t2421c.scala
new file mode 100644
index 0000000000..755e6a39f0
--- /dev/null
+++ b/test/files/pos/t2421c.scala
@@ -0,0 +1,17 @@
+object Test {
+ class A
+ class B
+ class C
+ class F[X]
+
+ def f(implicit aa: F[A]) = println(aa)
+
+ implicit def a : F[A] = new F[A]()
+
+ // generalised from t2421b to verify we check enough
+ class G[X]
+ implicit def g[X] = new G[X]()
+ implicit def b[X <: B](implicit mx: G[X]) = new F[X]()
+
+ f
+} \ No newline at end of file
diff --git a/test/files/pos/t2433/A.java b/test/files/pos/t2433/A.java
new file mode 100755
index 0000000000..340690c402
--- /dev/null
+++ b/test/files/pos/t2433/A.java
@@ -0,0 +1,4 @@
+class A223 extends B223.Inner {
+ static class Inner {}
+ void foo() {}
+} \ No newline at end of file
diff --git a/test/files/pos/t2433/B.java b/test/files/pos/t2433/B.java
new file mode 100755
index 0000000000..151dd71ca1
--- /dev/null
+++ b/test/files/pos/t2433/B.java
@@ -0,0 +1,4 @@
+class B223 {
+ static class Inner {}
+ void m(A223.Inner x) {}
+} \ No newline at end of file
diff --git a/test/files/pos/t2433/Test.scala b/test/files/pos/t2433/Test.scala
new file mode 100755
index 0000000000..02fd89b646
--- /dev/null
+++ b/test/files/pos/t2433/Test.scala
@@ -0,0 +1,3 @@
+object Test {
+ (new A223).foo()
+}
diff --git a/test/files/pos/t2464.cmds b/test/files/pos/t2464.cmds
new file mode 100644
index 0000000000..ca733ef23d
--- /dev/null
+++ b/test/files/pos/t2464.cmds
@@ -0,0 +1,3 @@
+javac JavaOne.java
+scalac ScalaOne_1.scala
+scalac t2464_2.scala
diff --git a/test/files/pos/t2610.scala b/test/files/pos/t2610.scala
new file mode 100644
index 0000000000..8dd4cde66e
--- /dev/null
+++ b/test/files/pos/t2610.scala
@@ -0,0 +1,17 @@
+package mada; package defects; package tests
+
+package object bbb {
+ def bar = ()
+ aaa.foo // value foo is not a member of package mada.defects.tests.aaa
+}
+
+package object aaa {
+ def foo = ()
+}
+
+/* compiles successfully if placed here..
+package object bbb {
+ def bar = ()
+ aaa.foo // value foo is not a member of package mada.defects.tests.aaa
+}
+*/ \ No newline at end of file
diff --git a/test/files/pos/t2660.scala b/test/files/pos/t2660.scala
new file mode 100644
index 0000000000..b1908b201b
--- /dev/null
+++ b/test/files/pos/t2660.scala
@@ -0,0 +1,25 @@
+package hoho
+
+class G
+
+class H extends G
+
+class A[T](x: T) {
+
+ def this(y: G, z: T) = {
+ this(z)
+ print(1)
+ }
+
+ def this(z: H, h: T) = {
+ this(h)
+ print(2)
+ }
+}
+
+object T {
+ def main(args: Array[String]) {
+ implicit def g2h(g: G): H = new H
+ new A(new H, 23)
+ }
+} \ No newline at end of file
diff --git a/test/files/pos/t2691.scala b/test/files/pos/t2691.scala
new file mode 100644
index 0000000000..ba2e52f1fe
--- /dev/null
+++ b/test/files/pos/t2691.scala
@@ -0,0 +1,9 @@
+object Breakdown {
+ def unapplySeq(x: Int): Some[List[String]] = Some(List("", "there"))
+}
+object Test {
+ 42 match {
+ case Breakdown("") => // needed to trigger bug
+ case Breakdown("", who) => println ("hello " + who)
+ }
+} \ No newline at end of file
diff --git a/test/files/pos/t2726.cmds b/test/files/pos/t2726.cmds
new file mode 100644
index 0000000000..5fcb18bfbb
--- /dev/null
+++ b/test/files/pos/t2726.cmds
@@ -0,0 +1,2 @@
+scalac SQLBuilder_1.scala
+scalac test_2.scala
diff --git a/test/files/pos/t2741/2741-1.scala b/test/files/pos/t2741/2741-1.scala
new file mode 100644
index 0000000000..91c120ec1b
--- /dev/null
+++ b/test/files/pos/t2741/2741-1.scala
@@ -0,0 +1,13 @@
+sealed trait Kleisli[M[_], A, B]
+
+trait PartialApplyKA[T[_[_], _, _], M[_], A] {
+ type Apply[B] = T[M, A, B]
+}
+
+trait MA[M[_], A]
+
+trait MAs {
+ val a: MA[PartialApplyKA[Kleisli, List, String]#Apply, Int] = null
+}
+
+object Scalaz extends MAs
diff --git a/test/files/pos/t2741/2741-2.scala b/test/files/pos/t2741/2741-2.scala
new file mode 100644
index 0000000000..41f6a64260
--- /dev/null
+++ b/test/files/pos/t2741/2741-2.scala
@@ -0,0 +1,5 @@
+// object Test compiles jointly, but not separately.
+object Test {
+ import Scalaz._
+ Scalaz.a
+} \ No newline at end of file
diff --git a/test/files/pos/t2795.scala b/test/files/pos/t2795.scala
index c355a10c54..a4e1b7db83 100644
--- a/test/files/pos/t2795.scala
+++ b/test/files/pos/t2795.scala
@@ -5,6 +5,7 @@ trait Element[T] {
trait Config {
type T <: Element[T]
+ implicit val m: ClassManifest[T]
// XXX Following works fine:
// type T <: Element[_]
}
diff --git a/test/files/pos/t2797.scala b/test/files/pos/t2797.scala
new file mode 100644
index 0000000000..4323664e91
--- /dev/null
+++ b/test/files/pos/t2797.scala
@@ -0,0 +1,9 @@
+class MyVector[A] {
+ def map[B](f: A => B): MyVector[B] = error("")
+}
+
+object Test {
+ def unzip[B, C](_this: MyVector[(B, C)]): (MyVector[B], MyVector[C]) = {
+ (_this.map{ bc => bc._1 }, _this.map{ bc => bc._2 })
+ }
+} \ No newline at end of file
diff --git a/test/files/pos/t2867.scala b/test/files/pos/t2867.scala
deleted file mode 100644
index 0434a380b9..0000000000
--- a/test/files/pos/t2867.scala
+++ /dev/null
@@ -1 +0,0 @@
-case class A(l: List[_]*)
diff --git a/test/files/pos/t2868.cmds b/test/files/pos/t2868.cmds
new file mode 100644
index 0000000000..ed8124a9e0
--- /dev/null
+++ b/test/files/pos/t2868.cmds
@@ -0,0 +1,3 @@
+javac Jann.java Nest.java
+scalac pick_1.scala
+scalac test_2.scala
diff --git a/test/files/pos/t2868/Jann.java b/test/files/pos/t2868/Jann.java
new file mode 100644
index 0000000000..f5b68de7b0
--- /dev/null
+++ b/test/files/pos/t2868/Jann.java
@@ -0,0 +1,5 @@
+public @interface Jann {
+ public String str();
+ public Nest inn();
+ public int[] arr();
+}
diff --git a/test/files/pos/t2868/Nest.java b/test/files/pos/t2868/Nest.java
new file mode 100644
index 0000000000..53652291ad
--- /dev/null
+++ b/test/files/pos/t2868/Nest.java
@@ -0,0 +1,3 @@
+public @interface Nest {
+ public int value();
+}
diff --git a/test/files/pos/t2868/pick_1.scala b/test/files/pos/t2868/pick_1.scala
new file mode 100644
index 0000000000..e91728ec2f
--- /dev/null
+++ b/test/files/pos/t2868/pick_1.scala
@@ -0,0 +1,7 @@
+class ann(s: String) extends StaticAnnotation
+class pick {
+ final val s = "bang!"
+ @ann("bang!") def foo = 1
+ @Jann(str = "bang!", inn = new Nest(1), arr = Array(1, 2)) def bar = 2
+ @Jann(str = "bang!", inn = new Nest(1), arr = Array(1, 2)) def baz = 3
+}
diff --git a/test/files/pos/t2868/test_2.scala b/test/files/pos/t2868/test_2.scala
new file mode 100644
index 0000000000..f11ef0fae2
--- /dev/null
+++ b/test/files/pos/t2868/test_2.scala
@@ -0,0 +1,6 @@
+class test {
+ val l = (new pick).s
+ val u = (new pick).foo
+ val c = (new pick).bar
+ val k = (new pick).baz
+}
diff --git a/test/files/pos/t2913.scala b/test/files/pos/t2913.scala
new file mode 100755
index 0000000000..11d8b92053
--- /dev/null
+++ b/test/files/pos/t2913.scala
@@ -0,0 +1,53 @@
+class A {
+ def foo(a: Int) = 0
+}
+
+class RichA {
+ def foo(a: String) = 0
+ def foo(a: String, b: String) = 0
+ def foo() = 0
+}
+
+object Test {
+
+ implicit def AToRichA(a: A) = new RichA
+
+ val a = new A
+ a.foo()
+ a.foo(1)
+
+ a.foo("") // Without implicits, a type error regarding invalid argument types is generated at `""`. This is
+ // the same position as an argument, so the 'second try' typing with an Implicit View is tried,
+ // and AToRichA(a).foo("") is found.
+ //
+ // My reading of the spec "7.3 Views" is that `a.foo` denotes a member of `a`, so the view should
+ // not be triggered.
+ //
+ // But perhaps the implementation was changed to solve See https://lampsvn.epfl.ch/trac/scala/ticket/1756
+
+ a.foo("a", "b") // Without implicits, a type error regarding invalid arity is generated at `foo(<error>"", "")`.
+ // Typers#tryTypedApply:3274 only checks if the error is as the same position as `foo`, `"a"`, or `"b"`.
+ // None of these po
+}
+
+// t0851 is essentially the same:
+object test1 {
+ case class Foo[T,T2](f : (T,T2) => String) extends (((T,T2)) => String){
+ def apply(t : T) = (s:T2) => f(t,s)
+ def apply(p : (T,T2)) = f(p._1,p._2)
+ }
+ implicit def g[T](f : (T,String) => String) = Foo(f)
+ def main(args : Array[String]) : Unit = {
+ val f = (x:Int,s:String) => s + x
+ println(f(1))
+ ()
+ }
+}
+object Main {
+ def main(args : Array[String]) {
+ val fn = (a : Int, str : String) => "a: " + a + ", str: " + str
+ implicit def fx[T](f : (T,String) => String) = (x:T) => f(x,null)
+ println(fn(1))
+ ()
+ }
+}
diff --git a/test/files/pos/t294.cmds b/test/files/pos/t294.cmds
new file mode 100644
index 0000000000..62c9a5a068
--- /dev/null
+++ b/test/files/pos/t294.cmds
@@ -0,0 +1,3 @@
+javac Ann.java Ann2.java
+scalac Test_1.scala
+scalac Test_2.scala
diff --git a/test/files/pos/t2940/Cycle.java b/test/files/pos/t2940/Cycle.java
new file mode 100644
index 0000000000..eef6c23b5e
--- /dev/null
+++ b/test/files/pos/t2940/Cycle.java
@@ -0,0 +1,3 @@
+public interface Cycle<T extends Cycle<?>> {
+ void doStuff();
+} \ No newline at end of file
diff --git a/test/files/pos/t2940/Error.scala b/test/files/pos/t2940/Error.scala
new file mode 100644
index 0000000000..bf5a6bd0df
--- /dev/null
+++ b/test/files/pos/t2940/Error.scala
@@ -0,0 +1,12 @@
+abstract class Error {
+ val c: Cycle[_]
+}
+
+object Test {
+ trait Quux[T] extends Cycle[Quux[T]]
+ val x = new Quux[Int] { def doStuff() { } }
+
+ def main(args: Array[String]): Unit = {
+
+ }
+}
diff --git a/test/files/pos/t2956/BeanDefinitionVisitor.java b/test/files/pos/t2956/BeanDefinitionVisitor.java
new file mode 100644
index 0000000000..2ff5daa253
--- /dev/null
+++ b/test/files/pos/t2956/BeanDefinitionVisitor.java
@@ -0,0 +1,6 @@
+import java.util.Map;
+public class BeanDefinitionVisitor {
+ @SuppressWarnings("unchecked")
+ protected void visitMap(Map<?, ?> mapVal) {
+ }
+}
diff --git a/test/files/pos/t2956/t2956.scala b/test/files/pos/t2956/t2956.scala
new file mode 100755
index 0000000000..eb6e817465
--- /dev/null
+++ b/test/files/pos/t2956/t2956.scala
@@ -0,0 +1,7 @@
+import scala.collection.JavaConversions._
+
+class Outer {
+ protected class Inner extends BeanDefinitionVisitor {
+ protected def visitMap(mapVal: Map[_, _]): Unit = ()
+ }
+} \ No newline at end of file
diff --git a/test/files/pos/t2994a.scala b/test/files/pos/t2994a.scala
new file mode 100644
index 0000000000..cb4a389e2f
--- /dev/null
+++ b/test/files/pos/t2994a.scala
@@ -0,0 +1,27 @@
+object Naturals {
+ trait NAT {
+ type a[s[_ <: NAT] <: NAT, z <: NAT] <: NAT
+ type v = a[SUCC, ZERO]
+ }
+ final class ZERO extends NAT {
+ type a[s[_ <: NAT] <: NAT, z <: NAT] = z
+ }
+ final class SUCC[n <: NAT] extends NAT {
+ type a[s[_ <: NAT] <: NAT, z <: NAT] = s[n#a[s, z]]
+ }
+ type _0 = ZERO
+ type _1 = SUCC[_0]
+ type _2 = SUCC[_1]
+ type _3 = SUCC[_2]
+ type _4 = SUCC[_3]
+ type _5 = SUCC[_4]
+ type _6 = SUCC[_5]
+
+
+ // crashes scala-2.8.0 beta1
+ trait MUL[n <: NAT, m <: NAT] extends NAT {
+ trait curry[n[_[_], _], s[_]] { type f[z <: NAT] = n[s, z] }
+ type a[s[_ <: NAT] <: NAT, z <: NAT] = n#a[curry[m#a, s]#f, z]
+ }
+
+} \ No newline at end of file
diff --git a/test/files/pos/t2994b.scala b/test/files/pos/t2994b.scala
new file mode 100644
index 0000000000..c9d9cc812b
--- /dev/null
+++ b/test/files/pos/t2994b.scala
@@ -0,0 +1,7 @@
+object Test {
+ trait Bar[X[_]]
+ trait Baz[S[_] <: Bar[S]] {
+ type Apply[T]
+ }
+ trait Foo[V[_] <: Bar[V]] extends Bar[Baz[V]#Apply]
+} \ No newline at end of file
diff --git a/test/files/pos/t3037.scala b/test/files/pos/t3037.scala
new file mode 100644
index 0000000000..b71ffe0418
--- /dev/null
+++ b/test/files/pos/t3037.scala
@@ -0,0 +1,13 @@
+package test
+
+object A {
+ println(("a" match {
+ case "a" => 1
+ case _ => "a"
+ }).asInstanceOf[Object])
+ def foo[T](x: T) = x
+ var x: Int = 1
+ var y: Long = 1L
+ x = foo(x)
+ y = foo(y)
+}
diff --git a/test/files/pos/t3071.scala b/test/files/pos/t3071.scala
new file mode 100644
index 0000000000..7e14432941
--- /dev/null
+++ b/test/files/pos/t3071.scala
@@ -0,0 +1,7 @@
+class A (val i: Int) {
+ def copy (i: Int = this.i): A = new A(i)
+}
+
+class B (val j: Int) extends A(1) {
+ override def copy (j: Int = this.j): B = new B(j)
+}
diff --git a/test/files/pos/t3076/C2.scala b/test/files/pos/t3076/C2.scala
new file mode 100644
index 0000000000..d08f9ee81d
--- /dev/null
+++ b/test/files/pos/t3076/C2.scala
@@ -0,0 +1,4 @@
+class C2 {
+ def m1() { new T { } }
+ def m2() { new T { } }
+}
diff --git a/test/files/pos/t3076/T.scala b/test/files/pos/t3076/T.scala
new file mode 100644
index 0000000000..b710a29343
--- /dev/null
+++ b/test/files/pos/t3076/T.scala
@@ -0,0 +1,2 @@
+trait T { private val z = new C1 }
+private class C1
diff --git a/test/files/pos/t3079.scala b/test/files/pos/t3079.scala
new file mode 100644
index 0000000000..fa732ea516
--- /dev/null
+++ b/test/files/pos/t3079.scala
@@ -0,0 +1,17 @@
+sealed trait Identity[A] {
+ val value: A
+}
+
+trait Coerce[A, B] {
+ def unwrap: (A => B)
+}
+
+object Coerce {
+ def IdentityCoerce[B] = new Coerce[Identity[B], B] {
+ // java.lang.Error: A in trait Identity cannot be instantiated from ?x$1.type
+ def unwrap = _.value
+
+ // Providing the type of _ works around the problem.
+ //def unwrap = (_: Identity[B]).value
+ }
+} \ No newline at end of file
diff --git a/test/files/pos/t3152.scala b/test/files/pos/t3152.scala
new file mode 100644
index 0000000000..a20428dbee
--- /dev/null
+++ b/test/files/pos/t3152.scala
@@ -0,0 +1,20 @@
+trait Applicative[M[_]]
+
+sealed trait MA[M[_], A] {
+ def sequence[N[_], B](implicit a: A <:< N[B], n: Applicative[N]): N[M[B]] = error("stub")
+ // def sequence3[N[_], B]()(implicit a: A <:< N[B], n: Applicative[N]): N[M[B]] = error("stub")
+}
+
+object test {
+ implicit def ListMA[A](l: List[A]): MA[List, A] = error("stub")
+ implicit val ao: Applicative[Option] = error("stub")
+
+ /* This compiles OK:
+ (Nil: List[Option[Int]]).sequence3(): Option[List[Int]]
+ */
+
+ // BUG: error: immutable is not an enclosing class
+ // !!! No line number is reported with the error
+ (Nil: List[Option[Int]]).sequence: Option[List[Int]]
+ (List[Option[Int]]()).sequence: Option[List[Int]]
+} \ No newline at end of file
diff --git a/test/files/pos/t425.scala b/test/files/pos/t425.scala
new file mode 100644
index 0000000000..e50c50ac35
--- /dev/null
+++ b/test/files/pos/t425.scala
@@ -0,0 +1,11 @@
+object Temp{
+ case class A(x: Int)
+ case class B(override val x: Int, y: Double) extends A(x)
+
+ val b: A = B(5, 3.3)
+ b match {
+ case B(x, y) => Console.println(y)
+ case A(x) => Console.println(x)
+ }
+}
+
diff --git a/test/files/positions/Unsupported2.scala b/test/files/positions/Unsupported2.scala
new file mode 100644
index 0000000000..e21df5ef0e
--- /dev/null
+++ b/test/files/positions/Unsupported2.scala
@@ -0,0 +1,5 @@
+object Unsupported2 {
+ for (k <- 0 until xs.xize)
+ for(i = 0 until (xs.size)) {
+ }
+}
diff --git a/test/files/res/bug687.check b/test/files/res/bug687.check
index ee9520d1ea..353101c38b 100644
--- a/test/files/res/bug687.check
+++ b/test/files/res/bug687.check
@@ -1,11 +1,10 @@
-
nsc>
-nsc> bug687/QueryB.scala:3: error: name clash between defined and inherited member:
+nsc>
+bug687/QueryB.scala:3: error: name clash between defined and inherited member:
method equals:(o: java.lang.Object)Boolean and
method equals:(x$1: Any)Boolean in class Any
have same type after erasure: (o: java.lang.Object)Boolean
override def equals(o : Object) = false;
^
-
nsc>
nsc>
diff --git a/test/files/run/Course-2002-13.scala b/test/files/run/Course-2002-13.scala
index 27551b735b..c016d41a90 100644
--- a/test/files/run/Course-2002-13.scala
+++ b/test/files/run/Course-2002-13.scala
@@ -66,7 +66,7 @@ object Terms {
override def toString() =
a + (if (ts.isEmpty) "" else ts.mkString("(", ",", ")"));
def map(s: Subst): Term = Con(a, ts map (t => t map s));
- def tyvars = (ts flatMap (t => t.tyvars)).removeDuplicates;
+ def tyvars = (ts flatMap (t => t.tyvars)).distinct;
}
private var count = 0;
@@ -113,7 +113,7 @@ object Programs {
case class Clause(lhs: Term, rhs: List[Term]) {
def tyvars =
- (lhs.tyvars ::: (rhs flatMap (t => t.tyvars))).removeDuplicates;
+ (lhs.tyvars ::: (rhs flatMap (t => t.tyvars))).distinct;
def newInstance = {
var s: Subst = List();
for (val a <- tyvars) { s = Binding(a, newVar(a)) :: s }
diff --git a/test/files/run/ReplacementMatching.scala b/test/files/run/ReplacementMatching.scala
new file mode 100644
index 0000000000..05040d98a3
--- /dev/null
+++ b/test/files/run/ReplacementMatching.scala
@@ -0,0 +1,47 @@
+
+
+
+import util.matching._
+
+
+
+
+object Test {
+
+ def main(args: Array[String]) {
+ replacementMatching
+ groupsMatching
+ }
+
+ def replacementMatching {
+ val regex = """\$\{(.+?)\}""".r
+ val replaced = regex.replaceAllIn("Replacing: ${main}. And another method: ${foo}.",
+ (m: util.matching.Regex.Match) => {
+ val identifier = m.group(1)
+ identifier
+ })
+ assert(replaced == "Replacing: main. And another method: foo.")
+
+ val regex3 = """\$\{(.+?)\}""".r
+ val replaced3 = regex3.replaceSomeIn("Replacing: ${main}. And another: ${foo}.", (m: util.matching.Regex.Match) => {
+ val id = m.group(1)
+ if (id.startsWith("m")) Some(id) else None
+ })
+ assert(replaced3 == "Replacing: main. And another: ${foo}.")
+ }
+
+ def groupsMatching {
+ val Date = """(\d+)/(\d+)/(\d+)""".r
+ for (Regex.Groups(a, b, c) <- Date findFirstMatchIn "1/1/2001 marks the start of the millenium. 31/12/2000 doesn't.") {
+ assert(a == "1")
+ assert(b == "1")
+ assert(c == "2001")
+ }
+ for (Regex.Groups(a, b, c) <- (Date findAllIn "1/1/2001 marks the start of the millenium. 31/12/2000 doesn't.").matchData) {
+ assert(a == "1" || a == "31")
+ assert(b == "1" || b == "12")
+ assert(c == "2001" || c == "2000")
+ }
+ }
+
+}
diff --git a/test/files/run/arraycopy.scala b/test/files/run/arraycopy.scala
new file mode 100644
index 0000000000..bb06200dc7
--- /dev/null
+++ b/test/files/run/arraycopy.scala
@@ -0,0 +1,31 @@
+
+
+object Test {
+ def main(args: Array[String]) {
+ val a = new Array[Int](10)
+ val b = new Array[Any](10)
+ for (i <- 0 until 10) b(i) = i
+
+ Array.copy(b, 3, a, 3, 7)
+ assert(a.toSeq == List(0, 0, 0, 3, 4, 5, 6, 7, 8, 9))
+ }
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/test/files/run/arybufgrow.scala b/test/files/run/arybufgrow.scala
index 4dccd962f2..9e18435243 100644
--- a/test/files/run/arybufgrow.scala
+++ b/test/files/run/arybufgrow.scala
@@ -2,8 +2,8 @@ import scala.collection.mutable._;
object Test extends Application {
val buf = new ArrayBuffer[String];
- for(val i <- List.range(0,1000)) {
- buf + "hello";
+ for (i <- List.range(0,1000)) {
+ buf += "hello";
}
Console.println("1000 = " + buf.length);
diff --git a/test/files/run/bigDecimalCache.scala b/test/files/run/bigDecimalCache.scala
new file mode 100644
index 0000000000..c0c709a50f
--- /dev/null
+++ b/test/files/run/bigDecimalCache.scala
@@ -0,0 +1,9 @@
+object Test {
+ def main(args: Array[String]): Unit = {
+ val bd5a = BigDecimal(5)
+ val mc = java.math.MathContext.DECIMAL32
+ val bd5b = BigDecimal(5,mc)
+
+ assert(bd5b.mc == mc)
+ }
+}
diff --git a/test/files/run/bug1074.check b/test/files/run/bug1074.check
index ecff8510ed..ccf1cb1551 100644
--- a/test/files/run/bug1074.check
+++ b/test/files/run/bug1074.check
@@ -1,3 +1,3 @@
-q0 = Set(kl, jk, cd, fg, a, ef, gh, de, hj, b, lm, mn)
+q0 = Set(kl, jk, cd, fg, ef, gh, a, de, hj, b, lm, mn)
q1 = Set() 0
q2 = Set() 0
diff --git a/test/files/run/bug1697.scala b/test/files/run/bug1697.scala
deleted file mode 100644
index 01590dd405..0000000000
--- a/test/files/run/bug1697.scala
+++ /dev/null
@@ -1,19 +0,0 @@
-class Term
-case class Num(n: Int) extends Term
-case class Add(x: Term, y: Term) extends Term
-
-object Value {
- def unapply(term: Any): Boolean = true
-}
-
-object Test {
- def main(args: Array[String]) {
- val term = Add(Num(1), Add(Num(2), Num(3)))
- val res = term match {
- case Add(Num(x), Num(y)) => "Add(Num, Num)"
- case Add(Value(), y) => "Add(Value, ?)"
- case _ => "?"
- }
- assert(res == "Add(Value, ?)")
- }
-}
diff --git a/test/files/run/bug3126.scala b/test/files/run/bug3126.scala
new file mode 100644
index 0000000000..36322bf896
--- /dev/null
+++ b/test/files/run/bug3126.scala
@@ -0,0 +1,9 @@
+object Test {
+ case class C(x: Int)
+ val v: Some[Int] = null
+
+ def main(args: Array[String]): Unit = {
+ try C.unapply(null) catch { case _: MatchError => }
+ try v match { case Some(1) => } catch { case _: MatchError => }
+ }
+}
diff --git a/test/files/run/bug3175.check b/test/files/run/bug3175.check
new file mode 100644
index 0000000000..12246140f4
--- /dev/null
+++ b/test/files/run/bug3175.check
@@ -0,0 +1,11 @@
+10
+15
+3
+3
+3
+5
+5
+5
+100
+jabooboo
+hi mom
diff --git a/test/files/run/bug3175.scala b/test/files/run/bug3175.scala
new file mode 100644
index 0000000000..78660d4085
--- /dev/null
+++ b/test/files/run/bug3175.scala
@@ -0,0 +1,55 @@
+/** A bit down the road this test will examine
+ * the bytecode.
+ */
+object Test {
+ def len(x:{ def length: Int }) = x.length
+ def f1(x:{ def apply(x: Int): Long }) = x(0)
+ def f2(x:{ def apply(x: Int): Byte }) = x(0)
+ def f3(x:{ def apply(x: Int): String }) = x(0).length
+
+ def f4(x:{ def update(x: Int, y: Long): Unit }, y: Long) = x(0) = y
+ def f5(x:{ def update(x: Int, y: Byte): Unit }, y: Byte) = x(0) = y
+ def f6(x:{ def update(x: Int, y: String): Unit }, y: String) = x(0) = y
+
+ def f7(x: { def length: Any }) = x.length
+
+ def f8(x: { def apply(x: Int): Any }) = x(0)
+ def f9(x: { def apply(x: Int): Int }) = x(0)
+ def f10(x: { def apply(x: Int): Long }) = x(0)
+
+ // update has some interesting special cases
+ def f11(x:{ def update(x: Int, y: Long): Any }, y: Long) = x(0) = y
+ def f12(x:{ def update(x: Int, y: String): AnyVal }, y: String) = x(0) = y
+ def f13(x:{ def update(x: Int, y: String): AnyRef }, y: String) = x(0) = y
+
+ // doesn't work yet, see #3197
+ // def fclone(x:{ def clone(): AnyRef }) = x.clone()
+
+ def main(args: Array[String]): Unit = {
+ val longs = Array(5L)
+ val bytes = Array(5: Byte)
+ val strs = Array("abcde", "fghjij")
+
+ println(len(Array(1,2,3)) + len(Array(4.0,5.0f)) + len(Array("abc", 5)) + len("bop"))
+ println(f1(longs) + f2(bytes) + f3(strs))
+
+ f4(longs, 1)
+ f5(bytes, 1)
+ f6(strs, "a")
+
+ println(f1(longs) + f2(bytes) + f3(strs))
+
+ println(f7(Array(1,2,3)))
+ println(f7("def"))
+
+ println(f8(Array(5)))
+ println(f9(Array(5)))
+ println(f10(Array(5)))
+
+ f11(longs, 100L)
+ f12(strs, "jabooboo")
+ println(longs(0))
+ println(strs(0))
+ f13(new { def update(x: Int, y: String): List[Int] = { println("hi mom") ; Nil } }, "irrelevant")
+ }
+}
diff --git a/test/files/run/bug594.scala b/test/files/run/bug594.scala
index 0c3be3d5de..f923a3cd2a 100644
--- a/test/files/run/bug594.scala
+++ b/test/files/run/bug594.scala
@@ -2,7 +2,7 @@ object Test {
def main(args: Array[String]): Unit = {
val array = Array("one", "two", "three")
val firstTwo: Array[String] = array.slice(0,2)
- for(val x <- firstTwo)
+ for (x <- firstTwo)
Console.println(x)
}
}
diff --git a/test/files/run/bug751.scala b/test/files/run/bug751.scala
new file mode 100644
index 0000000000..294d3af5c2
--- /dev/null
+++ b/test/files/run/bug751.scala
@@ -0,0 +1,6 @@
+object Test {
+ def main(args: Array[String]): Unit = {
+ val map = Map(1 -> "a", 2 -> "b", 3 -> "c")
+ assert(map.filterKeys(_ % 2 == 0).isInstanceOf[scala.collection.immutable.Map[_,_]])
+ }
+}
diff --git a/test/files/run/bytecodecs.scala b/test/files/run/bytecodecs.scala
new file mode 100644
index 0000000000..bf8a0f8ed3
--- /dev/null
+++ b/test/files/run/bytecodecs.scala
@@ -0,0 +1,39 @@
+import scala.reflect.generic.ByteCodecs._
+
+object Test {
+
+ def test8to7(xs: Array[Byte]) {
+ val ys = encode8to7(xs)
+ decode7to8(ys, ys.length)
+ assert(ys.take(xs.length).deep == xs.deep,
+ "test8to7("+xs.deep+") failed, result = "+ys.take(xs.length).deep)
+ }
+
+ def testAll(xs: Array[Byte]) {
+ val ys = encode(xs)
+ decode(ys)
+ assert(ys.take(xs.length).deep == xs.deep,
+ "testAll("+xs.deep+") failed, result = "+ys.take(xs.length).deep)
+ }
+
+ def test(inputs: Array[Byte]*) {
+ for (input <- inputs) {
+ test8to7(input)
+ testAll(input)
+ }
+ }
+
+ def main(args: Array[String]) {
+ test(
+ Array(1, 2, 3),
+ Array(1, 2, 3, 4, 5, 6, 7),
+ Array(1, -2, 0, -3, -5, -6, -7),
+ Array(1, 3, -1, -128, 0, 0, -128, 1, 2, 3))
+ val rand = new scala.util.Random()
+ for (i <- 1 until 5000) {
+ var xs = new Array[Byte](i)
+ rand.nextBytes(xs)
+ test(xs)
+ }
+ }
+}
diff --git a/test/files/run/caseClassEquality.scala b/test/files/run/caseClassEquality.scala
new file mode 100644
index 0000000000..c11d7ad0d1
--- /dev/null
+++ b/test/files/run/caseClassEquality.scala
@@ -0,0 +1,36 @@
+object Test {
+ abstract class A1
+ case class C1(x: Int) extends A1
+ class C2(x: Int) extends C1(x) {
+ override def productPrefix = "Shazbot!"
+ }
+ class C3(x: Int) extends C1(x) {
+ override def canEqual(other: Any) = other.isInstanceOf[C3]
+ override def equals(other: Any) = other match {
+ case ob: C3 => x == ob.x
+ case _ => false
+ }
+ }
+
+ case class CS1(xs: Any*)
+ class CS2(xs: Seq[_]*) extends CS1(xs: _*)
+ class CS3(xs: IndexedSeq[Int]*) extends CS2(xs: _*)
+
+ case class H1(x: Int, y: Double)
+ class H2(x: Double, y: Int) extends H1(y, x)
+
+ def main(args: Array[String]): Unit = {
+ assert(C1(5) == new C2(5))
+ assert(new C2(5) == C1(5))
+ assert(C1(5).hashCode == new C2(5).hashCode)
+ assert(new C2(5).hashCode == C1(5).hashCode)
+
+ assert(C1(5) != new C3(5))
+ assert(new C3(5) != C1(5))
+
+ assert(CS1(List(1d,2d), Seq[Float](3f, 4f)) == new CS3(IndexedSeq(1,2), IndexedSeq(3, 4)))
+
+ assert(H1(5, 10d) == new H2(10d, 5))
+ assert(H1(5, 10d).hashCode == new H2(10d, 5).hashCode)
+ }
+}
diff --git a/test/files/run/colltest1.check b/test/files/run/colltest1.check
index b49d328be4..7377174281 100644
--- a/test/files/run/colltest1.check
+++ b/test/files/run/colltest1.check
@@ -72,11 +72,11 @@ new test starting with List()
9: List(2, 3, 4, 5, 6, 7, 8, 9, 10)
1
List(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
-new test starting with IndexedSeq()
-10: IndexedSeq(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
-9: IndexedSeq(2, 3, 4, 5, 6, 7, 8, 9, 10)
+new test starting with Vector()
+10: Vector(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
+9: Vector(2, 3, 4, 5, 6, 7, 8, 9, 10)
1
-IndexedSeq(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
+Vector(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
new test starting with Vector()
10: Vector(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
9: Vector(2, 3, 4, 5, 6, 7, 8, 9, 10)
@@ -95,15 +95,15 @@ ArrayBuffer(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
true
false
true
-Map(O -> O, W -> W, H -> H, P -> P, G -> G, V -> V, I -> I, A -> A, F -> F, U -> U, N -> N, X -> X, Z -> Z, S -> S, D -> D, K -> K, R -> R, C -> C, B -> B, L -> L, Q -> Q, M -> M, J -> J, Y -> Y, T -> T, E -> E)
-Map(O -> O, W -> W, H -> H, P -> P, G -> G, V -> V, I -> I, A -> A, F -> F, U -> U, N -> N, X -> X, Z -> Z, S -> S, D -> D, K -> K, R -> R, C -> C, B -> B, L -> L, Q -> Q, M -> M, J -> J, Y -> Y, T -> T, E -> E)
-Map(O -> O, W -> W, H -> H, P -> P, V -> V, G -> G, I -> I, A -> A, F -> F, U -> U, N -> N, X -> X, Z -> Z, S -> S, D -> D, K -> K, R -> R, C -> C, B -> B, L -> L, Q -> Q, M -> M, J -> J, Y -> Y, T -> T, E -> E)
-Map(O -> O, W -> W, H -> H, P -> P, V -> V, G -> G, I -> I, A -> A, F -> F, U -> U, N -> N, X -> X, Z -> Z, S -> S, D -> D, K -> K, R -> R, C -> C, B -> B, L -> L, Q -> Q, M -> M, J -> J, Y -> Y, T -> T, E -> E)
-Map(O -> O, W -> W, H -> H, P -> P, G -> G, V -> V, I -> I, A -> A, F -> F, U -> U, N -> N, X -> X, Z -> Z, S -> S, D -> D, K -> K, R -> R, C -> C, B -> B, L -> L, Q -> Q, M -> M, J -> J, Y -> Y, T -> T, E -> E)
-Map(O -> O, W -> W, H -> H, P -> P, G -> G, V -> V, I -> I, A -> A, F -> F, U -> U, N -> N, X -> X, Z -> Z, S -> S, D -> D, K -> K, R -> R, C -> C, B -> B, L -> L, Q -> Q, M -> M, J -> J, Y -> Y, T -> T, E -> E)
-Map(A -> A, B -> B, C -> C, D -> D, E -> E, F -> F, G -> G, H -> H, I -> I, J -> J, K -> K, L -> L, M -> M, N -> N, O -> O, P -> P, Q -> Q, R -> R, S -> S, T -> T, U -> U, V -> V, W -> W, X -> X, Y -> Y, Z -> Z)
-Map(A -> A, B -> B, C -> C, D -> D, E -> E, F -> F, G -> G, H -> H, I -> I, J -> J, K -> K, L -> L, M -> M, N -> N, O -> O, P -> P, Q -> Q, R -> R, S -> S, T -> T, U -> U, V -> V, W -> W, X -> X, Y -> Y, Z -> Z)
-Map(O -> O, W -> W, H -> H, P -> P, V -> V, G -> G, I -> I, A -> A, F -> F, U -> U, N -> N, X -> X, Z -> Z, S -> S, D -> D, K -> K, R -> R, C -> C, B -> B, L -> L, Q -> Q, M -> M, J -> J, Y -> Y, T -> T, E -> E)
-Map(O -> O, W -> W, H -> H, P -> P, V -> V, G -> G, I -> I, A -> A, F -> F, U -> U, N -> N, X -> X, Z -> Z, S -> S, D -> D, K -> K, R -> R, C -> C, B -> B, L -> L, Q -> Q, M -> M, J -> J, Y -> Y, T -> T, E -> E)
-Map(O -> O, W -> W, H -> H, P -> P, G -> G, V -> V, I -> I, A -> A, F -> F, U -> U, N -> N, X -> X, Z -> Z, S -> S, D -> D, K -> K, R -> R, C -> C, B -> B, L -> L, Q -> Q, M -> M, J -> J, Y -> Y, T -> T, E -> E)
-Map(O -> O, W -> W, H -> H, P -> P, G -> G, V -> V, I -> I, A -> A, F -> F, U -> U, N -> N, X -> X, Z -> Z, S -> S, D -> D, K -> K, R -> R, C -> C, B -> B, L -> L, Q -> Q, M -> M, J -> J, Y -> Y, T -> T, E -> E)
+List((A,A), (B,B), (C,C), (D,D), (E,E), (F,F), (G,G), (H,H), (I,I), (J,J), (K,K), (L,L), (M,M), (N,N), (O,O), (P,P), (Q,Q), (R,R), (S,S), (T,T), (U,U), (V,V), (W,W), (X,X), (Y,Y), (Z,Z))
+List((A,A), (B,B), (C,C), (D,D), (E,E), (F,F), (G,G), (H,H), (I,I), (J,J), (K,K), (L,L), (M,M), (N,N), (O,O), (P,P), (Q,Q), (R,R), (S,S), (T,T), (U,U), (V,V), (W,W), (X,X), (Y,Y), (Z,Z))
+List((A,A), (B,B), (C,C), (D,D), (E,E), (F,F), (G,G), (H,H), (I,I), (J,J), (K,K), (L,L), (M,M), (N,N), (O,O), (P,P), (Q,Q), (R,R), (S,S), (T,T), (U,U), (V,V), (W,W), (X,X), (Y,Y), (Z,Z))
+List((A,A), (B,B), (C,C), (D,D), (E,E), (F,F), (G,G), (H,H), (I,I), (J,J), (K,K), (L,L), (M,M), (N,N), (O,O), (P,P), (Q,Q), (R,R), (S,S), (T,T), (U,U), (V,V), (W,W), (X,X), (Y,Y), (Z,Z))
+List((A,A), (B,B), (C,C), (D,D), (E,E), (F,F), (G,G), (H,H), (I,I), (J,J), (K,K), (L,L), (M,M), (N,N), (O,O), (P,P), (Q,Q), (R,R), (S,S), (T,T), (U,U), (V,V), (W,W), (X,X), (Y,Y), (Z,Z))
+List((A,A), (B,B), (C,C), (D,D), (E,E), (F,F), (G,G), (H,H), (I,I), (J,J), (K,K), (L,L), (M,M), (N,N), (O,O), (P,P), (Q,Q), (R,R), (S,S), (T,T), (U,U), (V,V), (W,W), (X,X), (Y,Y), (Z,Z))
+List((A,A), (B,B), (C,C), (D,D), (E,E), (F,F), (G,G), (H,H), (I,I), (J,J), (K,K), (L,L), (M,M), (N,N), (O,O), (P,P), (Q,Q), (R,R), (S,S), (T,T), (U,U), (V,V), (W,W), (X,X), (Y,Y), (Z,Z))
+List((A,A), (B,B), (C,C), (D,D), (E,E), (F,F), (G,G), (H,H), (I,I), (J,J), (K,K), (L,L), (M,M), (N,N), (O,O), (P,P), (Q,Q), (R,R), (S,S), (T,T), (U,U), (V,V), (W,W), (X,X), (Y,Y), (Z,Z))
+List((A,A), (B,B), (C,C), (D,D), (E,E), (F,F), (G,G), (H,H), (I,I), (J,J), (K,K), (L,L), (M,M), (N,N), (O,O), (P,P), (Q,Q), (R,R), (S,S), (T,T), (U,U), (V,V), (W,W), (X,X), (Y,Y), (Z,Z))
+List((A,A), (B,B), (C,C), (D,D), (E,E), (F,F), (G,G), (H,H), (I,I), (J,J), (K,K), (L,L), (M,M), (N,N), (O,O), (P,P), (Q,Q), (R,R), (S,S), (T,T), (U,U), (V,V), (W,W), (X,X), (Y,Y), (Z,Z))
+List((A,A), (B,B), (C,C), (D,D), (E,E), (F,F), (G,G), (H,H), (I,I), (J,J), (K,K), (L,L), (M,M), (N,N), (O,O), (P,P), (Q,Q), (R,R), (S,S), (T,T), (U,U), (V,V), (W,W), (X,X), (Y,Y), (Z,Z))
+List((A,A), (B,B), (C,C), (D,D), (E,E), (F,F), (G,G), (H,H), (I,I), (J,J), (K,K), (L,L), (M,M), (N,N), (O,O), (P,P), (Q,Q), (R,R), (S,S), (T,T), (U,U), (V,V), (W,W), (X,X), (Y,Y), (Z,Z))
diff --git a/test/files/run/colltest1.scala b/test/files/run/colltest1.scala
index f12c234f74..557282cb8d 100644
--- a/test/files/run/colltest1.scala
+++ b/test/files/run/colltest1.scala
@@ -80,7 +80,7 @@ object Test extends Application {
val tenPlus = ten map (_ + 1)
assert((ten zip tenPlus) forall { case (x, y) => x + 1 == y })
val dble = ten flatMap (x => List(x, x))
- assert(dble.removeDuplicates == ten)
+ assert(dble.distinct == ten)
assert(ten.length == 10)
assert(ten(0) == 1 && ten(9) == 10)
assert((ten lengthCompare 10) == 0 && (ten lengthCompare 1) > 0 && (ten lengthCompare 11) < 0)
@@ -122,7 +122,7 @@ object Test extends Application {
assert((ten diff (ten filter (_ % 2 == 0))) == (ten filterNot (_ % 2 == 0)))
assert((ten intersect ten) == ten)
assert((ten intersect List(5)) == List(5))
- assert((ten ++ ten).removeDuplicates == ten)
+ assert((ten ++ ten).distinct == ten)
assert(ten.patch(3, List(4, 5, 6, 7), 4) == ten)
assert(ten.patch(0, List(1, 2, 3), 9) == List(1, 2, 3, 10))
assert(empty.padTo(10, 7) == Array.fill(10)(7).toSeq)
@@ -170,7 +170,7 @@ object Test extends Application {
m += (("D" -> "D"), ("E" -> "E"), ("F" -> "F"))
m ++= List(("G" -> "G"), ("H" -> "H"), ("I" -> "I"))
m ++= ('J' to 'Z') map (x => (x.toString -> x.toString))
- println(m)
+ println(m.toList.sorted)
assert(!m.isEmpty)
assert(m.keySet forall (k => (m get k) == Some(k)))
assert(m.keySet forall (k => (m apply k) == k))
@@ -185,7 +185,7 @@ object Test extends Application {
assert(mm.isEmpty, mm)
def m3 = empty ++ m1
assert(m1 == m3)
- println(m3)
+ println(m3.toList.sorted)
val m4 = m3 filterNot { case (k, v) => k != "A" }
assert(m4.size == 1, m4)
}
diff --git a/test/files/run/constrained-types.check b/test/files/run/constrained-types.check
index f18ff6e3c9..cc00a7c46b 100644
--- a/test/files/run/constrained-types.check
+++ b/test/files/run/constrained-types.check
@@ -121,7 +121,7 @@ y: java.lang.String = hello
-----
val x = 3 : Int @Annot(e+f+g+h) //should have a graceful error message
-<console>:5: error: not found: value e
+<console>:6: error: not found: value e
val x = 3 : Int @Annot(e+f+g+h) //should have a graceful error message
^
diff --git a/test/files/run/elidable.check b/test/files/run/elidable.check
new file mode 100644
index 0000000000..4ce04f0040
--- /dev/null
+++ b/test/files/run/elidable.check
@@ -0,0 +1 @@
+Good for me, I was not elided.
diff --git a/test/files/run/elidable.flags b/test/files/run/elidable.flags
new file mode 100644
index 0000000000..93fd3d5317
--- /dev/null
+++ b/test/files/run/elidable.flags
@@ -0,0 +1 @@
+-Xelide-below 900
diff --git a/test/files/run/elidable.scala b/test/files/run/elidable.scala
new file mode 100644
index 0000000000..2a527efc4b
--- /dev/null
+++ b/test/files/run/elidable.scala
@@ -0,0 +1,16 @@
+import annotation._
+import elidable._
+
+object Test {
+ @elidable(FINEST) def f1() = assert(false, "Should have been elided.")
+ @elidable(INFO) def f2() = assert(false, "Should have been elided.")
+ @elidable(SEVERE) def f3() = println("Good for me, I was not elided.")
+ @elidable(INFO) def f4 = assert(false, "Should have been elided (no parens).")
+
+ def main(args: Array[String]): Unit = {
+ f1()
+ f2()
+ f3()
+ f4
+ }
+}
diff --git a/test/files/run/equality.scala b/test/files/run/equality.scala
index 5b9ad207da..6498b232e1 100644
--- a/test/files/run/equality.scala
+++ b/test/files/run/equality.scala
@@ -1,6 +1,8 @@
// a quickly assembled test of equality. Needs work.
object Test
{
+ import scala.runtime.ScalaRunTime.hash
+
def makeFromInt(x: Int) = List(
x.toByte, x.toShort, x.toInt, x.toLong, x.toFloat, x.toDouble, BigInt(x), BigDecimal(x)
) ::: (
diff --git a/test/files/run/hashCodeBoxesRunTime.scala b/test/files/run/hashCodeBoxesRunTime.scala
index 3eacacb663..ba1a30f5fb 100644
--- a/test/files/run/hashCodeBoxesRunTime.scala
+++ b/test/files/run/hashCodeBoxesRunTime.scala
@@ -5,7 +5,7 @@ object Test
import java.{ lang => jl }
import scala.runtime.BoxesRunTime.{ hashFromNumber, hashFromObject }
- def allSame[T](xs: List[T]) = assert(xs.removeDuplicates.size == 1, "failed: " + xs)
+ def allSame[T](xs: List[T]) = assert(xs.distinct.size == 1, "failed: " + xs)
def mkNumbers(x: Int): List[Number] =
List(x.toByte, x.toShort, x, x.toLong, x.toFloat, x.toDouble)
diff --git a/test/files/run/hashCodeDistribution.scala b/test/files/run/hashCodeDistribution.scala
index dbb6e833bd..5be9d1db6d 100644
--- a/test/files/run/hashCodeDistribution.scala
+++ b/test/files/run/hashCodeDistribution.scala
@@ -8,7 +8,7 @@ object Test {
val hashCodes =
for (x <- 0 until COUNT; y <- 0 until COUNT) yield C(x,y).hashCode
- val uniques = hashCodes.removeDuplicates
+ val uniques = hashCodes.distinct
val collisionRate = (totalCodes - uniques.size) * 1000 / totalCodes
assert(collisionRate < 5, "Collision rate too high: %d / 1000".format(collisionRate))
diff --git a/test/files/run/hashhash.scala b/test/files/run/hashhash.scala
new file mode 100644
index 0000000000..4a34ab12e0
--- /dev/null
+++ b/test/files/run/hashhash.scala
@@ -0,0 +1,15 @@
+object Test
+{
+ class A { val x1 = this.## ; val x2 = super.## }
+ val myA = new A
+ assert(myA.x1 == myA.x2)
+
+ def confirmSame(x: Any) = assert(x.## == x.hashCode, "%s.## != %s.hashCode".format(x, x))
+ def confirmDifferent(x: Any) = assert(x.## != x.hashCode, "%s.## == %s.hashCode (but should not)".format(x, x))
+
+ def main(args: Array[String]): Unit = {
+ /** Just a little sanity check, not to be confused with a unit test. */
+ List(5, 5.5f, "abc", new AnyRef, new A, ()) foreach confirmSame
+ List(5.0f, 1.0d, -(5.0f), (-1.0d)) foreach confirmDifferent
+ }
+}
diff --git a/test/files/run/iterators.check b/test/files/run/iterators.check
index cd1b79144a..bb139c1610 100644
--- a/test/files/run/iterators.check
+++ b/test/files/run/iterators.check
@@ -7,7 +7,7 @@ test check_drop was successful
test check_foreach was successful
test check_forall was successful
test check_fromArray was successful
-test check_collect was successful
+test check_toSeq was successful
test check_indexOf was successful
test check_findIndexOf was successful
diff --git a/test/files/run/iterators.scala b/test/files/run/iterators.scala
index 5879d38df3..5f77289343 100644
--- a/test/files/run/iterators.scala
+++ b/test/files/run/iterators.scala
@@ -83,8 +83,8 @@ object Test {
xs0.length + xs1.length + xs2.length + xs3.length + xs4.length
}
- def check_collect: String =
- List(1, 2, 3, 4, 5).iterator.collect.mkString("x")
+ def check_toSeq: String =
+ List(1, 2, 3, 4, 5).iterator.toSeq.mkString("x")
def check_indexOf: String = {
val i = List(1, 2, 3, 4, 5).indexOf(4)
@@ -93,8 +93,8 @@ object Test {
}
def check_findIndexOf: String = {
- val i = List(1, 2, 3, 4, 5).findIndexOf { x: Int => x >= 4 }
- val j = List(1, 2, 3, 4, 5).findIndexOf { x: Int => x >= 16 }
+ val i = List(1, 2, 3, 4, 5).indexWhere { x: Int => x >= 4 }
+ val j = List(1, 2, 3, 4, 5).indexWhere { x: Int => x >= 16 }
"" + i + "x" + j
}
@@ -124,7 +124,7 @@ object Test {
check_success("check_foreach", check_foreach, 190)
check_success("check_forall", check_forall, 0)
check_success("check_fromArray",check_fromArray, 14)
- check_success("check_collect", check_collect, "1x2x3x4x5")
+ check_success("check_toSeq", check_toSeq, "1x2x3x4x5")
check_success("check_indexOf", check_indexOf, "3x-1")
check_success("check_findIndexOf", check_findIndexOf, "3x-1")
println()
diff --git a/test/files/run/lists.scala b/test/files/run/lists.scala
index 695d5a0336..6c9b55961e 100644
--- a/test/files/run/lists.scala
+++ b/test/files/run/lists.scala
@@ -126,8 +126,8 @@ object Test1 extends TestCase("ctor") with Assert {
assertEquals("check_forall", true, b1 & b2)
}
{
- val ys1 = xs1 remove { e => e % 2 != 0 }
- val ys2 = xs4 remove { e => e < 5 }
+ val ys1 = xs1 filterNot { e => e % 2 != 0 }
+ val ys2 = xs4 filterNot { e => e < 5 }
assertEquals("check_remove", 3, ys1.length + ys2.length)
}
{
diff --git a/test/files/run/names-defaults.check b/test/files/run/names-defaults.check
index 47d09a5083..60c7637e3d 100644
--- a/test/files/run/names-defaults.check
+++ b/test/files/run/names-defaults.check
@@ -81,6 +81,7 @@ get: 20
get: 20
20
0
+1
dlkfj0dlkfj102
lskf2dkflj2
dlkd5nixda10nixdadklfj1dklfj
@@ -119,3 +120,4 @@ klfj1
blublu1
my text
List(1, 2)
+3
diff --git a/test/files/run/names-defaults.scala b/test/files/run/names-defaults.scala
index 121ddcb3bc..8557047875 100644
--- a/test/files/run/names-defaults.scala
+++ b/test/files/run/names-defaults.scala
@@ -135,6 +135,10 @@ object Test extends Application {
println(bn4())
println(bn4(a = 0))
+ class t2929(x: => Int = 1) {
+ def foo = x
+ }
+ println((new t2929()).foo)
// constructors
val a1 = new A(b = "dlkfj")(d = 102)
@@ -252,6 +256,9 @@ object Test extends Application {
def test11[T[P]](x: T[T[List[T[X forSome { type X }]]]] = List(1,2)) = x
// (cannot call f using the default, List(1,2) doesn't match the param type)
+ def multinest = { def bar(x: Int = 1) = { def bar(x: Int = 2) = x; bar() + x }; bar() }
+ println(multinest)
+
// #2290
def spawn(a: Int, b: => Unit) = { () }
@@ -289,6 +296,14 @@ object Test extends Application {
class C extends A
}
+ object t3178 {
+ def foo(x: String) = x
+ def foo(x: Int) = x
+ def bar(foo: Int) = foo
+ bar(foo = 1)
+ }
+
+
// DEFINITIONS
def test1(a: Int, b: String) = println(a +": "+ b)
def test2(u: Int, v: Int)(k: String, l: Int) = println(l +": "+ k +", "+ (u + v))
diff --git a/test/files/run/programmatic-main.check b/test/files/run/programmatic-main.check
new file mode 100644
index 0000000000..82118f8ece
--- /dev/null
+++ b/test/files/run/programmatic-main.check
@@ -0,0 +1,26 @@
+parser
+namer
+packageobjects
+typer
+superaccessors
+pickler
+refchecks
+selectiveanf
+liftcode
+selectivecps
+uncurry
+tailcalls
+explicitouter
+erasure
+lazyvals
+lambdalift
+constructors
+flatten
+mixin
+cleanup
+icode
+inliner
+closelim
+dce
+jvm
+terminal
diff --git a/test/files/run/programmatic-main.scala b/test/files/run/programmatic-main.scala
new file mode 100644
index 0000000000..9c7d0b7095
--- /dev/null
+++ b/test/files/run/programmatic-main.scala
@@ -0,0 +1,12 @@
+import scala.tools.nsc._
+import io.Path
+
+object Test {
+ val cwd = Option(System.getProperty("partest.cwd")) getOrElse "."
+ val basedir = Path(cwd).parent / "lib" path
+ val baseargs = Array("-usejavacp", "-bootclasspath", basedir + "/scala-library.jar", "-cp", basedir + "/scala-compiler.jar")
+
+ def main(args: Array[String]): Unit = {
+ Main process (baseargs ++ Array("-Xshow-phases"))
+ }
+}
diff --git a/test/files/run/range.scala b/test/files/run/range.scala
index 65d33a6134..02b48fad7c 100644
--- a/test/files/run/range.scala
+++ b/test/files/run/range.scala
@@ -44,6 +44,9 @@ object Test {
assert(NumericRange.inclusive(1, 10, 1) sameElements (1 to 10))
assert(NumericRange.inclusive(1, 100, 3) sameElements (1 to 100 by 3))
+ // #2518
+ assert((3L to 7 by 2) sameElements List(3L, 5L, 7L))
+
rangeForeach(1 to 10);
rangeForeach(1 until 10);
rangeForeach(10 to 1 by -1);
diff --git a/test/files/run/regularpatmat.check b/test/files/run/regularpatmat.check
deleted file mode 100644
index 3417d9a98a..0000000000
--- a/test/files/run/regularpatmat.check
+++ /dev/null
@@ -1,126 +0,0 @@
-pretest
-passed ok
-testWR_1
-passed ok
-passed ok
-passed ok
-passed ok
-passed ok
-passed ok
-passed ok
-testWR_2
-passed ok
-passed ok
-passed ok
-passed ok
-passed ok
-passed ok
-passed ok
-testWR_3
-passed ok
-passed ok
-passed ok
-passed ok
-passed ok
-passed ok
-passed ok
-testWR_4
-passed ok
-passed ok
-passed ok
-passed ok
-passed ok
-passed ok
-passed ok
-testWR_5
-passed ok
-passed ok
-passed ok
-testWR_6
-passed ok
-passed ok
-testWR_7
-passed ok
-testWR_8
-passed ok
-testWS
-passed ok
-passed ok
-passed ok
-passed ok
-passed ok
-passed ok
-passed ok
-testWT
-passed ok
-passed ok
-passed ok
-passed ok
-passed ok
-passed ok
-passed ok
-testWV
-passed ok
-passed ok
-passed ok
-passed ok
-passed ok
-passed ok
-passed ok
-testBK
-passed ok
-passed ok
-passed ok
-passed ok
-passed ok
-passed ok
-passed ok
-passed ok
-passed ok
-testBM
-passed ok
-passed ok
-passed ok
-passed ok
-passed ok
-passed ok
-passed ok
-passed ok
-BN preTest: true
-testBN
-passed ok
-passed ok
-passed ok
-passed ok
-passed ok
-passed ok
-passed ok
-testBO
-passed ok
-passed ok
-passed ok
-passed ok
-passed ok
-passed ok
-testMZ - bugs #132 #133b #180 #195 #196 #398 #406 #441
-passed ok
-passed ok
-passed ok
-passed ok
-passed ok
-passed ok
-passed ok
-passed ok
-passed ok
-passed ok
-passed ok
-passed ok
-passed ok
-passed ok
-passed ok
-passed ok
-passed ok
-passed ok
-passed ok
-passed ok
-passed ok
diff --git a/test/files/run/spec-absfun.flags b/test/files/run/spec-absfun.flags
new file mode 100644
index 0000000000..3a910a936c
--- /dev/null
+++ b/test/files/run/spec-absfun.flags
@@ -0,0 +1 @@
+-Yspecialize \ No newline at end of file
diff --git a/test/files/run/spec-absfun.scala b/test/files/run/spec-absfun.scala
new file mode 100644
index 0000000000..ab16e8febc
--- /dev/null
+++ b/test/files/run/spec-absfun.scala
@@ -0,0 +1,43 @@
+
+/** Test inheritance. See #3085.
+ * Anonymous functions extend AbstractFunction1[SpecializedPair[Int], Unit]. The
+ * specialized type SpecializedPair$mcI$sp should not leak into the superclass because
+ * the definition of apply would vary covariantly, and erasure won't consider it an
+ * override of the abstract apply, leading to an AbstractMethodError at runtime.
+ */
+
+object Test {
+
+ private val Max = 1000
+
+ def main(args: Array[String]) {
+ notSpecialized()
+ specialized()
+ }
+
+ def notSpecialized() {
+ val pairs = for { i <- 1 to Max; j <- 1 to i } yield new Pair(i, j)
+ val time0 = System.nanoTime
+ pairs foreach { p => p.first * p.second }
+ val time1 = System.nanoTime
+// println(time1 - time0)
+ }
+
+ def specialized() {
+ val pairs = for { i <- 1 to Max; j <- 1 to i } yield new SpecializedPair(i, j)
+ val time0 = System.nanoTime
+ pairs foreach { p => p.first * p.second }
+ val time1 = System.nanoTime
+// println(time1 - time0)
+ }
+}
+
+class Pair[A](_first: A, _second: A) {
+ def first = _first
+ def second = _second
+}
+
+class SpecializedPair[@specialized("Int") A](_first: A, _second: A) {
+ def first = _first
+ def second = _second
+}
diff --git a/test/files/run/spec-matrix.check b/test/files/run/spec-matrix.check
new file mode 100644
index 0000000000..72e8ffc0db
--- /dev/null
+++ b/test/files/run/spec-matrix.check
@@ -0,0 +1 @@
+*
diff --git a/test/files/run/spec-matrix.flags b/test/files/run/spec-matrix.flags
new file mode 100644
index 0000000000..3a910a936c
--- /dev/null
+++ b/test/files/run/spec-matrix.flags
@@ -0,0 +1 @@
+-Yspecialize \ No newline at end of file
diff --git a/test/files/run/spec-matrix.scala b/test/files/run/spec-matrix.scala
new file mode 100644
index 0000000000..212a800672
--- /dev/null
+++ b/test/files/run/spec-matrix.scala
@@ -0,0 +1,70 @@
+/** Test matrix multiplication with specialization.
+ */
+
+class Matrix[@specialized A: ClassManifest](val rows: Int, val cols: Int) {
+ private val arr: Array[Array[A]] = new Array[Array[A]](rows, cols)
+
+ def apply(i: Int, j: Int): A = {
+ if (i < 0 || i >= rows || j < 0 || j >= cols)
+ throw new NoSuchElementException("Indexes out of bounds: " + (i, j))
+
+ arr(i)(j)
+ }
+
+ def update(i: Int, j: Int, e: A) {
+ arr(i)(j) = e
+ }
+
+ def rowsIterator: Iterator[Array[A]] = new Iterator[Array[A]] {
+ var idx = 0;
+ def hasNext = idx < rows
+ def next = {
+ idx += 1
+ arr(idx - 1)
+ }
+ }
+}
+
+object Test {
+ def main(args: Array[String]) {
+ val m = randomMatrix(200, 100)
+ val n = randomMatrix(100, 200)
+
+ mult(m, n)
+ println("*")
+ }
+
+ def randomMatrix(n: Int, m: Int) = {
+ val r = new util.Random(10)
+ val x = new Matrix[Int](n, m)
+ for (i <- 0 until n; j <- 0 until m)
+ x(i, j) = r.nextInt
+ x
+ }
+
+
+ def multManifest[@specialized("Int") T](m: Matrix[T], n: Matrix[T])(implicit cm: ClassManifest[T], num: Numeric[T]) {
+ val p = new Matrix[T](m.rows, n.cols)
+ import num._
+
+ for (i <- 0 until m.rows)
+ for (j <- 0 until n.cols) {
+ var sum = num.zero
+ for (k <- 0 until n.rows)
+ sum += m(i, k) * n(k, j)
+ p(i, j) = sum
+ }
+ }
+
+ def mult(m: Matrix[Int], n: Matrix[Int]) {
+ val p = new Matrix[Int](m.rows, n.cols)
+
+ for (i <- 0 until m.rows)
+ for (j <- 0 until n.cols) {
+ var sum = 0
+ for (k <- 0 until n.rows)
+ sum += m(i, k) * n(k, j)
+ p(i, j) = sum
+ }
+ }
+}
diff --git a/test/files/run/spec-patmatch.check b/test/files/run/spec-patmatch.check
new file mode 100644
index 0000000000..a6679fa1c7
--- /dev/null
+++ b/test/files/run/spec-patmatch.check
@@ -0,0 +1,19 @@
+bool
+byte
+short
+char
+int
+long
+double
+float
+default
+object instantiations:
+bool
+byte
+short
+char
+int
+long
+double
+float
+default
diff --git a/test/files/run/spec-patmatch.flags b/test/files/run/spec-patmatch.flags
new file mode 100644
index 0000000000..3a910a936c
--- /dev/null
+++ b/test/files/run/spec-patmatch.flags
@@ -0,0 +1 @@
+-Yspecialize \ No newline at end of file
diff --git a/test/files/run/spec-patmatch.scala b/test/files/run/spec-patmatch.scala
new file mode 100644
index 0000000000..92938836d8
--- /dev/null
+++ b/test/files/run/spec-patmatch.scala
@@ -0,0 +1,52 @@
+class Foo[@specialized A] {
+ def test(x: A) = println(x match {
+ case _: Boolean => "bool"
+ case _: Byte => "byte"
+ case _: Short => "short"
+ case _: Char => "char"
+ case i: Int => "int"
+ case l: Long => "long"
+ case d: Double => "double"
+ case e: Float => "float"
+ case _ => "default"
+ })
+}
+
+object Test {
+ def test[@specialized A] (x: A) = println(x match {
+ case _: Boolean => "bool"
+ case _: Byte => "byte"
+ case _: Short => "short"
+ case _: Char => "char"
+ case i: Int => "int"
+ case l: Long => "long"
+ case d: Double => "double"
+ case e: Float => "float"
+ case _ => "default"
+ })
+
+ def main(args: Array[String]) {
+ test(true)
+ test(42.toByte)
+ test(42.toShort)
+ test('b')
+ test(42)
+ test(42l)
+ test(42.0)
+ test(42.0f)
+ test(new Object)
+
+ println("object instantiations:")
+ (new Foo).test(true)
+ (new Foo).test(42.toByte)
+ (new Foo).test(42.toShort)
+ (new Foo).test('b')
+ (new Foo).test(42)
+ (new Foo).test(42l)
+ (new Foo).test(42.0)
+ (new Foo).test(42.0f)
+ (new Foo).test(new Object)
+
+ }
+
+}
diff --git a/test/files/run/t0017.check b/test/files/run/t0017.check
index 86c5fe56a8..3a72142467 100644
--- a/test/files/run/t0017.check
+++ b/test/files/run/t0017.check
@@ -1 +1 @@
-Array(GenericArray(1, 3), GenericArray(2, 4))
+Array(ArraySeq(1, 3), ArraySeq(2, 4))
diff --git a/test/files/run/t0528.scala b/test/files/run/t0528.scala
index 5a4755c947..df6d13a17a 100644
--- a/test/files/run/t0528.scala
+++ b/test/files/run/t0528.scala
@@ -3,7 +3,7 @@ trait Sequ[A] {
}
class RichStr extends Sequ[Char] {
- // override to a primitve array
+ // override to a primitive array
def toArray: Array[Char] = Array('0', '1', '2', '3', '4', '5', '6', '7', '8', '9')
}
diff --git a/test/files/run/t1500.scala b/test/files/run/t1500.scala
index de79b84e75..ce6278cd05 100644
--- a/test/files/run/t1500.scala
+++ b/test/files/run/t1500.scala
@@ -18,10 +18,10 @@ object Test {
def main(args: Array[String]) = {
- val tool = new Interpreter(new Settings())
+ val settings = new Settings()
+ settings.classpath.value = System.getProperty("java.class.path")
+ val tool = new Interpreter(settings)
val global = tool.compiler
- // when running that compiler, give it a scala-library to the classpath
- global.settings.classpath.value = System.getProperty("java.class.path")
import global._
import definitions._
diff --git a/test/files/run/t1501.scala b/test/files/run/t1501.scala
index 851daae0bb..f1eb8f287d 100644
--- a/test/files/run/t1501.scala
+++ b/test/files/run/t1501.scala
@@ -28,12 +28,10 @@ object Test {
</code>.text
def main(args: Array[String]) = {
-
- val tool = new Interpreter(new Settings())
+ val settings = new Settings()
+ settings.classpath.value = System.getProperty("java.class.path")
+ val tool = new Interpreter(settings)
val global = tool.compiler
- // when running that compiler, give it a scala-library to the classpath
- global.settings.classpath.value = System.getProperty("java.class.path")
-
import global._
import definitions._
diff --git a/test/files/run/t1773.scala b/test/files/run/t1773.scala
index 81c6005f86..4a4aaba1f0 100644
--- a/test/files/run/t1773.scala
+++ b/test/files/run/t1773.scala
@@ -8,5 +8,5 @@ object Test extends Application
<a>{ if (true) "" else "I like turtles" }</a>
)
- for (x1 <- xs; x2 <- xs) assert (x1 == x2)
+ for (x1 <- xs; x2 <- xs) assert (x1 xml_== x2)
}
diff --git a/test/files/run/t2074.scala b/test/files/run/t2074.scala
deleted file mode 100644
index 60646be733..0000000000
--- a/test/files/run/t2074.scala
+++ /dev/null
@@ -1,3 +0,0 @@
-object Test extends Application {
- List.range(1,11).view.patch(5, List(100,101), 2)
-}
diff --git a/test/files/run/t2074_2.check b/test/files/run/t2074_2.check
index eb1f072de3..e4fc89b1ce 100644
--- a/test/files/run/t2074_2.check
+++ b/test/files/run/t2074_2.check
@@ -1,3 +1,3 @@
-IndexedSeqView(1, 2, 3)
-IndexedSeqView(1, 2, 3)
-IndexedSeqViewZ((1,1), (2,2), (3,3))
+SeqView(1, 2, 3)
+SeqView(1, 2, 3)
+SeqViewZ(...)
diff --git a/test/files/run/t2074_2.scala b/test/files/run/t2074_2.scala
index 7d1d8181d8..4624170f89 100644
--- a/test/files/run/t2074_2.scala
+++ b/test/files/run/t2074_2.scala
@@ -1,12 +1,15 @@
// replaced all occurrences of 'Vector' with 'IndexedSeq'
import scala.collection.immutable.IndexedSeq
-import scala.collection.IndexedSeqView
+import scala.collection.SeqView
object Test {
- val v = new IndexedSeqView[Int, IndexedSeq[Int]] {
+ val funWithCCE = List.range(1,11).view.patch(5, List(100,101), 2)
+
+ val v = new SeqView[Int, IndexedSeq[Int]] {
def underlying = IndexedSeq(1,2,3)
def apply(idx: Int) = underlying(idx)
def length = underlying.length
+ def iterator = underlying.iterator
}
val w = IndexedSeq(1, 2, 3).view
diff --git a/test/files/run/t2212.scala b/test/files/run/t2212.scala
new file mode 100644
index 0000000000..b9c0cd776b
--- /dev/null
+++ b/test/files/run/t2212.scala
@@ -0,0 +1,10 @@
+object Test {
+ def main(args: Array[String]) {
+ import collection.mutable._
+ val x4 = LinkedList[Int](1)
+ println(x4)
+ val y4 = LinkedList[Int](1)
+ println(y4)
+ println(x4 equals y4) // or (y4 equals x4)
+ }
+}
diff --git a/test/files/run/t2417.check b/test/files/run/t2417.check
new file mode 100644
index 0000000000..36c954be24
--- /dev/null
+++ b/test/files/run/t2417.check
@@ -0,0 +1,12 @@
+testing small Map that doesn't promote to HashMap...
+
+testing single-threaded HashMap use...
+
+testing HashMap.size from multiple threads...
+
+testing small Set that doesn't promote to HashSet...
+
+testing single-threaded HashSet use...
+
+testing HashSet.size from multiple threads...
+
diff --git a/test/files/run/t2417.scala b/test/files/run/t2417.scala
new file mode 100644
index 0000000000..31d4c143fa
--- /dev/null
+++ b/test/files/run/t2417.scala
@@ -0,0 +1,77 @@
+// #2417
+object Test {
+
+ def parallel(numThreads: Int)(block: => Unit) {
+ var failure: Throwable = null
+ val threads = Array.fromFunction(i => new Thread {
+ override def run {
+ try {
+ block
+ } catch {
+ case x => failure = x
+ }
+ }
+ })(numThreads)
+ for (t <- threads) t.start
+ for (t <- threads) t.join
+ if (failure != null) println("FAILURE: " + failure)
+ }
+
+ def testSet(initialSize: Int, numThreads: Int, passes: Int) {
+ val orig = Set.empty ++ (1 to initialSize)
+ parallel(numThreads) {
+ for (pass <- 0 until passes) {
+ var s = orig
+ for (e <- (initialSize to 1 by -1)) {
+ s -= e
+ val obs = s.size
+ if (obs != e - 1) {
+ throw new Exception("removed e=" + e + ", size was " + obs + ", s=" + s)
+ }
+ }
+ }
+ }
+ }
+
+ def testMap(initialSize: Int, numThreads: Int, passes: Int) {
+ val orig = Map.empty ++ ((1 to initialSize) map ((_,"v")))
+ parallel(numThreads) {
+ for (pass <- 0 until passes) {
+ var m = orig
+ for (e <- (initialSize to 1 by -1)) {
+ m -= e
+ val obs = m.size
+ if (obs != e - 1) {
+ throw new Exception("removed e=" + e + ", size was " + obs + ", m=" + m)
+ }
+ }
+ }
+ }
+ }
+
+ def main(args: Array[String]) {
+ println("testing small Map that doesn't promote to HashMap...")
+ testMap(4, 2, 1000000)
+ println()
+
+ println("testing single-threaded HashMap use...")
+ testMap(5, 1, 1000000)
+ println()
+
+ println("testing HashMap.size from multiple threads...")
+ testMap(5, 2, 1000000)
+ println()
+
+ println("testing small Set that doesn't promote to HashSet...")
+ testSet(4, 2, 1000000)
+ println()
+
+ println("testing single-threaded HashSet use...")
+ testSet(5, 1, 1000000)
+ println()
+
+ println("testing HashSet.size from multiple threads...")
+ testSet(5, 2, 1000000)
+ println()
+ }
+} \ No newline at end of file
diff --git a/test/files/run/t2526.scala b/test/files/run/t2526.scala
index 5f6d60546a..53f3059135 100644
--- a/test/files/run/t2526.scala
+++ b/test/files/run/t2526.scala
@@ -20,9 +20,8 @@ object Test {
assertForeach(keys, m.keysIterator)
assertForeach(keys, m.keySet)
- assertForeach(values, m.valuesIterable.iterator)
+ assertForeach(values, m.values.iterator)
assertForeach(values, m.valuesIterator)
- assertForeach(values, m.valuesIterable)
assertForeach(entries, m)
}
@@ -39,7 +38,7 @@ object Test {
/*
* Checks foreach of `actual` goes over all the elements in `expected`
- * We duplicate the method above because there is no common inteface between Traverable and
+ * We duplicate the method above because there is no common inteface between Traversable and
* Iterator and we want to avoid converting between collections to ensure that we test what
* we mean to test.
*/
diff --git a/test/files/run/t2867.scala b/test/files/run/t2867.scala
new file mode 100644
index 0000000000..25e55eaecd
--- /dev/null
+++ b/test/files/run/t2867.scala
@@ -0,0 +1,15 @@
+object Test {
+ case class A(l: List[_]*)
+
+ def main(args: Array[String]): Unit = {
+ /** Kind of sneaking a slightly different test in here as well as
+ * testing 2867. How subversive.
+ */
+ val xs1 = List(1, 2, 3)
+ val xs2 = List(1.0, 2.0, 3.0)
+ val xs3 = List[Any](1.0f, 2.0f, 3.0f)
+ val xs4 = List[Byte](1, 2, 3)
+
+ assert(A(List(xs1, xs2)) == A(List(xs3, xs4)))
+ }
+}
diff --git a/test/files/run/t2886.check b/test/files/run/t2886.check
new file mode 100644
index 0000000000..39ee46a3df
--- /dev/null
+++ b/test/files/run/t2886.check
@@ -0,0 +1 @@
+Function(List(LocalValue(NoSymbol,x,PrefixedType(SingleType(ThisType(Class(scala)),Field(scala.Predef,PrefixedType(ThisType(Class(scala)),Class(scala.Predef)))),TypeField(scala.Predef.String,PrefixedType(ThisType(Class(java.lang)),Class(java.lang.String)))))),Block(List(ValDef(LocalValue(NoSymbol,x$1,NoType),Ident(LocalValue(NoSymbol,x,PrefixedType(SingleType(ThisType(Class(scala)),Field(scala.Predef,PrefixedType(ThisType(Class(scala)),Class(scala.Predef)))),TypeField(scala.Predef.String,PrefixedType(ThisType(Class(java.lang)),Class(java.lang.String))))))), ValDef(LocalValue(NoSymbol,x$2,NoType),Ident(LocalValue(NoSymbol,x,PrefixedType(SingleType(ThisType(Class(scala)),Field(scala.Predef,PrefixedType(ThisType(Class(scala)),Class(scala.Predef)))),TypeField(scala.Predef.String,PrefixedType(ThisType(Class(java.lang)),Class(java.lang.String)))))))),Apply(Select(This(Class(Test)),Method(Test.test,MethodType(List(LocalValue(NoSymbol,name,PrefixedType(SingleType(ThisType(Class(scala)),Field(scala.Predef,PrefixedType(ThisType(Class(scala)),Class(scala.Predef)))),TypeField(scala.Predef.String,PrefixedType(ThisType(Class(java.lang)),Class(java.lang.String))))), LocalValue(NoSymbol,address,PrefixedType(SingleType(ThisType(Class(scala)),Field(scala.Predef,PrefixedType(ThisType(Class(scala)),Class(scala.Predef)))),TypeField(scala.Predef.String,PrefixedType(ThisType(Class(java.lang)),Class(java.lang.String)))))),PrefixedType(ThisType(Class(scala)),Class(scala.Null))))),List(Ident(LocalValue(NoSymbol,x$2,NoType)), Ident(LocalValue(NoSymbol,x$1,NoType)))))) \ No newline at end of file
diff --git a/test/files/run/t2886.scala b/test/files/run/t2886.scala
new file mode 100644
index 0000000000..eb392f0c58
--- /dev/null
+++ b/test/files/run/t2886.scala
@@ -0,0 +1,7 @@
+object Test {
+ def test(name: String, address: String) = null
+ def main(args: Array[String]) = {
+ val tree = scala.reflect.Code.lift((x:String) => test(address=x,name=x)).tree
+ println(tree)
+ }
+}
diff --git a/test/files/run/t2946/Parsers.scala b/test/files/run/t2946/Parsers.scala
new file mode 100644
index 0000000000..c0961034c4
--- /dev/null
+++ b/test/files/run/t2946/Parsers.scala
@@ -0,0 +1,4 @@
+class Parser {
+ def parse(t: Any): Unit = {
+ }
+}
diff --git a/test/files/run/t2946/ResponseCommon.scala b/test/files/run/t2946/ResponseCommon.scala
new file mode 100644
index 0000000000..fa9d8acccb
--- /dev/null
+++ b/test/files/run/t2946/ResponseCommon.scala
@@ -0,0 +1,14 @@
+trait ResponseCommon extends Parser {
+ private[this] var paramsParser: Parser = null
+ def withParamsParser(parser: Parser) = {paramsParser = parser; this}
+
+ class Foo {
+ println(paramsParser)
+ }
+
+ override abstract def parse(t: Any): Unit = t match {
+ case ("params", value: List[_]) => value.foreach {paramsParser.parse(_)}
+ case _ => super.parse(t)
+ }
+}
+
diff --git a/test/files/run/t2946/Test.scala b/test/files/run/t2946/Test.scala
new file mode 100644
index 0000000000..e9d9896a0e
--- /dev/null
+++ b/test/files/run/t2946/Test.scala
@@ -0,0 +1,7 @@
+class Test extends Parser with ResponseCommon
+
+object Test {
+ def main(args: Array[String]) {
+ new Test
+ }
+}
diff --git a/test/files/run/t3026.check b/test/files/run/t3026.check
new file mode 100644
index 0000000000..8c29b615fa
--- /dev/null
+++ b/test/files/run/t3026.check
@@ -0,0 +1,2 @@
+RED
+YELLOW
diff --git a/test/files/run/t3026.scala b/test/files/run/t3026.scala
new file mode 100755
index 0000000000..22dde9cc03
--- /dev/null
+++ b/test/files/run/t3026.scala
@@ -0,0 +1,8 @@
+object Test {
+ abstract class Colour
+ case object RED extends Colour
+ case object YELLOW extends Colour
+ val items = Array(RED, YELLOW)
+
+ def main(args: Array[String]): Unit = items foreach println
+}
diff --git a/test/files/run/t3112.check b/test/files/run/t3112.check
new file mode 100644
index 0000000000..a95644c82c
--- /dev/null
+++ b/test/files/run/t3112.check
@@ -0,0 +1,4 @@
+Vector()
+Vector()
+Vector()
+Vector() \ No newline at end of file
diff --git a/test/files/run/t3112.scala b/test/files/run/t3112.scala
new file mode 100644
index 0000000000..eb8eec6327
--- /dev/null
+++ b/test/files/run/t3112.scala
@@ -0,0 +1,11 @@
+// #3112
+object Test {
+
+ def main(args: Array[String]): Unit = {
+ println((Vector() ++ (0 until 32)) take 0) // works
+ println((Vector() ++ (0 until 33)) take 0) // error
+ println((Vector() ++ (0 until 32)) takeRight 0) // works
+ println((Vector() ++ (0 until 33)) takeRight 0) // error
+ }
+
+} \ No newline at end of file
diff --git a/test/files/run/t3158.check b/test/files/run/t3158.check
new file mode 100644
index 0000000000..ab1cb284d5
--- /dev/null
+++ b/test/files/run/t3158.check
@@ -0,0 +1 @@
+Array(<function1>)
diff --git a/test/files/run/t3158.scala b/test/files/run/t3158.scala
new file mode 100644
index 0000000000..c824b62e96
--- /dev/null
+++ b/test/files/run/t3158.scala
@@ -0,0 +1,9 @@
+object Test {
+ def main(args: Array[String]) {
+ println(args.map(_ => foo _).deep)
+ }
+
+ def foo(xs: String*) {
+ println(xs)
+ }
+}
diff --git a/test/files/run/t3186.check b/test/files/run/t3186.check
new file mode 100644
index 0000000000..c508d5366f
--- /dev/null
+++ b/test/files/run/t3186.check
@@ -0,0 +1 @@
+false
diff --git a/test/files/run/t3186.scala b/test/files/run/t3186.scala
new file mode 100644
index 0000000000..2534d4a164
--- /dev/null
+++ b/test/files/run/t3186.scala
@@ -0,0 +1,7 @@
+object Dist1 extends Enumeration { val Mile, Foot, Inch = Value }
+
+object Dist2 extends Enumeration { val Kilometer, Millimeter, Parsec = Value }
+
+object Test extends Application {
+ println(Dist1.Mile == Dist2.Kilometer)
+}
diff --git a/test/files/run/t3242.check b/test/files/run/t3242.check
new file mode 100644
index 0000000000..a145f6df8f
--- /dev/null
+++ b/test/files/run/t3242.check
@@ -0,0 +1,18 @@
+ append [num: 200] vec
+ remove [num: 200] vec
+ append [num: 400] vec
+ remove [num: 400] vec
+ append [num: 600] vec
+ remove [num: 600] vec
+ append [num: 800] vec
+ remove [num: 800] vec
+>> comparison done, num: 200
+ append [num: 2000] vec
+ remove [num: 2000] vec
+ append [num: 4000] vec
+ remove [num: 4000] vec
+ append [num: 6000] vec
+ remove [num: 6000] vec
+ append [num: 8000] vec
+ remove [num: 8000] vec
+>> comparison done, num: 2000
diff --git a/test/files/run/t3242.scala b/test/files/run/t3242.scala
new file mode 100644
index 0000000000..f8defaa5cd
--- /dev/null
+++ b/test/files/run/t3242.scala
@@ -0,0 +1,49 @@
+object Test {
+
+ def benchmarkA(num: Int) {
+
+ type A = Int
+
+ def updateM[M[_]](ms: M[A], update: (M[A], A)=>M[A]): M[A] = {
+ var is = ms
+ for (i <- 0 until num) is = update(is, i)
+ is
+ }
+
+ //
+ def vectorAppend: Vector[A] = updateM[Vector](Vector(), (as, a)=>{
+ val v = (as :+ a)
+ //println("==>append: i: "+i1+", v: "+v)
+ v
+ })
+ // this will crash, Vector bug!
+ def vectorRemove(vec: Vector[A]): Vector[A] = updateM[Vector](vec, (as, a)=>{
+ val v = (as filterNot{ _ == a})
+ //val v = (is filter{ _ != i})
+ //println("==>remove: i: "+a)
+ v
+ })
+
+ val ct = vectorAppend
+ println(" append [num: "+num+"] vec")
+ vectorRemove(ct)
+ println(" remove [num: "+num+"] vec")
+ } // BenchmarkA
+
+ def comparison(num: Int): Unit = {
+ for (i <- 1 until 5) benchmarkA(num*i)
+ println(">> comparison done, num: "+num);
+ }
+
+ def main(args: Array[String]): Unit = {
+ try {
+ //createBenchmarkA(23).testRun
+
+ comparison(200) // OK
+ comparison(2000) // this will crach
+
+ } catch {
+ case e: Exception => e.printStackTrace()
+ }
+ }
+}
diff --git a/test/files/run/t3242b.scala b/test/files/run/t3242b.scala
new file mode 100644
index 0000000000..7a296aac15
--- /dev/null
+++ b/test/files/run/t3242b.scala
@@ -0,0 +1,17 @@
+import scala.collection.immutable._
+
+object Test {
+
+ def test(n: Int) = {
+ var vb = new VectorBuilder[Int]
+ for (i <- 0 until n)
+ vb += i
+ val v = vb.result
+ assert(v == (0 until n), "not same as (0 until " + n + "): " + v)
+ }
+
+ def main(args: Array[String]): Unit = {
+ for (i <- 0 until 2000)
+ test(i)
+ }
+}
diff --git a/test/files/run/treePrint.check b/test/files/run/treePrint.check
new file mode 100644
index 0000000000..3360815ac1
--- /dev/null
+++ b/test/files/run/treePrint.check
@@ -0,0 +1,5 @@
+def foo = {
+ var q: Boolean = false;
+ val x = 5;
+ ((x == 5) || (!q)) || (true)
+}
diff --git a/test/files/run/treePrint.scala b/test/files/run/treePrint.scala
new file mode 100644
index 0000000000..ffe9a392d4
--- /dev/null
+++ b/test/files/run/treePrint.scala
@@ -0,0 +1,40 @@
+/** Testing compact tree printers.
+ */
+object Test {
+ import scala.tools.nsc._
+ import java.io.{ OutputStream, BufferedReader, StringReader, PrintWriter, Writer, OutputStreamWriter}
+
+ val code = """
+ def foo = {
+ var q: Boolean = false
+ val x = if (true) {
+ if (true) {
+ if (true) {
+ 5
+ }
+ else if (true) {
+ 5
+ } else {
+ 10
+ }
+ }
+ else 20
+ }
+ else 30
+
+ (x == 5) || !q || true
+ }
+ """
+
+ class NullOutputStream extends OutputStream { def write(b: Int) { } }
+
+ def main(args: Array[String]) {
+ val settings = new Settings
+ settings.classpath.value = System.getProperty("java.class.path")
+ settings.Ycompacttrees.value = true
+
+ val repl = new Interpreter(settings, new PrintWriter(new NullOutputStream))
+ repl.interpret("""def initialize = "Have to interpret something or we get errors." """)
+ println(repl mkTree code)
+ }
+}
diff --git a/test/files/run/unittest_collection.scala b/test/files/run/unittest_collection.scala
index 5d7ab97425..d45c23d4b5 100644
--- a/test/files/run/unittest_collection.scala
+++ b/test/files/run/unittest_collection.scala
@@ -96,7 +96,7 @@ object Test {
)
val tr = new TestResult()
ts.run(tr)
- for(val failure <- tr.failures) {
+ for (failure <- tr.failures) {
Console.println(failure)
}
}
diff --git a/test/files/run/unittest_iterator.scala b/test/files/run/unittest_iterator.scala
index 93aaa4a834..28a548160f 100644
--- a/test/files/run/unittest_iterator.scala
+++ b/test/files/run/unittest_iterator.scala
@@ -33,5 +33,18 @@ object Test
assertThat(1, (1 to 8).toList) { it.sliding(8, 8) withPartial false }
assertThat(2, List(9, 10, -1, -1, -1)) { it.sliding(5, 8) withPadding -1 }
assertThat(1, (1 to 5).toList) { it.sliding(5, 8) withPartial false }
+
+ // make sure it throws past th end
+ val thrown = try {
+ val it = List(1,2,3).sliding(2)
+ it.next
+ it.next
+ it.next
+ false
+ }
+ catch {
+ case _: NoSuchElementException => true
+ }
+ assert(thrown)
}
}
diff --git a/test/files/run/vector1.scala b/test/files/run/vector1.scala
index 320bef220c..e8785e2b16 100644
--- a/test/files/run/vector1.scala
+++ b/test/files/run/vector1.scala
@@ -22,7 +22,7 @@ object Test {
def vectorForward(label: String, n: Int): Vector[String] = {
var a: Vector[String] = Vector.empty
for (i <- 0 until n)
- a = a.appendBack(label + i)
+ a = a :+ (label + i)
assertVector(a, label, 0, n)
}
@@ -30,7 +30,7 @@ object Test {
def vectorBackward(label: String, n: Int): Vector[String] = {
var a: Vector[String] = Vector.empty
for (i <- 0 until n)
- a = a.appendFront(label + (n-1-i))
+ a = (label + (n-1-i)) +: a
assertVector(a, label, 0, n)
}
@@ -92,8 +92,8 @@ object Test {
def nextChunkSize = 3 //rand.nextInt(chunkLimit)
- def seqBack() = for (i <- 0 until Math.min(nextChunkSize, N-max)) { a = a.appendBack("a"+max); max += 1 }
- def seqFront() = for (i <- 0 until Math.min(nextChunkSize, min)) { min -= 1; a = a.appendFront("a"+min) }
+ def seqBack() = for (i <- 0 until Math.min(nextChunkSize, N-max)) { a = a :+ ("a"+max); max += 1 }
+ def seqFront() = for (i <- 0 until Math.min(nextChunkSize, min)) { min -= 1; a = ("a"+min) +: a }
try {
@@ -104,7 +104,7 @@ object Test {
} catch {
case ex =>
//println("----------------")
- a.debug
+ //a.debug
throw ex
}
diff --git a/test/files/run/viewtest.check b/test/files/run/viewtest.check
index ded3ac0e92..6e0fe81a67 100644
--- a/test/files/run/viewtest.check
+++ b/test/files/run/viewtest.check
@@ -1,17 +1,11 @@
-SeqViewZ((x,0))
+SeqViewZ(...)
ys defined
mapping 1
2
-mapping 1
-mapping 2
-mapping 3
-SeqViewMS(3, 4)
+SeqViewMS(...)
mapping 3
4
-mapping 1
-mapping 2
-mapping 3
-SeqViewM(2, 3, 4)
+SeqViewM(...)
mapping 1
mapping 2
mapping 3
diff --git a/test/files/run/viewtest.scala b/test/files/run/viewtest.scala
index 280ded57cf..833c0101e3 100755
--- a/test/files/run/viewtest.scala
+++ b/test/files/run/viewtest.scala
@@ -13,7 +13,7 @@ object Test extends Application {
println(ys.force)
val zs = Array(1, 2, 3).view
- val as: IndexedSeqView[Int, Array[Int]] = zs map (_ + 1)
+ val as: SeqView[Int, Array[Int]] = zs map (_ + 1)
val bs: Array[Int] = as.force
val cs = zs.reverse
cs(0) += 1
diff --git a/test/files/run/withIndex.scala b/test/files/run/withIndex.scala
index 3b9c9e84e5..910b1f1f9e 100644
--- a/test/files/run/withIndex.scala
+++ b/test/files/run/withIndex.scala
@@ -3,7 +3,7 @@ object Test {
val ary: Array[String] = Array("a", "b", "c")
val lst: List[String] = List("a", "b", "c")
val itr: Iterator[String] = lst.iterator
- val str: Stream[String] = Stream.fromIterator(lst.iterator)
+ val str: Stream[String] = lst.iterator.toStream
Console.println(ary.zipWithIndex.toList)
Console.println(lst.zipWithIndex.toList)
diff --git a/test/files/scalacheck/array.scala b/test/files/scalacheck/array.scala
index 2febca4447..03c0217180 100644
--- a/test/files/scalacheck/array.scala
+++ b/test/files/scalacheck/array.scala
@@ -4,36 +4,34 @@ import Gen._
import Arbitrary._
import util._
import Buildable._
+import scala.collection.mutable.ArraySeq
object Test extends Properties("Array") {
- val myGens: Seq[Gen[Array[_]]] = List(
- arbArray[Int],
- arbArray[Array[Int]],
- arbArray[List[String]],
- arbArray[String],
- arbArray[Boolean],
- arbArray[AnyVal](arbAnyVal)
- ) map (_.arbitrary)
+ /** At this moment the authentic scalacheck Array Builder/Arb bits are commented out.
+ */
+ implicit def arbArray[T](implicit a: Arbitrary[T], m: Manifest[T]): Arbitrary[Array[T]] =
+ Arbitrary(containerOf[List,T](arbitrary[T]) map (_.toArray))
+
+ val arrGen: Gen[Array[_]] = oneOf(
+ arbitrary[Array[Int]],
+ arbitrary[Array[Array[Int]]],
+ arbitrary[Array[List[String]]],
+ arbitrary[Array[String]],
+ arbitrary[Array[Boolean]],
+ arbitrary[Array[AnyVal]]
+ )
// inspired by #1857 and #2352
- property("eq/ne") =
- forAll(oneOf(myGens: _*)) { c1 =>
- forAll(oneOf(myGens: _*)) { c2 =>
- (c1 eq c2) || (c1 ne c2)
- }
- }
+ property("eq/ne") = forAll(arrGen, arrGen) { (c1, c2) =>
+ (c1 eq c2) || (c1 ne c2)
+ }
- def smallInt = choose(1, 10)
// inspired by #2299
- property("ofDim") = forAll(smallInt) { i1 =>
- forAll(smallInt) { i2 =>
- forAll(smallInt) { i3 =>
- val arr = Array.ofDim[String](i1, i2, i3)
- val flattened = arr flatMap (x => x) flatMap (x => x)
-
- flattened.length == i1 * i2 * i3
- }
- }
+ def smallInt = choose(1, 10)
+ property("ofDim") = forAll(smallInt, smallInt, smallInt) { (i1, i2, i3) =>
+ val arr = Array.ofDim[String](i1, i2, i3)
+ val flattened = arr flatMap (x => x) flatMap (x => x)
+ flattened.length == i1 * i2 * i3
}
}
diff --git a/test/files/scalacheck/eqeq.scala b/test/files/scalacheck/eqeq.scala
new file mode 100644
index 0000000000..60fe63c207
--- /dev/null
+++ b/test/files/scalacheck/eqeq.scala
@@ -0,0 +1,37 @@
+import org.scalacheck._
+import Prop._
+import Gen._
+
+object Test extends Properties("==") {
+ def equalObjectsEqualHashcodes(x: Any, y: Any) = (x != y) || (x == y && x.## == y.##)
+
+ // ticket #2087
+ property("short/char") = forAll { (x: Short) => {
+ val ch: Char = x.toChar
+ (x == ch) == (ch == x)
+ }
+ }
+
+ property("symmetry") = forAll { (x: AnyVal, y: AnyVal) => (x == y) == (y == x) }
+ property("transitivity") = forAll { (x: AnyVal, y: AnyVal, z: AnyVal) => x != y || y != z || x == z }
+
+ property("##") = forAll {
+ (x: Short) => {
+ val anyvals = List(x.toByte, x.toChar, x, x.toInt, x.toLong, x.toFloat, x.toDouble, BigInt(x), BigDecimal(x))
+ val shortAndLarger = anyvals drop 2
+
+ val result = (
+ ((anyvals, anyvals).zipped forall equalObjectsEqualHashcodes) &&
+ ((shortAndLarger, shortAndLarger).zipped forall (_ == _)) &&
+ ((shortAndLarger, shortAndLarger).zipped forall ((x, y) => (x: Any) == (y: Any)))
+ )
+ result
+ }
+ }
+ property("## 2") = forAll {
+ (dv: Double) => {
+ val fv = dv.toFloat
+ (fv != dv) || (fv.## == dv.##)
+ }
+ }
+}
diff --git a/test/files/scalacheck/list.scala b/test/files/scalacheck/list.scala
index 87ecd70a48..1caf35e872 100644
--- a/test/files/scalacheck/list.scala
+++ b/test/files/scalacheck/list.scala
@@ -7,14 +7,14 @@ object Test extends Properties("List") {
property("concat size") = forAll { (l1: List[Int], l2: List[Int]) => (l1.size + l2.size) == (l1 ::: l2).size }
property("reverse") = forAll { (l1: List[Int]) => l1.reverse.reverse == l1 }
- property("toSet") = forAll { (l1: List[Int]) => sorted(l1.toSet.toList) sameElements sorted(l1).removeDuplicates }
+ property("toSet") = forAll { (l1: List[Int]) => sorted(l1.toSet.toList) sameElements sorted(l1).distinct }
property("flatten") = forAll { (xxs: List[List[Int]]) => xxs.flatten.length == (xxs map (_.length) sum) }
property("startsWith/take") = forAll { (xs: List[Int], count: Int) => xs startsWith (xs take count) }
property("endsWith/takeRight") = forAll { (xs: List[Int], count: Int) => xs endsWith (xs takeRight count) }
property("fill") = forAll(choose(1, 100)) { count =>
forAll { (x: Int) =>
val xs = List.fill(count)(x)
- (xs.length == count) && (xs.removeDuplicates == List(x))
+ (xs.length == count) && (xs.distinct == List(x))
}
}
}
diff --git a/test/files/scalacheck/range.scala b/test/files/scalacheck/range.scala
new file mode 100644
index 0000000000..faa1f5d479
--- /dev/null
+++ b/test/files/scalacheck/range.scala
@@ -0,0 +1,205 @@
+import org.scalacheck._
+import Prop._
+import Gen._
+import Arbitrary._
+
+class Counter(r: Range) {
+ var cnt = 0L
+ var last: Option[Int] = None
+ val str = "Range["+r.start+", "+r.end+", "+r.step+(if (r.isInclusive) "]" else ")")
+ def apply(x: Int) = {
+ cnt += 1L
+ if (cnt % 500000000L == 0L) {
+ println("Working: %s %d %d" format (str, cnt, x))
+ }
+ if (cnt > (Int.MaxValue.toLong + 1) * 2)
+ error("Count exceeds maximum possible for an Int Range")
+ if ((r.step > 0 && last.exists(_ > x)) || (r.step < 0 && last.exists(_ < x)))
+ error("Range wrapped: %d %s" format (x, last.toString))
+ last = Some(x)
+ }
+}
+
+abstract class RangeTest(kind: String) extends Properties("Range "+kind) {
+ def myGen: Gen[Range]
+
+ val genRange = for {
+ start <- arbitrary[Int]
+ end <- arbitrary[Int]
+ step <- Gen.choose(1, (start - end).abs + 1)
+ } yield if (start < end) Range(start, end, step) else Range(start, end, -step)
+
+ val genReasonableSizeRange = for {
+ start <- choose(-Int.MinValue, Int.MaxValue)
+ end <- choose(-Int.MinValue, Int.MaxValue)
+ step <- choose(-Int.MaxValue, Int.MaxValue)
+ } yield Range(start, end, if (step == 0) 100 else step)
+
+ val genSmallRange = for {
+ start <- choose(-100, 100)
+ end <- choose(-100, 100)
+ step <- choose(1, 1)
+ } yield if (start < end) Range(start, end, step) else Range(start, end, -step)
+
+ val genRangeByOne = for {
+ start <- arbitrary[Int]
+ end <- arbitrary[Int]
+ if (end.toLong - start.toLong).abs <= 10000000L
+ } yield if (start < end) Range(start, end) else Range(end, start)
+
+ def str(r: Range) = "Range["+r.start+", "+r.end+", "+r.step+(if (r.isInclusive) "]" else ")")
+
+ def expectedSize(r: Range): Long = if (r.isInclusive) {
+ (r.end.toLong - r.start.toLong < 0, r.step < 0) match {
+ case (true, true) | (false, false) => (r.end.toLong - r.start.toLong).abs / r.step.abs.toLong + 1L
+ case _ => if (r.start == r.end) 1L else 0L
+ }
+ } else {
+ (r.end.toLong - r.start.toLong < 0, r.step < 0) match {
+ case (true, true) | (false, false) => (
+ (r.end.toLong - r.start.toLong).abs / r.step.abs.toLong
+ + (if ((r.end.toLong - r.start.toLong).abs % r.step.abs.toLong > 0L) 1L else 0L)
+ )
+ case _ => 0L
+ }
+ }
+
+ def within(r: Range, x: Int) = if (r.step > 0)
+ r.start <= x && (if (r.isInclusive) x <= r.end else x < r.end)
+ else
+ r.start >= x && (if (r.isInclusive) x >= r.end else x > r.end)
+
+ def multiple(r: Range, x: Int) = (x.toLong - r.start) % r.step == 0
+
+ property("foreach.step") = forAll(myGen) { r =>
+ var allValid = true
+ val cnt = new Counter(r)
+// println("--------------------")
+// println(r)
+ r foreach { x => cnt(x)
+// println(x + ", " + (x - r.start) + ", " + (x.toLong - r.start) + ", " + ((x.toLong - r.start) % r.step))
+ allValid &&= multiple(r, x)
+ }
+ allValid :| str(r)
+ }
+
+ property("foreach.inside.range") = forAll(myGen) { r =>
+ var allValid = true
+ var last: Option[Int] = None
+ val cnt = new Counter(r)
+ r foreach { x => cnt(x)
+ allValid &&= within(r, x)
+ }
+ allValid :| str(r)
+ }
+
+ property("foreach.visited.size") = forAll(myGen) { r =>
+ var visited = 0L
+ val cnt = new Counter(r)
+ r foreach { x => cnt(x)
+ visited += 1L
+ }
+// println("----------")
+// println(str(r))
+// println("size: " + r.size)
+// println("expected: " + expectedSize(r))
+// println("visited: " + visited)
+ (visited == expectedSize(r)) :| str(r)
+ }
+
+ property("length") = forAll(myGen suchThat (r => expectedSize(r).toInt == expectedSize(r))) { r =>
+ (r.length == expectedSize(r)) :| str(r)
+ }
+
+ property("isEmpty") = forAll(myGen suchThat (r => expectedSize(r).toInt == expectedSize(r))) { r =>
+ (r.isEmpty == (expectedSize(r) == 0L)) :| str(r)
+ }
+
+ property("contains") = forAll(myGen, arbInt.arbitrary) { (r, x) =>
+// println("----------------")
+// println(str(r))
+// println(x)
+// println("within: " + within(r, x))
+// println("multiple: " + multiple(r, x))
+// println("contains: " + r.contains(x))
+ ((within(r, x) && multiple(r, x)) == r.contains(x)) :| str(r)+": "+x
+ }
+
+ property("take") = forAll(myGen suchThat (r => expectedSize(r).toInt == expectedSize(r)), arbInt.arbitrary) { (r, x) =>
+ val t = r take x
+ (t.size == (0 max x min r.size) && t.start == r.start && t.step == r.step) :| str(r)+" / "+str(t)+": "+x
+ }
+
+ property("takeWhile") = forAll(myGen suchThat (r => expectedSize(r).toInt == expectedSize(r)), arbInt.arbitrary) { (r, x) =>
+ val t = (if (r.step > 0) r takeWhile (_ <= x) else r takeWhile(_ >= x))
+ if (r.size == 0) {
+ (t.size == 0) :| str(r)+" / "+str(t)+": "+x
+ } else {
+ val t2 = (if (r.step > 0) Range(r.start, x min r.last, r.step).inclusive else Range(r.start, x max r.last, r.step).inclusive)
+ (t.start == r.start && t.size == t2.size && t.step == r.step) :| str(r)+" / "+str(t)+" / "+str(t2)+": "+x
+ }
+ }
+
+ property("reverse.toSet.equal") = forAll(myGen) { r =>
+ val reversed = r.reverse
+ val aresame = r.toSet == reversed.toSet
+ if (!aresame) {
+ println(str(r))
+ println(r)
+ println(reversed)
+ println(r.toSet)
+ println(reversed.toSet)
+ }
+ aresame
+ }
+}
+
+object NormalRangeTest extends RangeTest("normal") {
+ override def myGen = genReasonableSizeRange
+ def genOne = for {
+ start <- arbitrary[Int]
+ end <- arbitrary[Int]
+ if (start.toLong - end.toLong).abs < Int.MaxValue.toLong
+ } yield Range(start, end, if (start < end) 1 else - 1)
+ property("by 1.size + 1 == inclusive.size") = forAll(genOne) { r =>
+ (r.size + 1 == r.inclusive.size) :| str(r)
+ }
+}
+
+object InclusiveRangeTest extends RangeTest("inclusive") {
+ override def myGen = for (r <- genReasonableSizeRange) yield r.inclusive
+}
+
+object ByOneRangeTest extends RangeTest("byOne") {
+ override def myGen = genSmallRange
+}
+
+object InclusiveByOneRangeTest extends RangeTest("inclusiveByOne") {
+ override def myGen = for (r <- genSmallRange) yield r.inclusive
+}
+
+object SmallValuesRange extends RangeTest("smallValues") {
+ override def myGen = genSmallRange
+}
+
+object Test extends Properties("Range") {
+ include(NormalRangeTest)
+ include(InclusiveRangeTest)
+ include(ByOneRangeTest)
+ include(InclusiveByOneRangeTest)
+}
+
+/* Mini-benchmark
+def testRange(i: Int, j: Int, k: Int) = {
+ var count = 0
+ for {
+ vi <- 0 to i
+ vj <- 0 to j
+ vk <- 0 to k
+ } { count += 1 }
+}
+
+testRange(10, 1000, 10000)
+testRange(10000, 1000, 10)
+*/
+
diff --git a/test/files/scalacheck/scan.scala b/test/files/scalacheck/scan.scala
new file mode 100644
index 0000000000..e9b25ce3df
--- /dev/null
+++ b/test/files/scalacheck/scan.scala
@@ -0,0 +1,17 @@
+import org.scalacheck._
+import Prop._
+import Gen._
+
+
+object Test extends Properties("TraversableLike.scanLeft") {
+ property("scanLeft") = forAll { (xs: List[Int], z: Int) => {
+ val sums = xs.scanLeft(z)(_ + _)
+ (xs.size == 0) || sums.zip(sums.tail).map(x => x._2 - x._1) == xs
+ }}
+}
+
+
+
+
+
+
diff --git a/test/files/scalap/caseClass/result.test b/test/files/scalap/caseClass/result.test
index cabf321a07..eb1ad74295 100644
--- a/test/files/scalap/caseClass/result.test
+++ b/test/files/scalap/caseClass/result.test
@@ -1,10 +1,9 @@
-case class CaseClass[A >: scala.Nothing <: scala.Seq[scala.Int]](i : A, s : scala.Predef.String) extends java.lang.Object with scala.ScalaObject with scala.Product {
+@scala.serializable
+case class CaseClass[A <: scala.Seq[scala.Int]](i : A, s : scala.Predef.String) extends java.lang.Object with scala.ScalaObject with scala.Product {
val i : A = { /* compiled code */ }
val s : scala.Predef.String = { /* compiled code */ }
def foo : scala.Int = { /* compiled code */ }
- def copy[A >: scala.Nothing <: scala.Seq[scala.Int]]() : CaseClass[A] = { /* compiled code */ }
- def copy$default$1[A >: scala.Nothing <: scala.Seq[scala.Int]] : A = { /* compiled code */ }
- def copy$default$2[A >: scala.Nothing <: scala.Seq[scala.Int]] : scala.Predef.String = { /* compiled code */ }
+ def copy[A <: scala.Seq[scala.Int]](i : A, s : scala.Predef.String) : CaseClass[A] = { /* compiled code */ }
override def hashCode() : scala.Int = { /* compiled code */ }
override def toString() : scala.Predef.String = { /* compiled code */ }
override def equals(x$1 : scala.Any) : scala.Boolean = { /* compiled code */ }
diff --git a/test/files/scalap/classPrivate/A.scala b/test/files/scalap/classPrivate/A.scala
new file mode 100644
index 0000000000..9f1bd34a6a
--- /dev/null
+++ b/test/files/scalap/classPrivate/A.scala
@@ -0,0 +1,9 @@
+class ClassPrivate {
+ private def foo = 1
+ private[ClassPrivate] def bar = 2
+ def baz = 3
+ class Outer {
+ private[ClassPrivate] def qux = 4
+ }
+ protected def quux = 5
+} \ No newline at end of file
diff --git a/test/files/scalap/classPrivate/result.test b/test/files/scalap/classPrivate/result.test
new file mode 100644
index 0000000000..0d12b779c3
--- /dev/null
+++ b/test/files/scalap/classPrivate/result.test
@@ -0,0 +1,10 @@
+class ClassPrivate extends java.lang.Object with scala.ScalaObject {
+ def this() = { /* compiled code */ }
+ def baz : scala.Int = { /* compiled code */ }
+ class Outer extends java.lang.Object with scala.ScalaObject {
+ def this() = { /* compiled code */ }
+ private[ClassPrivate] def qux : scala.Int = { /* compiled code */ }
+ }
+ protected def quux : scala.Int = { /* compiled code */ }
+ private[ClassPrivate] def bar : scala.Int = { /* compiled code */ }
+} \ No newline at end of file
diff --git a/test/files/scalap/classWithExistential/result.test b/test/files/scalap/classWithExistential/result.test
index 243f51e2ad..91afddaf0e 100644
--- a/test/files/scalap/classWithExistential/result.test
+++ b/test/files/scalap/classWithExistential/result.test
@@ -1,4 +1,4 @@
class ClassWithExistential extends java.lang.Object with scala.ScalaObject {
def this() = { /* compiled code */ }
- def foo[A >: scala.Nothing <: scala.Any, B >: scala.Nothing <: scala.Any] : scala.Function1[A, B forSome {type A >: scala.Nothing <: scala.Seq[scala.Int]; type B >: scala.Predef.String <: scala.Any}] = { /* compiled code */ }
-}
+ def foo[A, B] : scala.Function1[A, B forSome {type A <: scala.Seq[scala.Int]; type B >: scala.Predef.String}] = { /* compiled code */ }
+} \ No newline at end of file
diff --git a/test/files/scalap/covariantParam/result.test b/test/files/scalap/covariantParam/result.test
index ce480ee0cd..8acd9b497a 100644
--- a/test/files/scalap/covariantParam/result.test
+++ b/test/files/scalap/covariantParam/result.test
@@ -1,4 +1,4 @@
-class CovariantParam[+A >: scala.Nothing <: scala.Any] extends java.lang.Object with scala.ScalaObject {
+class CovariantParam[+A] extends java.lang.Object with scala.ScalaObject {
def this() = { /* compiled code */ }
- def foo[A >: scala.Nothing <: scala.Any](a : A) : scala.Int = { /* compiled code */ }
+ def foo[A](a : A) : scala.Int = { /* compiled code */ }
}
diff --git a/test/files/scalap/defaultParameter/A.scala b/test/files/scalap/defaultParameter/A.scala
new file mode 100644
index 0000000000..d3514952f4
--- /dev/null
+++ b/test/files/scalap/defaultParameter/A.scala
@@ -0,0 +1,3 @@
+trait DefaultParameter {
+ def foo(s: String = "hello"): Unit
+} \ No newline at end of file
diff --git a/test/files/scalap/defaultParameter/result.test b/test/files/scalap/defaultParameter/result.test
new file mode 100644
index 0000000000..38bf6ac4e3
--- /dev/null
+++ b/test/files/scalap/defaultParameter/result.test
@@ -0,0 +1,3 @@
+trait DefaultParameter extends java.lang.Object {
+ def foo(s : scala.Predef.String) : scala.Unit
+} \ No newline at end of file
diff --git a/test/files/scalap/typeAnnotations/A.scala b/test/files/scalap/typeAnnotations/A.scala
new file mode 100644
index 0000000000..ff2445edc9
--- /dev/null
+++ b/test/files/scalap/typeAnnotations/A.scala
@@ -0,0 +1,9 @@
+abstract class TypeAnnotations[@specialized R] {
+ @specialized val x = 10
+ @specialized type T
+
+ def compose[@specialized A](x: A, y: R): A = {
+ val y: A = x
+ x
+ }
+} \ No newline at end of file
diff --git a/test/files/scalap/typeAnnotations/result.test b/test/files/scalap/typeAnnotations/result.test
new file mode 100644
index 0000000000..b565d6185b
--- /dev/null
+++ b/test/files/scalap/typeAnnotations/result.test
@@ -0,0 +1,8 @@
+abstract class TypeAnnotations[@scala.specialized R] extends java.lang.Object with scala.ScalaObject {
+ def this() = { /* compiled code */ }
+ @scala.specialized
+ val x : scala.Int = { /* compiled code */ }
+ @scala.specialized
+ type T
+ def compose[@scala.specialized A](x : A, y : R) : A = { /* compiled code */ }
+} \ No newline at end of file
diff --git a/test/files/script/fact.scala b/test/files/script/fact.scala
index d48dac6f0f..d48dac6f0f 100644..100755
--- a/test/files/script/fact.scala
+++ b/test/files/script/fact.scala
diff --git a/test/files/script/loadAndExecute/lAndE1.scala b/test/files/script/loadAndExecute/lAndE1.scala
deleted file mode 100755
index b20d1a9428..0000000000
--- a/test/files/script/loadAndExecute/lAndE1.scala
+++ /dev/null
@@ -1,3 +0,0 @@
-object Bop {
- implicit def int2list(x: Int): List[String] = List("hello", "world")
-} \ No newline at end of file
diff --git a/test/files/script/loadAndExecute/lAndE2.scala b/test/files/script/loadAndExecute/lAndE2.scala
deleted file mode 100755
index ea15a04d86..0000000000
--- a/test/files/script/loadAndExecute/lAndE2.scala
+++ /dev/null
@@ -1 +0,0 @@
-import Bop._
diff --git a/test/files/script/loadAndExecute/loadAndExecute.check b/test/files/script/loadAndExecute/loadAndExecute.check
deleted file mode 100644
index ccd8cd6e37..0000000000
--- a/test/files/script/loadAndExecute/loadAndExecute.check
+++ /dev/null
@@ -1 +0,0 @@
-List(hello, world)
diff --git a/test/files/script/loadAndExecute/loadAndExecute.scala b/test/files/script/loadAndExecute/loadAndExecute.scala
deleted file mode 100755
index 2a9718382b..0000000000
--- a/test/files/script/loadAndExecute/loadAndExecute.scala
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-
-scala -nocompdaemon -i lAndE1.scala lAndE2.scala -e 'println(5: List[String])'
diff --git a/test/files/script/utf8.bat b/test/files/script/utf8.bat
deleted file mode 100755
index 8bc5c886f7..0000000000
--- a/test/files/script/utf8.bat
+++ /dev/null
@@ -1,11 +0,0 @@
-::#!
-:: utf8 - <description>.
-
-@echo off
-call scala -nocompdaemon %0 %*
-goto :eof
-::!#
-
-/*Comment Комментарий*/
-Console.println("QWERTY");
-Console.println("ЙЦУКЕН");
diff --git a/test/files/script/utf8.check b/test/files/script/utf8.check
deleted file mode 100644
index 29dc0518ff..0000000000
--- a/test/files/script/utf8.check
+++ /dev/null
@@ -1,2 +0,0 @@
-QWERTY
-ЙЦУКЕН
diff --git a/test/files/script/utf8.scala b/test/files/script/utf8.scala
deleted file mode 100755
index 5366562cee..0000000000
--- a/test/files/script/utf8.scala
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/bin/sh
-# fact - A simple Scala script that prints out the factorial of
-# the argument specified on the command line.
-
-cygwin=false;
-case "`uname`" in
- CYGWIN*) cygwin=true ;;
-esac
-
-SOURCE="$0";
-if $cygwin; then
- if [ "$OS" = "Windows_NT" ] && cygpath -m .>/dev/null 2>/dev/null ;
-then
- format=mixed
- else
- format=windows
- fi
- SOURCE=`cygpath --$format "$SOURCE"`;
-fi
-
-export LC_CTYPE=en_US.UTF-8
-exec scala -nocompdaemon "$SOURCE" "$@"
-!#
-
-/*Comment Комментарий*/
-Console.println("QWERTY");
-Console.println("ЙЦУКЕН");