summaryrefslogtreecommitdiff
path: root/src/library
Commit message (Collapse)AuthorAgeFilesLines
* Fix binary breakage.Paul Phillips2011-11-081-8/+16
| | | | | | | | | Some philistine who thinks "binary compatibility" is a computer dating site changed the names of public vals in Predef classes. I restored and then deprecated them. REVIEW BY MOORS.
* Third collections commit from Todd Vierling.Paul Phillips2011-11-0713-27/+37
| | | | | | | Misc cleanups associated with the previous commits: limiting overly expanded types, fixing externally visible types for scaladoc, utilizing abstract collection classes where possible, etc.
* Next collections commit from Todd Vierling.Paul Phillips2011-11-078-17/+23
| | | | | Changes to library code outside the collections.
* Dropped about 1.5 Mb off scala-library.jar.Paul Phillips2011-11-0774-189/+301
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit and the two subsequent commits were contributed by: Todd Vierling <tv@duh.org>. I combined some commits and mangled his commit messages, but all the credit is his. This pursues the same approach to classfile reduction seen in r19989 when AbstractFunctionN was introduced, but applies it to the collections. Thanks to -Xlint it's easy to verify that the private types don't escape. Design considerations as articulated by Todd: * Don't necessarily create concrete types for _everything_. Where a subtrait only provides a few additional methods, don't bother; instead, use the supertrait's concrete class and retain the "with". For example, "extends AbstractSeq[A] with LinearSeq[A]". * Examine all classes with .class file size greater than 10k. Named classes and class names ending in $$anon$<num> are candidates for analysis. * If a return type is currently inferred where an anon subclass would be returned, make the return type explicit. Don't allow the library-private abstract classes to leak into the public namespace [and scaladoc].
* Revert "Fix for Enumeration."Paul Phillips2011-11-041-1/+1
| | | | | Oops, didn't mean to commit that one. Opens SI-5147. No review.
* Minor change to get closer to building under -X...Paul Phillips2011-11-041-3/+2
| | | | | Minor change to get closer to building under -Xexperimental.
* Fix for Enumeration.Paul Phillips2011-11-041-1/+1
| | | | | Closes SI-5147.
* Fix doc comment. no reviewHubert Plociniczak2011-10-311-7/+7
|
* Fix for NumericRange boundary condition.Paul Phillips2011-10-311-1/+1
| | | | | Contributed by Thomas Switzer. Closes SI-4985, no review.
* Fixes NPE using iterator with an XML attribute ...Paul Phillips2011-10-313-4/+12
| | | | | | | | | Fixes NPE using iterator with an XML attribute being null or None ) (SI-5052 Also fixes incorrect size method (SI-5115 ) Contributed by Jordi Salvat i Alabart. Closes SI-5052, SI-5115, no review.
* Test case closes SI-4875.Paul Phillips2011-10-291-0/+1
| | | | | No review.
* Fix ArrayStack.growArray at boundary.Paul Phillips2011-10-291-1/+1
| | | | | | Doubling a 0-size array is still 0, that's not growing. Closes SI-4963, no review.
* Changed typo on doc of scala.collection.Seq.Martin Odersky2011-10-241-1/+1
|
* Fix for combinator regression.Paul Phillips2011-10-231-0/+1
| | | | | | Propagate Error in repN. I have no time for a test case, I will gladly take a contribution. References SI-1100, Closes SI-5108, No review.
* virtpatmat, hidden behind -YvirtpatmatAdriaan Moors2011-10-201-0/+32
| | | | | | | | | at least one imminent TODO: undo hardwired generation of if/then/else, and decide based on type whether to call flatMap/orElse or inline those methods from Option review by extempore
* misc fixes while working on virtualizing patter...Adriaan Moors2011-10-201-1/+1
| | | | | | | | misc fixes while working on virtualizing pattern matching not directly related to pattern matching, though review by extempore
* no need to add an x field to everythingAdriaan Moors2011-10-201-7/+13
| | | | | | | | | | | however, it must be possible to inline Ensuring, ArrowAssoc methods renamed the public val x to something a little less intrusive fixed check file to reflect better error message (see! it wasn't that uncommon for people to write `foo.x` -- NEWS AT ELEVEN) no review
* AbstractPartialFunction.Paul Phillips2011-10-194-6/+17
| | | | | | | | | | | | | | | | | | | | | | | Contributed by Todd Vierling with minor mods by extempore. This is an obvious extension of AbstractFunctionN which I had some issue making work at the time. Sounds kind of pitiful given that the compiler patch is about two lines, but let's all agree to believe it was a different world then. This example program is impacted as follows: class A { def f: PartialFunction[Any, Int] = { case x: String => 1 } def g: PartialFunction[Any, Int] = f orElse { case x: List[_] => 2 } def h: PartialFunction[Any, Int] = g orElse { case x: Set[_] => 3 } } Before: 34943 bytes of bytecode After: 4217 bytes of bytecode A mere 88% reduction in size. "'Tis but a trifle!" Closes SI-5096, SI-5097.
* Shutdown hook modification.Paul Phillips2011-10-181-1/+0
| | | | | | | | Don't mark shutdown hooks as daemon threads, although it does not seem to make any difference. Instead have the code which waits for all threads to be complete be smarted about which codes to monitor. No review.
* Overhaul of Namers.Paul Phillips2011-10-171-2/+16
| | | | | | | | | | | | | I can't go bear hunting without a clean gun. Basically I iterated over Namers until I could understand it. I added a variety of documentation there and elsewhere. There shouldn't be anything particularly behavioral changing in this commit, but I did delete some years-old code (having huge commented out blocks of way-out-of-date code is not a boon to understanding) and the debugging output will look different. Better, one can hope. How about, review by moors.
* Big improvements to scala.Either.Heather Miller2011-10-161-14/+287
|
* Throw different exception.Paul Phillips2011-10-111-2/+2
| | | | | Booleans aren't numbers. Closes SI-5032, no review.
* Moved meta annotations to annotation.meta, plus.Paul Phillips2011-10-1014-36/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | It took me a long time to find a trivial error while adjusting the annotation packages, so I spent even longer trying to make sure next time it would take me less time. It's the usual business of eliminating duplication and unnecessary indirection. Behavioral note: there was no consistency or deducible reasoning regarding when annotation checks would be performed against the typeSymbol directly (thus excluding annotation subclasses) or when they would do a subclass check. I saw no reason it shouldn't always be a subclass check; if the annotation isn't supposed to be subclassed it should be final, and if it is, then the subclasses had probably better not stop exhibiting the behavior of the base class. Example: this now draws deprecated warnings, but did not before. class bippy extends deprecated("hi mom", "burma shave") @bippy def f = 5 (The deprecation message isn't printed so we're not there yet, but closer.) There is some new internal documentation on annotations, sadly lacking in my famous ascii diagrams, and some new conveniences. Review by rytz.
* Big improvements to the documentation of collec...Heather Miller2011-10-092-15/+171
| | | | | | | Big improvements to the documentation of collection.Iterator, courtesy of Daniel Sobral. Also includes a small correction to the documentation of sys.process.Process. No review.
* Added ??? and NotImplementedError because this ...Martin Odersky2011-10-072-0/+24
| | | | | | | Added ??? and NotImplementedError because this seemed to be the opinion of the majority on the "Adding ??? to Predef?" thread on scala-internals. No review.
* Consistent hashCode for Symbol.Paul Phillips2011-10-051-2/+2
| | | | | | Use the string's hashcode so it is stable across jvm restarts. Closes SI-5056, no review.
* Restores XML entity fix.Paul Phillips2011-10-041-4/+4
| | | | | | Did something eat some whitespace? I don't know. This is almost the same commit as r25783, but with different whitespace. No review.
* Revert "Fix for XML entity bug."Paul Phillips2011-10-041-4/+4
| | | | | | Until I have a second to figure out how a checkfile whose contents are *recorded from running the test case* can fail to match. No review.
* Fix for XML entity bug.Paul Phillips2011-10-041-4/+4
| | | | | | | | | | | | Hard to believe a bug like this can exist this long. Cay Horstman showed me. // Hey, where's my eacute? scala> <city name="San Jos&eacute;"/>.attributes foreach println name="San Jos&;" No review.
* Removinf reinstantiated Flags because it's not ...Martin Odersky2011-10-031-265/+0
| | | | | | Removinf reinstantiated Flags because it's not needed for IDE building, after all.
* Reinstatiated Flags because its removal caused ...Martin Odersky2011-10-031-0/+265
| | | | | Reinstatiated Flags because its removal caused build failures.
* Shuffling classes around.Paul Phillips2011-10-0120-93/+136
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Old Man Reflection is coming home and he's not going to like finding out a bunch of beans have moved into his reflecting room. We had better evict those guys before he blows his stack. scala.reflect.*Bean* --> scala.beans.* scala.beans, that's kind of a fancy package name for some beans. I figure it's time to start fishing or cutting bait on this kind of thing. I don't even know what beans are, but if we're going to have them in the mainline, the least surprising place to find them is scala.beans. If we don't want to put them in scala.beans for whatever reason, then I say they don't belong in trunk at all. Bonus round: scala.annotation.target --> scala.beans.meta I don't know if there is any more unfortunate name for a package possible than "target". Maybe ".svn" or ".git" if you could have dots in package names. Package CVS wouldn't hit too hard these days. Package lib_managed? I'll try to come up with something. In any case this golden opportunity could not be squandered. There is a new starr included, because GenJVM contains all kinds of shooting-from-the-hip Bean-related name hardcoding. (Yes, still. I ran out of stones. So a few birds escape with their lives... this time.)
* Cleanups involving name encoding and decoding.Martin Odersky2011-09-301-0/+10
|
* Elininated previously deprecated package reflec...Martin Odersky2011-09-3015-3189/+0
| | | | | Elininated previously deprecated package reflect.generic
* Removed special comments on Martin's requestmichelou2011-09-294-12/+0
|
* BigDecimal adjustments.Paul Phillips2011-09-281-7/+7
| | | | | | More sensible use of MathContext, plus some BigDecimal tests. Contributed by Erik Osheim. Closes SI-4981, no review.
* Fixes #4895.Aleksandar Pokopec2011-09-282-2/+8
| | | | | | | The size map size computation for parallel hash sets was invalid. No review.
* Fixes #4894.Aleksandar Pokopec2011-09-282-5/+10
| | | | | | | Adds Growable and Shrinkable to parallel maps and sets. No review.
* updated man pages, fixed svn props, did some cl...michelou2011-09-253-0/+0
| | | | | updated man pages, fixed svn props, did some cleanup
* Back to square one.Hubert Plociniczak2011-09-231-125/+38
| | | | | | | | | | | | | | Current design of error trees complicates the design of reflection library, and introduces sometimes unnecessary boilerplate and since I do not want to stall that work I am reverting all the changes related to error trees. A different design is currently under consideration but work will be done on separate branch on github. Revisions that got reverted: r25705, r25704 (partially), r25673, r25669, r25649, r25644, r25621, r25620, r25619 Review by odersky and extempore.
* More performant encoding of tree errors.Paul Phillips2011-09-211-54/+33
| | | | | | | | | | Stole two bits from Tree#id to record whether a tree contains an error tree and whether its subtrees have been checked. This leaves us with only a single gigatree of headroom for replaying trees in the presentation compiler. Alert the media. Review by odersky.
* Started work on compiler toolbox that can compi...Martin Odersky2011-09-211-2/+2
| | | | | | Started work on compiler toolbox that can compile reflect trees at runtime.
* fixed svn props and scaladoc tags, did some cle...michelou2011-09-2014-99/+55
| | | | | fixed svn props and scaladoc tags, did some cleanup
* Changes to Liftcode to use new reflection seman...Martin Odersky2011-09-201-1/+3
| | | | | | Changes to Liftcode to use new reflection semantics, where a compiler uses type checking.
* Rooting out mismatched zips.Paul Phillips2011-09-191-0/+14
| | | | | | | | | | I added local logging to zip and zipped and listened for who was dropping things on the floor. Everything in this commit stems from that. Sometimes the fix was uncertain and I sprinkled some logging. If you've been hanging back with lots of internals knowledge waiting for the right commit to review, this would be a good one. But since knowledgeable people are hard to find, I'll go with review by moors.
* Deprecation and convention adherence patrol.Paul Phillips2011-09-1924-82/+42
| | | | | | | Iterators should have def next(), not def next. Clearing a mutable structure should be done with clear(), not clear. And etc. No review.
* fixed svn props, did some cleanupmichelou2011-09-192-29/+31
|
* ListBuffer.size should be O(1).Paul Phillips2011-09-191-0/+3
| | | | | | Not O(n) like it was. Here's another good candidate for some mythical performance regression tests. Closes SI-4933, no review.
* Constants in io.Codec become Codecs, not charsets.Paul Phillips2011-09-191-4/+4
| | | | | | This seems less likely to surprise people attempting to use them as implicits. No review.
* Small changes to the API documentation of the A...Heather Miller2011-09-189-11/+12
| | | | | | Small changes to the API documentation of the AnyVal types. Contributed by Michael Allman during the September doc spree. No review.