summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Eliminated the 10 unchecked warnings emanating ...Paul Phillips2010-12-111-9/+9
| | | | | | Eliminated the 10 unchecked warnings emanating from RedBlack.scala. No review.
* I found myself unable to make the necessary par...Paul Phillips2010-12-094-834/+828
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I found myself unable to make the necessary parser improvements for the pattern matcher without breaking it down better. This patch represents a lot of work. Too many booleans were being threaded in an arbitrary way through parse productions, resulting in an abundance of expressions like annotations(true, false) path(false, true) Also there was too much duplication of code, and unnecessary use of mutable state. So here are the main points: * much less code duplication * many listbuffers as arguments eliminated in favor of good old fashioned call a method and use the result * several booleans eliminated in favor of grouping methods by calling context, so the booleans emerge automatically * misc bug fixes, such as the fact that most operators which start with a letter have been getting the highest precedence instead of the lowest. (I can say most because it's definitely true by the numbers: nobody has reported it because a-zA-Z do the right thing, it's _, $, and the entirety of the Unicode letters which were wrong) * sporadically introduced/improved documentation * misc better error messages, like: scala> import scala.{ _, String => Bob } // before <console>:1: error: '}' expected but ',' found. import scala.{ _, String => Bob } // after <console>:1: error: Wildcard import must be in last position import scala.{ _, String => Bob } ^ Anticipating the performance objection, I measured it and the difference is immeasurable. And the usual finish: I can't imagine anyone being interested in or willing to review this, but am all ears if there are counterexamples. Meanwhile, no review.
* closes #4064.Adriaan Moors2010-12-093-2/+11
|
* Minor changes.Aleksandar Pokopec2010-12-093-4/+8
| | | | | No review.
* Made parallel collections serializable.Aleksandar Pokopec2010-12-0925-34/+189
| | | | | No review.
* Array combiners implementation changed from arr...Aleksandar Pokopec2010-12-0926-244/+567
| | | | | | | | | Array combiners implementation changed from array buffers to doubling unrolled buffers to avoid excessive copying. Still evaluating the benefits of this. No review.
* Fixed parallel ranges to use the same range log...Aleksandar Pokopec2010-12-0910-51/+97
| | | | | | | | | | Fixed parallel ranges to use the same range logic under the hood, and not introduce code duplication. Slight fix in Tasks. No review.
* Fixing jvm 1.5 support for parallel collections.Aleksandar Pokopec2010-12-0927-128/+371
| | | | | | | | | | | | | | | | | | Special cased with thread pool executor scheduling. Fixed an ugly concurrency bug where futures returned by a thread pool executor didn't remove the task from the queue when cancel was called. Note to self and others: don't cancel futures returned by thread pool executors, it might lead to unexpected behaviour. Modified the executor to add new threads if all the active threads are syncing, in order to avoid deadlocks. Fixed a hidden bug in AdaptiveWorkStealingTasks, where correct behaviour depended on the execution order of the tasks. This didn't fail before with ForkJoinTasks, since there the execution order is well-defined. Scalachecked 1.5 & 1.6 support. No review.
* minor code updates (detach plugin)michelou2010-12-0814-174/+50
|
* again: relax access boundry check for overridin...Lukas Rytz2010-12-0811-21/+26
| | | | | | again: relax access boundry check for overriding protected java members. review by eugenevigdorchik.
* I learned from #4067 that we don't have any kin...Paul Phillips2010-12-083-0/+52
| | | | | | | | | | | | | | | | | | | | I learned from #4067 that we don't have any kind of signature validation yet. I could swear someone did that. Anyway, I did. If you give option -Yverify-generics it will yell at you for any that are invalid. For instance, the one in the ticket. % scalac -Yverify-generics -d /tmp src/library/scala/collection/immutable/List.scala [BAD!] method orElse in scala.collection.immutable.List <A1:IB1:Ljava/lang/Object;>(Lscala/PartialFunction<TA1;TB1;>;)Lscala/Par tialFunction<TA1;TB1;>; [BAD!] method orElse in scala.collection.immutable.List <A1:IB1:Ljava/lang/Object;>(Lscala/PartialFunction<TA1;TB1;>;)Lscala/Par tialFunction<TA1;TB1;>; Of course you still have to figure out what is wrong and why. Review by moors, dragos.
* An unfortunate missing character in r22946 turn...Paul Phillips2010-12-081-1/+1
| | | | | | | An unfortunate missing character in r22946 turned listbuffer into an append-only machine. I was the reviewer on that commit and I am sad that I missed it. Closes #4066, no review.
* The lords of attrition informed me that "isType...Paul Phillips2010-12-081-11/+11
| | | | | | | The lords of attrition informed me that "isTypeApply" is passed all over the parser but nobody ever eats the hot potato. I put the potato on ice. No review.
* Test case closes #3642, no review.Paul Phillips2010-12-072-0/+10
|
* Made it possible to give :cp an argument with s...Paul Phillips2010-12-071-2/+5
| | | | | | Made it possible to give :cp an argument with spaces. Closes #3819, no review.
* Extricated Addable and AddingBuilder from the f...Paul Phillips2010-12-0712-38/+38
| | | | | | | Extricated Addable and AddingBuilder from the few classes still utilizing them and deprecated both. Closes #4059. Already endorsed by odersky, so no review.
* Reverts previous commit: needs a new starr..Lukas Rytz2010-12-075-16/+5
| | | | | This reverts commit 99652fe553a1a5b0c551950e8178e867943a088f.
* follow up on fix #3946.Lukas Rytz2010-12-075-5/+16
|
* Added uniqueness annotations. Review by rytz.Philipp Haller2010-12-077-9/+98
|
* Parse the contents of the package right away in...Eugene Vigdorchik2010-12-073-10/+14
| | | | | | Parse the contents of the package right away in the presentation compiler. No review.
* Making some unpickler logic more straightforward.Paul Phillips2010-12-072-122/+140
|
* Looks like I'd gotten a little quote-happy there.Paul Phillips2010-12-071-2/+2
|
* Oops, lost some java options for a moment there.Paul Phillips2010-12-071-1/+2
|
* Tackling long standing issues with startup.Paul Phillips2010-12-075-65/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | anyone can offer any reason why it's not (long past) time to do this I can back the truck up. (But I will have a list of bourne shell scripts for you to write.) With this commit: 1) -J options are now passed to the underlying JVM, along with -D options which already were. scala -Dfoo=bar and scala -J-Dfoo=bar are identical (but -J can pass arbitrary arguments to the jvm: -J-verbose, -J-Xmx4G, etc.) 2) Eliminated DefinesSetting. It was ill-conceived because setting system properties must be done at JVM start to guarantee they will be seen where appropriate: by the time scala is involved it's too late. The starter script takes care of routing -D to the jvm, and no longer sends them along to scala as well. Since we have a new system package you can read any property in system.props, like this: % scala -Dp1="hi" -Dp2="bye" -e 'println(system.props filterKeys (_.length == 2))' Map(p2 -> bye, p1 -> hi) 3) After measuring that startup is a full second faster by putting the scala jars on the bootclasspath, I gave us a standard way to take advantage of this. It's not done by default, although we should seriously consider it (I'm familiar with the issues that have arisen in the past.) Reclaim your life, one startup second at a time. The flag is --usebootcp, as below: // Here's a way (in bash 4) to compare repl startup times each way while true ; do time pscala -i <(echo "system exit 0") ; done |& grep real while true ; do time pscala --usebootcp -i <(echo "system exit 0") ; done |& grep real Once again I find myself unable to nominate any plausible reviewer (if there were anyone interested in this stuff, they'd be doing it instead of me) so no review.
* Hardened sigint handler against ctrl-C in the f...Paul Phillips2010-12-071-1/+3
| | | | | | Hardened sigint handler against ctrl-C in the first few seconds of startup. No review.
* Tired of trying to debug things like classpaths...Paul Phillips2010-12-075-21/+36
| | | | | | | | | | | | Tired of trying to debug things like classpaths only to see output like the following: [search path for class files: /System/classes/you/already/know:/Importan...] I added a "do not truncate" mechanism to reporter and put it to use. Now scala -verbose will let you in on those classpath secrets. No review.
* Don't transform patterns during superaccessors:...Paul Phillips2010-12-063-0/+22
| | | | | | Don't transform patterns during superaccessors: the matcher can't deal with funny trees. Closes #4062, review by dragos.
* The ability to interrupt repl execution without...Paul Phillips2010-12-065-38/+170
| | | | | | | | | | | The ability to interrupt repl execution without terminating the JVM has snowballed a bit, but it's so handy that it's worth it. This commit further encapsulates individual lines of execution such that they can be managed after the signal comes in, and if necessary, forcibly terminated. I'm straying into territory where I could use a really Thread-knowledgeable reviewer: any volunteers? In the meantime, no review.
* Moved ClassfileAnnotation/StaticAnnotation/Anno...Paul Phillips2010-12-0645-78/+73
| | | | | | | Moved ClassfileAnnotation/StaticAnnotation/Annotation/TypeConstraint into scala.annotation and enabled the deprecated type aliases in scala.* to point there. Also enclosed is a new starr to bootstrap. No review.
* Burned by a last minute text change.Paul Phillips2010-12-051-1/+1
|
* Cleaned up and brought up to date the help text...Paul Phillips2010-12-0514-158/+218
| | | | | | | | Cleaned up and brought up to date the help text for -X and -Y options. Made some enhancements to PhasesSetting, which are documented if you run scalac -X or -Y. (Try it!) Disabled some dead settings and renamed others to reflect their current purpose. No review.
* Mopping up after the deprecation of exit and er...Paul Phillips2010-12-0599-346/+336
| | | | | | | | | | | | | | Mopping up after the deprecation of exit and error. It is decidedly non-trivial (at least for the IDE-impaired) to be completely sure of which error function was being called when there were about twenty with the same signature in trunk and they are being variously inherited, imported, shadowed, etc. So although I was careful, the possibility exists that something is now calling a different "error" function than before. Caveat programmer. (And let's all make it our policy not to name anything "error" or "exit" from here on out....) No review.
* Remedied a return type oops in the system package.Paul Phillips2010-12-043-6/+5
| | | | | | Deprecated the rest of the elements with comments saying "deprecate me." No review.
* Introducing scala.system, the product of a whir...Paul Phillips2010-12-0412-44/+179
| | | | | | | | | | Introducing scala.system, the product of a whirlwind couple of hours. More useful stuff than you can shake three sticks at. See the scala.system package object. It's even documented. And since it has methods error and exit, proceeded to deprecate the ones in Predef. No review.
* A foot in the door with Parsers/JavaParsers and...Paul Phillips2010-12-049-100/+125
| | | | | | | | | A foot in the door with Parsers/JavaParsers and Scanners/JavaScanners. Recently clued in as to how this situation came to be, I now know there's no reason not to start containing the damage. Also more work on names: made a general method for transforming Trees into type-named Trees and put it to work. No review.
* Some refactoring of genjvm trying to separate o...Paul Phillips2010-12-043-195/+218
| | | | | | | Some refactoring of genjvm trying to separate out some of the relatively immutable logic from the parts more in flux, and slightly ease the process of keeping separable things separate. Review by dragos.
* Segregated all the android related code in a ne...Paul Phillips2010-12-043-39/+62
| | | | | | Segregated all the android related code in a new file and integrated it with genjvm. Review by michelou.
* Fixes an inconsistency in primitive hashcode ca...Paul Phillips2010-12-041-1/+3
| | | | | | | | Fixes an inconsistency in primitive hashcode calculation. I did have a test trying to spot exactly this situation, which says something about either me or about testing or about me and testing. Closes #3957, no review.
* A selection of collections additions from the l...Paul Phillips2010-12-0410-76/+156
| | | | | | | | | | | | | | | | | | | | | | | | A selection of collections additions from the lower end of the controversy scale. // TraversableOnce def collectFirst[B](pf: PartialFunction[A, B]): Option[B] def maxBy[B](f: A => B)(implicit cmp: Ordering[B]): A def minBy[B](f: A => B)(implicit cmp: Ordering[B]): A // Iterator def span(p: A => Boolean): (Iterator[A], Iterator[A]) // Traversable def inits: Iterator[Repr] def tails: Iterator[Repr] def unzip3[A1, A2, A3](implicit asTriple: A => (A1, A2, A3)): (CC[A1], CC[A2], CC[A3]) // Sequences def permutations: Iterator[Repr] Review by odersky.
* Starting the mopping up now that names have som...Paul Phillips2010-12-0312-164/+166
| | | | | | | | | | | | | | Starting the mopping up now that names have some more sense of their place in the universe. Cleaned up some heavy multi-boolean logic. Added more documentation on the relationships between entities in Symbols and some other compiler things which often blur together. Fun fact: the incorrect usage of nme.ScalaObject in Contexts which I reported when first broaching the namespace subject became a compile time error during the writing of this patch, because there is no longer any such thing as nme.ScalaObject. It's a little bit like magic. No review.
* close #4036, fix #2489.Lukas Rytz2010-12-033-5/+34
|
* close #3951. review by dubochet.Lukas Rytz2010-12-034-3/+52
|
* close #3946.Lukas Rytz2010-12-037-3/+27
|
* Added test for #4052Hubert Plociniczak2010-12-031-0/+5
|
* Revert one-liner. No review.Eugene Vigdorchik2010-12-031-1/+1
|
* Recovered ++: from the dustbin and dropped it o...Paul Phillips2010-12-032-25/+32
| | | | | | | | Recovered ++: from the dustbin and dropped it on Traversable. Removed a very unfortunate deprecated method from BufferLike which it was not authorized to deprecate because it's a Seq. Closes #3471, review by prokopec.
* Some html stripping in explicitouter because I ...Paul Phillips2010-12-031-30/+37
| | | | | | Some html stripping in explicitouter because I stubbed my toe on some angle brackets. No review.
* Eliminated SYNTHETICMETH flag.Paul Phillips2010-12-0311-104/+129
| | | | | | | meaningful name inside the pattern matcher. Created a tracker for TRANS_FLAG which could enforce the transience it promises us, but didn't turn it on. No review.
* Parameterizes TraversableFactory.range so it ca...Paul Phillips2010-12-034-19/+19
| | | | | | Parameterizes TraversableFactory.range so it can be used with any integral type. Closes #3542, no review.
* immutable.Map keySet returns immutable.Set.Paul Phillips2010-12-035-6/+10
|